Nom du service
iptables
Description
Les iptables L'utilitaire contrôle le code de filtrage de paquets réseau dans le noyau Linux. Si vous devez configurer des pare-feux et/ou un masquage IP, vous devez installer cet outil. Les /sbin/iptables application est le programme de ligne de commande de l'espace utilisateur utilisé pour configurer les règles de filtrage de paquets Linux IPv4. Étant donné que la traduction d'adresses réseau (NAT) est également configurée à partir des règles de filtrage de paquets, /sbin/iptables est également utilisé pour cela. Il existe un outil similaire pour les réseaux IPv6 alias iptables-ipv6 .
La fonctionnalité iptables est utilisée pour configurer, maintenir et inspecter les tables de règles de filtrage de paquets IP dans le noyau Linux. Plusieurs tables différentes peuvent être définies. Chaque table contient un certain nombre de chaînes intégrées et peut également contenir des chaînes définies par l'utilisateur.
Chaque chaîne est une liste de règles pouvant correspondre à un ensemble de paquets. Chaque règle spécifie quoi faire avec un paquet qui correspond. C'est ce qu'on appelle une cible , qui peut être un saut vers une chaîne définie par l'utilisateur dans la même table.
Nom du package RPM
iptables
Contrôle des services
Exemples de démarrage et d'arrêt
# service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables stop Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ]
Utilisation
# service iptables Usage: /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
# service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables stop Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ]
# service iptables restart Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables condrestart Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
# service iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 11 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
# service iptables panic Flushing firewall rules: [ OK ] Setting chains to policy DROP: filter [ OK ]
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Démon
/sbin/iptables
Modules
nfnetlink ip_conntrack ip_conntrack_netbios_ns
Configuration
Fichier de configuration
/etc/sysconfig/iptables - iptables rules /etc/sysconfig/iptables-config - iptables configuration
Exemple de fichier de configuration
# cat /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Wed Feb 3 12:54:50 2016 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [254737803:197953409382] -A INPUT -p tcp -m tcp --dport 162 -j ACCEPT -A INPUT -p udp -m udp --dport 162 -j ACCEPT -A INPUT -p tcp -m tcp --dport 14545 -j ACCEPT -A INPUT -p tcp -m tcp --dport 14161 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5634 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT # Completed on Wed Feb 3 12:54:50 2016
Exemple de configuration de NAT avec iptables
1. Supprimer les règles existantes de chaque table iptables
# iptables -F # iptables -t nat -F # iptables -t mangle -F
2. Activer NAT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth1 -j ACCEPT
3. Enregistrer les règles iptables
# service iptables save
Remarque :Il est nécessaire d'activer le transfert IP avant de configurer NAT.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Exemple d'ouverture d'un port spécifié avec iptables
1. Pour autoriser le trafic entrant sur le port SSH par défaut (22), vous pouvez demander à iptables d'autoriser l'entrée de tout le trafic TCP sur ce port
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
2. Pour autoriser tout le trafic Web entrant, vous pouvez demander à iptables d'autoriser l'entrée de tout le trafic TCP sur ce port
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
3. Enregistrer les règles iptables
# service iptables save