Comment puis-je sur mon serveur Ubuntu, dans Iptables n'autoriser qu'une seule adresse IP sur un port spécifique?
Merci
Bon mot:
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
Une solution plus élégante:
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
avecOUTPUT
vous bloquerait certains paquets envoyés en utilisant des adresses du serveur lui - même (et non routé / transmis). Je doute que cela ait du sens, à moins que vous ne vouliez peut-être bloquer les programmes qui se lient à certaines interfaces spécifiques.--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
Voici un exemple d'un de mes systèmes CentOS (les adresses ont été obscurcies):
la source
service iptables save
.J'utilise shorewall pour configurer la table IP. Utilisez une règle comme accepter d'un hôte au port 123.
ACCEPTER net: 192.0.2.1 $ FW tcp 1234
la source