Problema de confusão sobre o iptables

1

Recentemente, usei wget para tentar baixar alguns pacotes pela porta 80. Ele é bloqueado por iptable (depois que o serviço iptables parar, wget poderá baixar os pacotes). Alguém poderia me ajudar a analisar minhas regras de iptable?

Acho que abri todas as portas para IPs locais ( 192.168.0.0/16 , 10.0.0.0/8 ), então por que está bloqueado?

O IP do meu computador é 192.168.1.168 .

Se eu preparar um servidor da Web em 192.168.1.170 , posso fazer o download da página em 192.168.1.170 .

table:filter
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     all  --  0.0.0.0/8            0.0.0.0/0           
3    ACCEPT     all  --  10.0.0.0/8           0.0.0.0/0           
4    ACCEPT     all  --  127.0.0.0/8          0.0.0.0/0           
5    ACCEPT     all  --  169.254.0.0/16       0.0.0.0/0           
6    ACCEPT     all  --  172.16.0.0/12        0.0.0.0/0           
7    ACCEPT     all  --  192.168.0.0/16       0.0.0.0/0           
8    ACCEPT     all  --  224.0.0.0/4          0.0.0.0/0           
9    ACCEPT     all  --  240.0.0.0/4          0.0.0.0/0           
10   ACCEPT     all  --  144.168.60.32        0.0.0.0/0           
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21701 state NEW,ESTABLISHED 
12   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21701 state ESTABLISHED 
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:26941 state ESTABLISHED 
14   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21713 state ESTABLISHED 
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21715 state ESTABLISHED 
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21714 state ESTABLISHED 
17   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:80 state ESTABLISHED 
18   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW,ESTABLISHED 
19   ACCEPT     tcp  --  23.105.194.21       0.0.0.0/0           tcp spt:8170 state ESTABLISHED 
20   ACCEPT     udp  --  114.114.114.114      0.0.0.0/0           udp spt:53 dpts:1024:65535 
21   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8 
22   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 11 
23   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 0 
24   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 state NEW,ESTABLISHED 
25   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:123 

Chain FORWARD (policy DROP)
num  target     prot opt source               destination         
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED 
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/8           
3    ACCEPT     all  --  0.0.0.0/0            10.0.0.0/8          
4    ACCEPT     all  --  0.0.0.0/0            127.0.0.0/8         
5    ACCEPT     all  --  0.0.0.0/0            169.254.0.0/16      
6    ACCEPT     all  --  0.0.0.0/0            172.16.0.0/12       
7    ACCEPT     all  --  0.0.0.0/0            192.168.0.0/16      
8    ACCEPT     all  --  0.0.0.0/0            208.0.0.0/4         
9    ACCEPT     all  --  0.0.0.0/0            240.0.0.0/4         
10   ACCEPT     all  --  0.0.0.0/0            144.168.60.32       
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21701 state ESTABLISHED 
12   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21701 state NEW,ESTABLISHED 
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:26941 state NEW,ESTABLISHED 
14   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21713 state NEW,ESTABLISHED 
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21715 state NEW,ESTABLISHED 
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21714 state NEW,ESTABLISHED 
17   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW,ESTABLISHED 
18   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:80 state ESTABLISHED 
19   ACCEPT     tcp  --  0.0.0.0/0            23.105.194.26      tcp dpt:8170 state NEW,ESTABLISHED 
20   ACCEPT     udp  --  0.0.0.0/0            114.114.114.114     udp spts:1024:65535 dpt:53 
21   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8 
22   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:8080 state ESTABLISHED 
23   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:8080 state ESTABLISHED 
24   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:123 

table:nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:172.17.42.1:80 

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    MASQUERADE  all  --  172.17.0.0/16        0.0.0.0/0           
2    MASQUERADE  tcp  --  172.17.0.3           172.17.0.3          tcp dpt:80 
3    MASQUERADE  tcp  --  172.17.0.3           172.17.0.3          tcp dpt:22 
4    MASQUERADE  tcp  --  172.17.0.3           172.17.0.3          tcp dpt:21 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
    
por user2462304 30.01.2018 / 06:24

2 respostas

1

Eu cometi um erro. De alguma forma, eu não sei porque o nome do meu dispositivo mudou de eth0 para eth1. Então todas as regras são válidas apenas para eth0.

@Alexis Wilke, obrigado pela sua resposta!

Então, qualquer um que perguntar sobre o iptables, deve colar seus "iptables -L -v" ao invés de "iptables -L".

    
por 30.01.2018 / 09:46
1

A cadeia tem que ser ACEITAR, isso está errado:

Chain INPUT (policy DROP)

Então você quer uma última regra que bloqueie todo o resto:

13740   717586 LOG        all  --  eth1   *       0.0.0.0/0            0.0.0.0/0            LOG flags 8 level 4 prefix "[iptables] A: "
13740   717586 REJECT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Eu pessoalmente gosto de LOG antes do DROP ou REJECT . A diferença entre os dois é que REJECT envia uma resposta, enquanto o DROP apenas pára ali. Eu uso DROP para certas coisas e REJECT para outras ...

Na maioria dos casos, o FORWARD é necessário apenas se você quiser que um computador local em sua LAN acesse sua conexão com a Internet. Caso contrário, esse pode permanecer DROP . Eu não definiria nenhuma regra de saída até que a entrada funcionasse.

Para ver as suas regras, sugiro o seguinte:

iptables -L -nvx | less -S

que lhe dará as contas. Isso permite que você veja onde os pacotes são bloqueados. No seu caso, ele apareceria no Chain INPUT como:

Chain INPUT (policy DROP 10 packets, 1240 bytes)
    
por 30.01.2018 / 09:07

Tags