Iptables: Wie kann ich nur eine IP über einen bestimmten Port zulassen?

25

Wie kann ich auf meinem Ubuntu-Server in Iptables nur eine IP-Adresse für einen bestimmten Port zulassen?

Vielen Dank

Anonymous12345
quelle

Antworten:

48

Einzeiler:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP  # if it's not 1.2.3.4, drop it

Eine elegantere Lösung:

iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT  # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT  # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT  # allow 1.2.3.6
iptables -A xxx -j DROP  # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx  # use chain xxx for packets coming to TCP port 777
Cristian Ciupitu
quelle
Weißt du, ob ich dies auch zum OUTPUT hinzufügen soll?
Anonymous12345
@Camran: Du musst genauer sein. In diesem speziellen Fall würden Sie beim Ersetzen INPUTdurch OUTPUTeinige Pakete blockieren, die unter Verwendung einiger Adressen des Servers selbst gesendet wurden (und nicht weitergeleitet / weitergeleitet wurden). Ich bezweifle, dass dies sinnvoll ist, es sei denn, Sie möchten Programme blockieren, die an bestimmte Schnittstellen gebunden sind.
Cristian Ciupitu
1
Vergessen Sie nicht, dass Sie Ihre Quellen auch in einer Kette wie der folgenden angeben können:--src 1.2.3.4/30
deed02392
Wie würde ich der Kette später eine neue erlaubte IP hinzufügen? Muss ich zuerst den DROP entfernen, dann den neuen Benutzer eingeben und den DROP erneut einfügen oder gibt es eine bessere Lösung?
maddo7
2
@Matthias:iptables -I xxx --src 7.8.9.10 -j ACCEPT
Cristian Ciupitu
0

Hier ist ein Beispiel von einem meiner CentOS-Systeme (Adressen wurden verschleiert):

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT
Verschleierung
quelle
Auf Centos, wo diese Konfiguration dauerhaft zu machen? (In Ubuntu können wir /etc/network/if-up.d/anyfile verwenden)
Kokizzu
auf CentOS ist es: service iptables save.
Martin Zeitler
0

Ich verwende eine Shorewall, um die IP-Tabelle zu konfigurieren. Verwenden Sie eine Regel, die von einem Host bis Port 123 akzeptiert werden soll.

ACCEPT netto: 192.0.2.1 $ FW bis 1234

BillThor
quelle