Parece que é um bug em compilações recentes do DD-WRT.
Use iptables:
iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
(mude sua sub-rede de acordo com sua LAN específica)
De link
Com o firmware original do meu roteador, eu tinha o encaminhamento de porta definido da porta 80 para o servidor na LAN, que usei em conjunto com um serviço DNS dinâmico externo.
Eu já atualizei para o DD-WRT e, infelizmente, o encaminhamento de porta só funciona para solicitações para o IP externo de fora da LAN. De dentro da LAN eu só posso acessar o servidor pelo seu IP interno.
Como faço para que o IP externo (e, portanto, o nome de domínio conectado ao IP externo dinâmico) seja acessado corretamente também de dentro da LAN?
Eu prefiro descobrir como alcançá-lo com as definições padrão do DD-WRT, mas usando, por exemplo, iptables não está fora de questão.
Parece que é um bug em compilações recentes do DD-WRT.
Use iptables:
iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
(mude sua sub-rede de acordo com sua LAN específica)
De link
No espírito da resposta da UrEl: Um script iptables
auto-configurável que pode ser copiado e colado sem mais adaptações pode ser encontrado no Fórum DD-WRT :
insmod ipt_mark
insmod xt_mark
iptables -t mangle -A PREROUTING -i ! 'get_wanface' -d 'nvram get wan_ipaddr' -j MARK --set-mark 0xd001
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE
Como observado por Jarett, isso deve ser usado como script de firewall e não como script de inicialização.
Tente desabilitar o "Filtro de redirecionamento de NAT da WAN" na guia Segurança e > Firewall. A partir da descrição da ajuda:
Filter WAN NAT Redirection Prevents hosts on LAN from using WAN address of router to contact servers on the LAN (which have been configured using port redirection).
Parece que o seu verdadeiro problema é que você precisa de duas visões do registro do DNS A. Externamente, seu dns dinâmico aponta para o IP público de sua rede, que encaminha a porta 80 para o host local. Tudo o que você precisa fazer é adicionar uma entrada no dnsmasq com um registro A apontando o mesmo nome de domínio totalmente qualificado para o ip do host local para seus hosts locais. Você pode fazer isso adicionando o seguinte na página Serviços / Opções adicionais do dnsmasq:
address=/www.mydomain.com./xx.xx.xx.xx
apenas substitua o xx pelo ip local e o nome do domínio pelo seu nome de domínio. Não esqueça o ponto final ou ele anexará seu nome de domínio local a ele.