Wie kann ich auf meinem Ubuntu-Server in Iptables nur eine IP-Adresse für einen bestimmten Port zulassen?
Vielen Dank
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
INPUT
durchOUTPUT
einige 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.--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
Hier ist ein Beispiel von einem meiner CentOS-Systeme (Adressen wurden verschleiert):
quelle
service iptables save
.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
quelle