Nome servizio
iptables
Descrizione
Gli iptables utility controlla il codice di filtraggio dei pacchetti di rete nel kernel Linux. Se è necessario configurare firewall e/o mascheramento IP, è necessario installare questo strumento. Il /sbin/iptables application è il programma della riga di comando dello spazio utente utilizzato per configurare le regole di filtraggio dei pacchetti IPv4 di Linux. Poiché anche Network Address Translation (NAT) è configurato dalle regole del filtro dei pacchetti, anche per questo viene utilizzato /sbin/iptables. Esiste uno strumento simile per le reti IPv6, noto anche come iptables-ipv6 .
La funzione iptables viene utilizzata per impostare, mantenere e ispezionare le tabelle delle regole del filtro dei pacchetti IP nel kernel Linux. Possono essere definite diverse tabelle. Ogni tabella contiene un numero di catene integrate e può anche contenere catene definite dall'utente.
Ogni catena è un elenco di regole che possono corrispondere a un insieme di pacchetti. Ogni regola specifica cosa fare con un pacchetto che corrisponde. Questo è chiamato obiettivo , che potrebbe essere un salto a una catena definita dall'utente nella stessa tabella.
Nome pacchetto RPM
iptables
Controllo del servizio
Avvia e interrompi esempi
# 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 ]
Utilizzo
# 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 ]
Demone
/sbin/iptables
Moduli
nfnetlink ip_conntrack ip_conntrack_netbios_ns
Configurazione
File di configurazione
/etc/sysconfig/iptables - iptables rules /etc/sysconfig/iptables-config - iptables configuration
Esempio di file di configurazione
# 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
Esempio di come configurare NAT con iptables
1. Elimina le regole esistenti da ogni tabella iptables
# iptables -F # iptables -t nat -F # iptables -t mangle -F
2. Abilita NAT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth1 -j ACCEPT
3. Salva le regole di iptables
# service iptables save
Nota :è necessario abilitare l'inoltro IP prima di configurare NAT.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Esempio di come aprire la porta specificata con iptables
1. Per consentire il traffico in entrata sulla porta SSH predefinita (22), puoi dire a iptables di consentire l'ingresso di tutto il traffico TCP su quella porta
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
2. Per consentire tutto il traffico web in entrata, puoi dire a iptables di consentire l'ingresso di tutto il traffico TCP su quella porta
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
3. Salva le regole di iptables
# service iptables save