O contexto:
Tenho a seguinte configuração:
O Main router
é propriedade do meu provedor de internet, não posso modificar sua configuração. O Personal Router
é meu roteador Asus RT-AC88U, posso modificar sua configuração.
Quero acessar meu 192.168.1. n servidores de my Computer
, que está em uma sub-rede diferente (192.168.0.0).
Eu adicionei uma rota à minha Computer
configuração usando o seguinte comando:
route add 192.168.1.0 MASK 255.255.255.0 192.168.0.3
Com o firewall desativado no Personal Router
tudo funciona bem.
O problema:
Porém assim que habilito ele dropa todos os pacotes, segue um exemplo dos logs:
Aug 2 19:24:41 kernel: DROP IN=eth0 OUT=br0 SRC=192.168.0.2 DST=192.168.1.30 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=1369 DF PROTO=TCP SPT=58785 DPT=80 SEQ=2324253310 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40103030801010402)
Eu tentei fazer login através do ssh no Personal Router
e adicionar as seguintes regras:
iptables -A INPUT -p tcp -s 192.168.0.2 -j ACCEPT
iptables -A OUTPUT -p tcp -d 192.168.0.2 -j ACCEPT
( Deste post ) No entanto, não resolveu o problema. Reiniciar o iptables usando service restart_firewall
descartou a configuração personalizada.
O que devo fazer? Desativar o firewall não é uma opção, pois o wi-fi está ativado.
Editar - A solução:
iptables -I FORWARD -s 192.168.0.2 -d 192.168.1.0/24 -j ACCEPT
Tente em vez disso:
Como você mesmo descobriu, -I é necessário para colocar a regra no topo da cadeia FORWARD. Observe que, dessa forma, você pula qualquer segurança que dependa do firewall.