it-swarm.com.de

iptables blockieren den Zugriff auf Port 8000 mit Ausnahme der IP-Adresse

Ich habe noch nie iptables verwendet, und die Online-Dokumentation scheint ein bisschen undurchsichtig zu sein.

Ich möchte alle Anforderungen an Port 8000 auf meinem Server blockieren, außer denen, die von einer bestimmten IP-Adresse stammen. Wie mache ich das mit iptables?

72
will

Diese Frage sollte auf Serverfehler stehen. Trotzdem sollte das Folgende den Trick machen, vorausgesetzt, Sie sprechen von TCP und die IP, die Sie zulassen möchten, ist 1.2.3.4:

iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
130
Jon Bright

Eine andere Alternative ist;

Sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP

Ich hatte ein ähnliches Problem, dass 3 überbrückte virtuelle Maschinen nur mit unterschiedlichen Kombinationen aufeinander zugreifen müssen. Ich habe diesen Befehl getestet und er funktioniert gut.

Bearbeiten**

Laut Fernando Kommentar und diesem Link Ausrufezeichen (!) steht vor -s Parameter:

Sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
17
HRgiger

Sie können jederzeit iptables verwenden, um die Regeln zu löschen. Wenn Sie viele Regeln haben, geben Sie diese einfach mit dem folgenden Befehl aus.

iptables-save > myfile

vi, um sie in der Befehlszeile zu bearbeiten. Verwenden Sie einfach das "dd", um die Zeilen zu löschen, die Sie nicht mehr benötigen.

iptables-restore < myfile and you're good to go.  

Denken Sie daran, dass, wenn Sie Ihr Betriebssystem nicht konfigurieren, um die Regeln in einer Datei zu speichern, und laden Sie dann die Datei während des Bootens, damit Ihre Regeln verloren gehen.

4
RecentCoin