Eu não sei a resposta para sua pergunta. No entanto, como um trabalho em torno de por que não tinha uma entrada de DNS falsa internamente para somehost.com apontou para o IP da LAN em vez disso?
Eu tenho um gateway / firewall debian linux conectando meu wan e lan trabalhando com o iptables. Eu tenho eth1
como o wan com o endereço dinâmico 190.200.229.102
anexado a somehost.com
via DYNDNS e eht0
como a lan com o endereço 192.168.128.2
. Tudo funciona como esperado. O tráfego que chega é rejeitado para todas as portas, exceto aquelas especificadas com ACCEPT, e o encaminhamento de porta funciona conforme o esperado, redirecionando o tráfego para as máquinas internas.
O problema é que, quando tento me conectar ao somehost.com
da rede interna, não sou redirecionado para as máquinas internas como esperado. Minhas regras de firewall para redirecionamento de porta estão anexadas à interface wan ( eth1
). Estou assumindo que quando tento me conectar a somehost.com
, estou vindo da conexão lan e é por isso que o redirecionamento não funciona. Eu experimentei com REDIRECT, DNAT, INPUT e outras tags sem sucesso. Alguma dica de como conseguir isso?
Eu não sei a resposta para sua pergunta. No entanto, como um trabalho em torno de por que não tinha uma entrada de DNS falsa internamente para somehost.com apontou para o IP da LAN em vez disso?
você tem que masquarade os pacotes encaminhados para aparecer como se eles estivessem vindo do firewall
iptables -t nat -A POSTROUTING -s 192.168.128.0/24 -o eth0 -j MASQUERADE
caso contrário, os pacotes de retorno virão até você a partir dos próprios hosts internos que estão vendo endereços internos e enviando os pacotes diretamente de volta. Então você está enviando pedidos para 190.200.229.102 mas obtendo as respostas de 192.168.128.x, é bastante normal que sua máquina não saiba o que fazer com elas:)
Você deve tentar adicionar uma entrada DSN local conforme declarada pelo Sr. Joel Mansford, no Debian edite o arquivo:
/ etc / hosts
adicione entradas neste formato:
10.10.10.10 dyndns.com 11.11.11.11 someother.com other.sameline.com
;)
Eu posso adivinhar que o problema é que você está fazendo o masquerading de ip (SNAT) e o DNAT nos pacotes.
Digamos que você se conecte a partir do host interno 192.168.128.3.
O pacote original seria:
192.168.128.3 -> somehost.com (190.200.229.102)
Então, por causa do DNAT, ele seria traduzido para:
190.200.229.102 -> somehost.com (190.200.229.102)
Eu acho que é onde o problema é: de e para endereços são os mesmos.
Você deve executar o tcpdump ou tshark na máquina de conexão, em todas as interfaces do firewall e na máquina receptora. Em seguida, tente se conectar e tente ver em qual interface os pacotes são perdidos e os endereços de e para quando forem traduzidos.
Depois de entender, você pode criar um filtro para resolver esse problema específico na interface correta.
Caso contrário, você pode usar a solução DNS declarada pela joelmansford, que pode ser uma solução mais limpa.