D'autres iptables -I
exemples utilisent dans leurs exemples, ce qui n'est souvent pas ce que vous devriez utiliser.
iptables exécutera la première règle qui correspond, l’ordre des règles est donc très important. -I
est la commande "insert" et doit être utilisée avec un paramètre d'index pour spécifier à quel emplacement de la liste appartient une règle donnée. -A
est la commande "append", qui ajoutera la règle à la fin de la liste.
Dans certaines distributions (peut-être toutes), l'utilisation d' -I
un paramètre sans index ajoute la règle à celle-ci, ce qui en fait la première règle vérifiée. Dans ce scénario, si la dernière commande que vous exécutez est iptables -I INPUT -s tcp 0.0.0.0/0 -j DROP
alors iptables abandonnera tout le trafic, que vous ayez ou non des ACCEPT
règles plus tard dans la chaîne.
Voici un exemple de configuration d’une règle qui autorise uniquement SSH à partir d’une seule adresse IP:
Partir sans règles:
#> iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ajoutez une nouvelle règle "autoriser SSH à partir de 1.2.3.4":
#>iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT
Bloquez SSH de toutes les autres adresses IP:
#>iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP
Maintenant votre chaîne INPUT ressemblera à:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:22
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Plus tard, si vous devez ajouter une deuxième adresse à la liste blanche, vous pouvez utiliser le -I
paramètre pour la placer avant la règle de la liste noire.
#>iptables -I INPUT 2 -p tcp -s 4.3.2.1 --dport 22 -j ACCEPT
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 4.3.2.1 0.0.0.0/0 tcp dpt:22
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Notez que l'utilisation de -I INPUT 2
la nouvelle règle ajoutée en tant que règle 2 et que la règle DROP a été remplacée par le numéro 3.
iptables
inversion avec l’opérateur bang est prise en charge si vous souhaitez effectuer un ciblageDROP
. Exemple:iptables -I INPUT -p tcp ! -s <permittedIP> -j DROP