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.
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.
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
À 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.
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
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.
Réponses:
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.
Ensuite, nous pourrions réinitialiser vos règles de pare-feu.
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.
Nous voulons également autoriser les connexions ssh entrantes sur eth0.
Mais que tout autre élément entrant sur eth0 doit être supprimé.
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 .
la source
Quelque chose comme ça devrait faire l'affaire:
la source
ACCEPT
tout sur les autres interfaces.L'option pour spécifier une interface dans votre commande iptables est
-i
, par exemple:-i eth0
.la source
C'est très simple lorsque vous créez une
iptables
règle, vous devez alors spécifier l'interface. L'option pour spécifier la carte LAN sur laquelleiptables
doit fonctionner est-i
Les règles suivantes peuvent vous donner un bon exemple
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
iptables
sont exécutées dans l'ordre donné, donc la règle de rejet des paquets est toujours la dernière.la source