Dienstname
iptables
Beschreibung
Die iptables Dienstprogramm steuert den Filtercode für Netzwerkpakete im Linux-Kernel. Wenn Sie Firewalls und/oder IP-Masquerading einrichten müssen, sollten Sie dieses Tool installieren. Die /sbin/iptables application ist das Userspace-Befehlszeilenprogramm, das zum Konfigurieren der Linux-IPv4-Paketfilterregeln verwendet wird. Da aus den Paketfilterregeln auch Network Address Translation (NAT) konfiguriert wird, wird auch dafür /sbin/iptables verwendet. Es gibt ein ähnliches Tool für IPv6-Netzwerke namens iptables-ipv6 .
Die Funktion iptables wird verwendet, um die Tabellen der IP-Paketfilterregeln im Linux-Kernel einzurichten, zu verwalten und zu überprüfen. Es können mehrere verschiedene Tabellen definiert werden. Jede Tabelle enthält eine Reihe eingebauter Ketten und kann auch benutzerdefinierte Ketten enthalten.
Jede Kette ist eine Liste von Regeln, die mit einem Satz von Paketen übereinstimmen können. Jede Regel gibt an, was mit einem übereinstimmenden Paket zu tun ist. Dies wird als Ziel bezeichnet , was ein Sprung zu einer benutzerdefinierten Kette in derselben Tabelle sein kann.
RPM-Paketname
iptables
Dienststeuerung
Start- und Stoppbeispiele
# 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 ]
Nutzung
# 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 ]
Daemon
/sbin/iptables
Module
nfnetlink ip_conntrack ip_conntrack_netbios_ns
Konfiguration
Konfigurationsdatei
/etc/sysconfig/iptables - iptables rules /etc/sysconfig/iptables-config - iptables configuration
Beispielkonfigurationsdatei
# 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
Beispiel für die Einrichtung von NAT mit iptables
1. Vorhandene Regeln aus allen iptables-Tabellen löschen
# iptables -F # iptables -t nat -F # iptables -t mangle -F
2. NAT aktivieren
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth1 -j ACCEPT
3. iptables-Regeln speichern
# service iptables save
Hinweis :Vor der Einrichtung von NAT muss die IP-Weiterleitung aktiviert werden.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Beispiel zum Öffnen eines bestimmten Ports mit iptables
1. Um eingehenden Datenverkehr auf dem Standard-SSH-Port (22) zuzulassen, können Sie iptables anweisen, den gesamten TCP-Datenverkehr an diesem Port zuzulassen
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
2. Um den gesamten eingehenden Webverkehr zuzulassen, können Sie iptables anweisen, den gesamten TCP-Verkehr an diesem Port zuzulassen
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
3. Iptables-Regeln speichern
# service iptables save