Info: Router uváděný v příkladech má rozhraní eth0 (vnější) = 195.XXX.XXX.XXX, eth1 (vnitřní) = 192.168.100.1
Ping limit
Omezení počtu pingů za minutu (maximální "průměrná" rychlost = 10 spojení za minutu, limit = 30 paketů)<[p>
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 10/min --limit-burst 30 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
Povolení DHCP pro LAN
iptables -A INPUT -i eth1 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT
Logování paketů
Logují se zahozené pakety na rozhraní eth1 (5 spojení za minutu s limitem 10 paketů).
iptables -A INPUT -i eth1 -m limit --limit 5/min --limit-burst 10 -j LOG --log-prefix "INPUT eth1 DROP: "
iptables -A INPUT -i eth1 -j DROP
Přesměrování portu
Přístup na vzdálenou plochu stanice (IP 192.168.100.100) za NATem je povolen pouze ze zdrojové IP 88.212.XXX.XXX. Na vnějším rozhraní routeru je pro RDP použit nestandardní port 51234.
iptables -t nat -A PREROUTING -s 88.212.XXX.XXX -d 195.XXX.XXX.XXX -p tcp -m tcp --dport 51234 -j DNAT --to-destination 192.168.100.100:3389
Zpětný překlad (Zde obecné pravidlo zajišťující překlad všech odchozích paketů z LAN do Internetu.)
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 195.XXX.XXX.XXX
Odmítnutí směrování dle zdrojové adresy
Pakety s uvedenou zdrojovou IP resp. MAC adresou je zakázáno předávat do rozhraní eth0.
a) IP adresa
iptables -A FORWARD -s 192.168.100.182 -o eth0 -j REJECT --reject-with icmp-admin-prohibited
b) MAC adresa
iptables -A FORWARD -m mac --mac-source 00:1D:92:XX:XX:XX -o eth0 -j REJECT --reject-with icmp-admin-prohibited
Povolení navázaných spojení
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Ochrana SSH proti útoku hrubou silou
Modul recent vytvoří seznam s názvem SSH (--name), kam přidává (--set) zdrojové adresy paketů. Pomocí (--update) je seznam aktualizován, u již existujících záznámů se mění časové razítko. Pokud je ze stejné adresy opakován pokus o připojení a je překročen limit, tj. v období 120 sekund (--seconds) se jedná o třetí nebo další pokus (--hitcount), je spojení odmítnuto. Uvedenému kódu musí předcházet pravidlo "Povolení navázaných spojení".
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --name SSH --set
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --name SSH --update --seconds 120 --hitcount 3 -j DROP
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT