Estou tentando acessar um host na minha rede local (minha própria máquina, de fato) através do ip externo para o qual meu NAT do roteador dsl, portanto, a configuração é a seguinte:
/----------------------------/
/-------------/ / Router / /----------/
/ Host /-------/ 192.168.1.2 | 79.44.63.132 /----/ Internet /
/ 192.168.1.1 / / internal ip | external ip / /----------/
/-------------/ /----------------------------/
No meu roteador, eu habilitei o encaminhamento de porta para a porta 1234, de modo que o tráfego para 79.44.63.132:1234 é mapeado para 192.168.1.1:1234. Eu posso acessar 79.44.63.132:1234 do lado de fora como esperado, mas quando eu tento acessá-lo de dentro da rede alguma coisa dá errado. Mais especificamente, quando eu
telnet 79.44.63.132 1234
de 192.168.1.1, eu obtenho uma conexão com minha própria máquina, mas ela não responde. Inspecionar o tráfego revela que o roteador realmente não descarta nenhum pacote, e NATs como se o tráfego viesse de fora, ou seja, o encaminhamento do fort e o resultado da tradução do endereço de rede em pacotes sendo reescritos como
/-------------------------/ /--------------------------/
/ payload: 10001010110101 / / payload: 10001010110101 /
/ from: 192.168.1.1:44713 / |--> / from: 79.44.63.132:63944 /
/ to: 79.44.63.132:1234 / / to: 192.168.1.1:1234 /
/-------------------------/ /--------------------------/
e
/--------------------------/ /-------------------------/
/ payload: 00110110101101 / / payload: 00110110101101 /
/ from: 192.168.1.1:1234 / |--> / from: 79.44.63.132:1234 /
/ to: 79.44.63.132:63944 / / to: 192.168.1.1:44713 /
/--------------------------/ /-------------------------/
Então, parece que deve funcionar, mas não funciona. O que poderia ter dado errado aqui?