Frage Whitelist erlaubt IPs (ein / aus) mit iptables


Ich habe ein paar IP-Bereiche, auf die ich möchte, dass mein Server in der Lage ist, eine Verbindung herzustellen und Benutzer von dort zu verbinden. Alles andere sollte blockiert werden.

Wie soll ich das mit iptables machen?

Mein Betriebssystem ist eine Debian-basierte Linux-Distribution.


19
2018-06-22 22:25


Ursprung




Antworten:


Ich würde vorschlagen, ein Firewall-Konfigurationstool zu greifen, wie z Feuerstarterund von dort gehen. Hier sind ein paar Grundlagen für Sie.

#Flush existing rules
iptables -F
# Set up default DROP rule for eth0
iptables -P INPUT DROP
# Allow existing connections to continue
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Accept everything from the 192.168.1.x network
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
# Allow connections from this host to 192.168.2.10
iptables -A OUTPUT -o eth0 -d 192.168.2.10 -j ACCEPT

27
2018-06-22 22:49



Sie wissen, dass Sie Ihren Code in Serverfehler-Posts mit dem 101010-Button formatieren können. Auf diese Weise werden deine Kommentare nicht als Geschrei erscheinen. Wählen Sie einfach den Code mit der Maus aus und klicken Sie auf die Schaltfläche 101010 über dem Textfeld. - Jason Tan
Ahhh danke, das habe ich nicht bemerkt. Jetzt weiß ich :) - Zenham
+1 für BESTEHEN, VERWANDTE - zu viele Menschen tun das nicht. - Alnitak
Für die Liebe Gottes, setze bitte die Standard DROP Regel LETZT! Ich sperrte mich (und alles andere!) Aus einer Maschine aus, indem ich diese Reihenfolge von Operationen befolgte. - Bendoh
Schreckliche Antwort. OP sagt nichts über das Löschen aller aktuellen Verbindungen. Jetzt bin ich ausgesperrt, weil ich angenommen habe, dass die beste Antwort Sinn macht. - oMiKeY


iptables -I INPUT -s <allowed_ip> -j ACCEPT #(repeat this line as needed)
iptables -P INPUT DROP

Dies wird Ihr System in ein nicht existierendes System für nicht erlaubte Computer verwandeln.


14
2018-06-22 22:47





Wenn Sie beliebige Bereiche statt ganzer Subnetze zulassen möchten, können Sie das iptables-Modul 'iprange' verwenden:

iptables -P INPUT DROP

iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT

Zum Beispiel wird Verkehr von allen Maschinen mit Adressen zwischen 192.168.1.30 und 192.168.1.50 erlauben.

Wenn Sie eingehenden und ausgehenden Datenverkehr auf denselben IP-Adressbereich zulassen möchten, sollten Sie eine bestimmte Kette erstellen, die diese IPs zulässt und alle Eingabe- und Ausgabeziele darauf abzielt:

- Definieren Sie die Standardrichtlinien, die gelöscht werden sollen:

iptables -P INPUT DROP

iptables -P OUTPUT DROP

- erstelle die neue Kette:

iptables -N allowed_ips

- Wenn die Quelle Teil des zulässigen Bereichs ist, akzeptieren Sie

iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT

- Wenn nicht, kehren Sie zur Aufruferkette zurück, um mit der Verarbeitung fortzufahren

iptables -A allowed_ips -j RETURN

- Führen Sie den gesamten Verkehr, der in die Maschine ein - und austritt, durch unsere neue Kette

iptables -A INPUT -j allowed_ips

iptables -A OUTPUT -j allowed_ips

und das ist es! Natürlich benötigen Sie möglicherweise zusätzliche Regeln, wie zum Beispiel einen, der den gesamten Datenverkehr von / zur lo-Schnittstelle erlaubt, usw.


7
2018-06-23 00:07





Sobald du mit deinen Regeln zufrieden bist, Sie möchten sie wahrscheinlich speichern. Die Kommentare in diesem Link haben verschiedene Möglichkeiten, dies zu tun.

Ein einfach zu verwendender iptables Regelgenerator für einfache Bedürfnisse ist ufw. Das Paket ist in debian unstable verfügbar.

Probiere auch Feuerstarter. Verfügbar in Lenny.


1
2018-06-23 00:25





Sie können auch verwenden ferm das ich auch für das letzte Jahr benutze und hat mir sehr geholfen mit Fällen wie bedingten Firewall-Regeln.


0
2018-05-13 10:35