Chcę, aby iptables filtrował tylko jeden interfejs, eth0, który jest skierowany do WAN. Jak można to zrobić? I chcę, aby porty ftp i ssh były otwarte na eth0.
Chcę, aby iptables filtrował tylko jeden interfejs, eth0, który jest skierowany do WAN. Jak można to zrobić? I chcę, aby porty ftp i ssh były otwarte na eth0.
Odpowiedzi:
Tak więc dla wszystkich interfejsów, ale takich, które chcesz akceptować cały ruch, a na eth0 chcesz porzucić cały ruch przychodzący oprócz ftp i ssh.
Po pierwsze, moglibyśmy ustalić domyślną zasadę akceptowania całego ruchu.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Następnie możemy zresetować reguły zapory.
iptables -F
Teraz możemy powiedzieć, że chcemy zezwolić na ruch przychodzący na eth0, który jest częścią połączenia, na które już zezwoliliśmy.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Ponadto chcemy zezwolić na przychodzące połączenia ssh na eth0.
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Ale cokolwiek innego przychodzącego na eth0 powinno zostać porzucone.
iptables -A INPUT -i eth0 -j DROP
Aby uzyskać nieco więcej głębi, zobacz ten wpis wiki CentOS .
FTP jest trudniejszy niż ssh, ponieważ może korzystać z losowego portu, więc zobacz poprzednie pytanie .
Coś takiego powinno wystarczyć:
iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT
ACCEPT
wszystko na innych interfejsach.
Opcją określenia interfejsu w regule iptables jest -i
np -i eth0
. :
To bardzo proste, kiedy tworzysz iptables
regułę, musisz określić interfejs. Można określić kartę LAN, na której iptables
powinien działać-i
Następujące zasady mogą dać ci dobry przykład
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset
Ostatnią zasadą jest odrzucenie dowolnego innego pakietu, który nie pasuje do pierwszych 2 reguł. Wszystkie reguły w iptables
są wykonywane w podanej kolejności, więc reguła odrzucania pakietów jest zawsze ostatnia.