porque as regras do iptables estão impactando o ping localhost?

0

Abaixo estão as regras de firewall do iptable, que eu tenho no meu sistema centos. Neste momento, não consegui fazer o ping do host local. ping localhost estava falhando.

Mas assim que eu usei iptables -F para liberar as regras, consegui fazer ping no host local. Pergunta é por que? Como este conjunto de iptables estava impactando a funcionalidade do ping localhost (127.0.0.1)?

root@localhost:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:53
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:67
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:67
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:6080
LPASS      udp  --  0.0.0.0/0            0.0.0.0/0            state NEW udp spt:68 dpt:67
LPASS      all  --  192.168.122.49       0.0.0.0/0
LPASS      tcp  --  192.168.122.0/24     0.0.0.0/0            tcp spt:21
LPASS      all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
LPASS      tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpts:8505:8506
LPASS      tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:6000
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpts:6001:6100
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            state NEW udp dpt:161
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:24
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:8081
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:2222
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
LDROP      all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
ACCEPT     tcp  --  0.0.0.0/0            192.168.122.49       tcp dpt:3389
ACCEPT     all  --  192.168.122.49       0.0.0.0/0
DROP       all  --  192.168.122.0/24     0.0.0.0/0
LFDROP     all  --  0.0.0.0/0            0.0.0.0/0            PHYSDEV match --physdev-in vnet+ --physdev-out vnet+ --physdev-is-bridged
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state NEW
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:68

Chain LDROP (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain LFDROP (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain LPASS (6 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

ifconfig mostra que a interface é UP.

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 65922  bytes 5788036 (5.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 65922  bytes 5788036 (5.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
por Pawan 21.10.2016 / 13:09

1 resposta

3

Isso ocorre porque tudo que sai de uma interface e entra em uma interface é analisado por meio das regras iptables ou do firewall.

Assim, quando um pacote tem que sair de uma interface para si mesmo, seja para ICMP, HTTP, FTP ou qualquer outro protocolo. Ele irá através do mesmo processo como no caso de um IP externo. Assim, por exemplo, no caso do HTTP, ele iniciará uma conexão TCP e, em seguida, enviará uma solicitação HTTP para o host local e todas as comunicações ocorrerão por meio da interface lo .

Agora, por exemplo, você segue em frente e cria uma regra OUTPUT como abaixo:

ACCEPT     ICMP  --  127.0.0.1            127.0.0.1 

e tente executar o ICMP, ele ainda não será processado, você precisará de uma regra de entrada, como abaixo, para que funcione:

ACCEPT     ICMP  --  127.0.0.1            127.0.0.1 
    
por 21.10.2016 / 13:25