Aktivieren Sie iptables auf einer Schnittstelle

15

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.

nixnotwin
quelle
Bitte lesen Sie die Manpages zu iptables - oder falls ich Ihr Problem missverstanden habe, stellen Sie die Frage genauer.
Jari Jokinen

Antworten:

24

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 .

Sciurus
quelle
4
WARNUNG!!! Führen Sie "iptables -P ..." vor "iptables -F" aus. Wenn Ihre aktuellen Regeln standardmäßig so eingestellt sind, dass der Datenverkehr unterbrochen wird, werden Sie durch Ausführen von -F gesperrt. Aus diesem Grund wird empfohlen, die Standardrichtlinie beizubehalten, um zuzulassen, und speziell eine Regel hinzuzufügen, um den gesamten anderen Datenverkehr zu löschen.
Coops
8

So etwas sollte den Job machen:

iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT
Bart De Vos
quelle
1
Ziemlich genau (obwohl es vielleicht ein bisschen besser ist als "Drop EVERYTHING" auf der WAN-Oberfläche, was?) - Schreiben Sie Regeln, um die zu filternde Oberfläche und einfach ACCEPTalles auf den anderen Oberflächen zu filtern .
voretaq7
4

Die Möglichkeit , eine Schnittstelle in Ihrer iptables - Regel angeben ist -i, zum Beispiel: -i eth0.

Derp A. Round
quelle
4

Wenn Sie eine iptablesRegel erstellen, ist es sehr einfach , die Schnittstelle anzugeben. Die Option zum Angeben der LAN-Karte, auf der gearbeitet werden iptablessoll, 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 iptableswerden in der angegebenen Reihenfolge ausgeführt, sodass die Regel zum Zurückweisen von Paketen immer die letzte ist.

registrierter Nutzer
quelle