Firewall Linux classique basé netfilter, replacé progressivement par nftables.
iptables est le firewall Linux classique basé sur le framework netfilter du kernel. Encore largement déployé mais officiellement remplacé par nftables depuis 2014 (kernel 3.13). RHEL 8/Ubuntu 22.04+ utilisent nftables backend avec compatibility iptables-nft.
Structure : (1) **Tables** : filter (default, accept/drop), nat (NAT/PAT), mangle (modify packets), raw (connection tracking bypass), security (SELinux/MAC) ; (2) **Chains** : INPUT (incoming local), OUTPUT (outgoing local), FORWARD (routed through), PREROUTING (before routing decision — DNAT), POSTROUTING (after routing — SNAT) ; (3) **Rules** : match (source/dest IP/port, interface, state) + target (ACCEPT, DROP, REJECT, LOG, MASQUERADE, DNAT, SNAT, RETURN, JUMP custom chain).
Exemples : (1) `iptables -L -n -v` — list rules ; (2) `iptables -A INPUT -p tcp --dport 22 -j ACCEPT` — autoriser SSH ; (3) `iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT` — stateful ; (4) `iptables -A INPUT -j DROP` — default drop ; (5) `iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE` — NAT outgoing ; (6) `iptables-save > rules.txt` ; (7) `iptables-restore < rules.txt`.
Limitations : (1) syntax verbose et complex ; (2) IPv4/IPv6 separate tables (iptables vs ip6tables) ; (3) performance limits sur rules huge ; (4) modification atomicity issues ; (5) no native set operations.
Migration : iptables → nftables (`nft`) — more efficient, unified IPv4/v6, sets natifs, JSON output. Wrappers `firewalld` (RHEL/Fedora) et `ufw` (Ubuntu) abstractent au-dessus. Modern containerisation : eBPF firewalls (Cilium, Calico eBPF dataplane). Compétences RHCSA, CKS, Security+.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →