21. Любой сетевой обмен (даже команда ping 127.0.0.1) будет запрещён:
22. desktop ~ # ping 127.0.0.123. PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.24. ping: sendmsg: Operation not permittedping: sendmsg: Operation not permitted
25. Разрешим вход и выход всем пакетам, связанным с локальным интерфейсом (lo) с помощью команд: iptables -A INPUT -i lo -j ACCEPT и iptables -A OUTPUT -o lo -j ACCEPT.
26. desktop ~ # iptables -A INPUT -i lo -j ACCEPT27. desktop ~ # iptables -A OUTPUT -o lo -j ACCEPT28. desktop ~ # ping 127.0.0.129. PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.30. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.056 ms64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.043 ms
31. Разрешим вход и выход всем пакетам, относящимся к протоколу ICMP: iptables -A INPUT -p icmp -j ACCEPT и iptables -A OUTPUT -p icmp -j ACCEPT.
32. desktop ~ # iptables -A INPUT -p icmp -j ACCEPTdesktop ~ # iptables -A OUTPUT -p icmp -j ACCEPT
33. Чтобы пропускать пакеты, относящиеся ко всем установленным соединениям, добавим два правила: iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT и iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
34. desktop ~ # iptables -A INPUT -m state --state ESTABLISHED -j ACCEPTdesktop ~ # iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
35. Теперь осталось только разрешить входящие и исходящие соединения на определённые порты. Например, для исходящего доступа по протоколу HTTP выполним iptables -A OUTPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT:
desktop ~ # iptables -A OUTPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
36. В завершение можно очистить все заданные правила с помощью iptables -F: