Ich möchte, dass iptables nur eine Schnittstelle filtert, eth0, die dem WAN zugewandt ist. Wie geht das? Und ich möchte FTP- und SSH-Ports auf eth0 offen halten.
Ich möchte, dass iptables nur eine Schnittstelle filtert, eth0, die dem WAN zugewandt ist. Wie geht das? Und ich möchte FTP- und SSH-Ports auf eth0 offen halten.
Antworten:
Sie möchten also für alle Schnittstellen außer einer den gesamten Datenverkehr akzeptieren und auf eth0 den gesamten eingehenden Datenverkehr mit Ausnahme von ftp und ssh löschen.
Erstens könnten wir eine Richtlinie festlegen, nach der der gesamte Datenverkehr standardmäßig akzeptiert wird.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Dann könnten wir Ihre Firewall-Regeln zurücksetzen.
iptables -F
Jetzt können wir sagen, dass wir eingehenden Datenverkehr auf eth0 zulassen möchten, der Teil einer Verbindung ist, die wir bereits zugelassen haben.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Außerdem möchten wir eingehende ssh-Verbindungen auf eth0 zulassen.
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Aber alles andere, was auf eth0 ankommt, sollte fallengelassen werden.
iptables -A INPUT -i eth0 -j DROP
Für etwas mehr Tiefe siehe diesen CentOS-Wiki-Eintrag .
FTP ist ein heikler als ssh , da es einen zufälligen Port verwenden kann, so sieht diese vorherige Frage .
So etwas sollte den Job machen:
iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT
ACCEPT
alles auf den anderen Oberflächen zu filtern .
Die Möglichkeit , eine Schnittstelle in Ihrer iptables - Regel angeben ist -i
, zum Beispiel: -i eth0
.
Wenn Sie eine iptables
Regel erstellen, ist es sehr einfach , die Schnittstelle anzugeben. Die Option zum Angeben der LAN-Karte, auf der gearbeitet werden iptables
soll, lautet-i
Die folgenden Regeln können Ihnen ein gutes Beispiel geben
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
Die letzte Regel besteht darin, jedes andere Paket abzulehnen, das nicht mit den ersten beiden Regeln übereinstimmt. Alle Regeln in iptables
werden in der angegebenen Reihenfolge ausgeführt, sodass die Regel zum Zurückweisen von Paketen immer die letzte ist.