drop iptables chain forward

0

Eu criei as seguintes regras (somente para FORWARD):

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

E então eu corro o iptables -L e entendo isso:

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

Então, posso ver que a política padrão é deixar de funcionar, mas por que a primeira linha é assim:

ACCEPT     all  --  anywhere             anywhere

Isso significa que a política padrão está sendo sobregravada e que todo o tráfego de qualquer lugar pode ser encaminhado? Preciso adicionar outra regra? Obrigado

    
por peixotorms 23.01.2016 / 18:21

1 resposta

0

Isso porque iptables -L não inclui todos os detalhes. Só dá uma visão geral aproximada. Para obter uma lista mais detalhada, use a opção detalhada: iptables -vL . Ficará assim:

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            

Como você pode ver, os nomes das interfaces (somente docker0 neste exemplo) são visíveis.

Se você quiser que o "código" recrie exatamente as regras, use o comando iptables-save :

-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
    
por 23.01.2016 / 18:51