Activer iptables sur une seule interface

16

Je veux que iptables ne filtre qu'une seule interface, eth0, qui fait face au WAN. Comment cela peut-il être fait? Et je veux garder les ports ftp et ssh ouverts sur eth0.

nixnotwin
la source
Veuillez lire les pages de manuel iptables - ou, si j'ai mal compris votre problème, veuillez préciser la question.
Jari Jokinen

Réponses:

25

Donc, pour toutes les interfaces, sauf une, vous voulez accepter tout le trafic, et sur eth0, vous voulez supprimer tout le trafic entrant sauf ftp et ssh.

Tout d'abord, nous pourrions définir une politique d'acceptation de tout le trafic par défaut.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

Ensuite, nous pourrions réinitialiser vos règles de pare-feu.

iptables -F

Nous pouvons maintenant dire que nous voulons autoriser le trafic entrant sur eth0 qui fait partie d'une connexion que nous avons déjà autorisée.

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Nous voulons également autoriser les connexions ssh entrantes sur eth0.

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Mais que tout autre élément entrant sur eth0 doit être supprimé.

iptables -A INPUT -i eth0 -j DROP

Pour un peu plus de profondeur, voir cette entrée wiki CentOS .

Le FTP est plus compliqué que ssh car il peut utiliser un port aléatoire, donc consultez cette question précédente .

sciurus
la source
5
AVERTISSEMENT!!! Faites "iptables -P ..." avant "iptables -F". Si vos règles actuelles sont définies pour supprimer le trafic par défaut, l'exécution de -F vous bloquera hors de votre boîte. C'est pourquoi conserver la stratégie par défaut pour autoriser et ajouter spécifiquement une règle pour supprimer tout autre trafic est la meilleure pratique.
Coops
8

Quelque chose comme ça devrait faire l'affaire:

iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT
Bart De Vos
la source
1
À peu près sur place (bien que peut-être un peu plus agréable que "TOUT TOUT" sur l'interface WAN, hein?) - Écrivez des règles pour filtrer l'interface que vous souhaitez filtrer, et juste ACCEPTtout sur les autres interfaces.
voretaq7
4

L'option pour spécifier une interface dans votre commande iptables est -i, par exemple: -i eth0.

Derp A. Round
la source
4

C'est très simple lorsque vous créez une iptablesrègle, vous devez alors spécifier l'interface. L'option pour spécifier la carte LAN sur laquelle iptablesdoit fonctionner est-i

Les règles suivantes peuvent vous donner un bon exemple

iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset 

La dernière règle est de rejeter tout autre paquet qui ne correspond pas aux 2 premières règles. Toutes les règles dans iptablessont exécutées dans l'ordre donné, donc la règle de rejet des paquets est toujours la dernière.

Utilisateur enregistré
la source