Název služby
iptables
Popis
iptables obslužný program řídí kód filtrování síťových paketů v jádře Linuxu. Pokud potřebujete nastavit firewally a/nebo maskování IP, měli byste si nainstalovat tento nástroj. Soubor /sbin/iptables application je program příkazového řádku uživatelského prostoru používaný ke konfiguraci pravidel filtrování paketů IPv4 v systému Linux. Protože z pravidel paketového filtru se také konfiguruje překlad síťových adres (NAT), používá se k tomu také /sbin/iptables. Pro sítě IPv6 existuje podobný nástroj alias iptables-ipv6 .
Funkce iptables se používá k nastavení, údržbě a kontrole tabulek pravidel filtrování paketů IP v jádře Linuxu. Lze definovat několik různých tabulek. Každá tabulka obsahuje několik vestavěných řetězců a může obsahovat také řetězce definované uživatelem.
Každý řetěz je seznam pravidel, která mohou odpovídat sadě paketů. Každé pravidlo určuje, co dělat s paketem, který se shoduje. Tomu se říká cíl , což může být skok do uživatelem definovaného řetězce ve stejné tabulce.
Název balíčku RPM
iptables
Řízení služeb
Příklady spuštění a zastavení
# 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 ]
Použití
# 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
Moduly
nfnetlink ip_conntrack ip_conntrack_netbios_ns
Konfigurace
Konfigurační soubor
/etc/sysconfig/iptables - iptables rules /etc/sysconfig/iptables-config - iptables configuration
Příklad konfiguračního souboru
# 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
Příklad, jak nastavit NAT pomocí iptables
1. Odstraňte existující pravidla z každé tabulky iptables
# iptables -F # iptables -t nat -F # iptables -t mangle -F
2. Povolit NAT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth1 -j ACCEPT
3. Uložit pravidla iptables
# service iptables save
Poznámka :Před nastavením NAT je nutné povolit přesměrování IP.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Příklad, jak otevřít určený port pomocí iptables
1. Chcete-li povolit příchozí provoz na výchozím portu SSH (22), můžete sdělit iptables, aby povolili vstup veškerého provozu TCP na tomto portu
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
2. Chcete-li povolit veškerý příchozí webový provoz, můžete říci iptables, aby povolilo veškerému TCP provozu na daném portu vstup
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
3. Uložte pravidla iptables
# service iptables save