déposer la chaîne iptables en avant

0

J'ai créé les règles suivantes (pour FORWARD uniquement):

iptables -P FORWARD DROP
iptables -A FORWARD -o lo -j ACCEPT
iptables -A FORWARD -s ##MYIPHERE## -j ACCEPT

Et puis je lance iptables -L et récupère ceci:

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  ##MYREVERSEDNS##     anywhere
ACCEPT     all  --  localhost            anywhere

Donc, je peux voir que la politique par défaut est de supprimer, cependant pourquoi la première ligne est-elle comme ceci:

ACCEPT     all  --  anywhere             anywhere

Cela signifie-t-il que la politique par défaut est écrasée et que tout le trafic de n'importe où peut être transféré? Dois-je ajouter une autre règle? Merci

peixotorms
la source

Réponses:

0

C'est parce que iptables -Ln'inclut pas tous les détails. Cela ne donne qu'un aperçu approximatif. Pour obtenir une liste plus détaillée, utilisez le commutateur bavard: iptables -vL. Ça va ressembler à ça:

Chain FORWARD (policy ACCEPT 363K packets, 256M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER     all  --  any    docker0  anywhere             anywhere            
    0     0 ACCEPT     all  --  any    docker0  anywhere             anywhere             ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  docker0 !docker0  anywhere             anywhere            
    0     0 ACCEPT     all  --  docker0 docker0  anywhere             anywhere            

Comme vous pouvez le constater, les noms d'interface (uniquement docker0dans cet exemple) sont visibles.

Si vous voulez que le «code» recrée exactement les règles, utilisez la iptables-savecommande suivante:

-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
Daniel B
la source