.png)
Estou usando uma configuração de dois roteadores com o seguinte hardware:
Netgear WNDR3400V2 - 192.168.1.1 - DD-WRT
Belkin F9K1105 v1 - 192.168.1.50 - Estoque FW
O Belkin está configurado como um switch, ao qual tenho um servidor web conectado.
[Internet] -> Netgear -> Belkin -> Servidor
Ao conectar internamente, ele registra meu IP adequadamente (por exemplo, 192.168.1.51) Ao conectarexternamente, todos os IPs são vistos como 192.168.1.1 (o IP do roteador principal)
É claro que isso funciona bem quando não estou atrás de um segundo roteador, mas infelizmente minha configuração atual é desnecessária.
Eu queria saber se poderia obter algumas instruções específicas sobre como ser capaz de 'ver' corretamente os endereços IP externos do servidor.
Desde já, obrigado!
Responder1
O problema parece estar nas regras padrão do iptables que o DD-WRT configura.
Remover a linha MASQUERADE no POSTROUTING corrige o problema para mim, as conexões externas não aparecem mais como o IP interno do meu roteador principal.
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE 0 -- anywhere anywhere
SNAT 0 -- 192.168.1.0/24 anywhere to:1.1.1.1
RETURN 0 -- anywhere anywhere PKTTYPE = broadcast
Isso remove o primeiro elemento da lista acima:
iptables -t nat -D POSTROUTING 1
Mais informações sobre a correção acima podem ser encontradas aqui:https://www.reddit.com/r/HomeNetworking/comments/40swj2/firewall_log_shows_router_ip_for_all_incoming/cyxaz3t/
Agora, tudo deve funcionar bem.
Observação lateral: se você não puder mais acessar seus serviços via IP externo a partir de um IP interno, talvez seja necessário executar um ou ambos os seguintes procedimentos (eu precisei de ambos):
Certifique-se de desmarcar "Filtrar Redirecionamento WAN NAT" em "DD-WRT -> Segurança -> Firewall"
Execute o seguinte:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
Substituindo ambas as ocorrências de 192.168.1.0/24 pelo que for relevante para sua configuração.
Para facilitar isso, recomendo apenas salvar isso no script do Firewall em "Administração -> Comandos"
iptables -t nat -D POSTROUTING 1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE