Eu tenho uma rede que é configurada para ser "móvel". Ele contém alguns servidores diferentes. Tudo funciona perfeitamente do lado de fora. O que estou tentando configurar são as conexões internas.
Eu tenho um roteador DD-WRT, podemos apelidar main e outro roteador podemos chamar generic . A idéia aqui é que main contém um host de alocações de IP portuárias e estáticas para meus servidores em seu próprio servidor DHCP independente. Generic é qualquer roteador que eu quero que main acesse a internet. ( Main está conectado ao WiFi de generic e usa seu IP externo)
No meu caso atual, o Generic é um all-in-one roteador / modem comum do meu provedor. Todas as portas em generic são encaminhadas para main . Isso funciona. Do lado de fora, tudo se conecta corretamente.
No entanto, como generic está entre main e a Internet, o recurso hairpin-routing não funciona.
Para resolver isso, eu tenho algumas configurações de DNSMasq em main que par myDomain.com com 10.0.0.101 . Parece assim ...
address=/mydomain.com/10.0.0.101
Tanto 10.0.0.101 como 10.0.0.102 são servidores Debian. 10.0.0.101 é o servidor "administrativo" nas minhas redes. Ele lida com e-mail e outras coisas administrativas.
Estou tentando usar as tabelas IP em 10.0.0.101 para simular o efeito de estar fora da rede. (Qualquer porta no myDomain.com deve fazer a mesma coisa, independentemente de estar dentro ou fora da LAN.)
As portas que precisam ir para 10.0.0.102 são 80 , 8080 , 3000 , 22 , 9090 , 9091 , 9092 e 9093 . Eu não sou tão familiarizado com as tabelas IP, mas encontrei este tutorial .
Eu fiz o login como root e corri ...
echo "1" > /proc/sys/net/ipv4/ip_forward
Em seguida, executei o seguinte substituindo (MY_LOCAL_PORT) por cada uma das portas listadas acima ...
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 10.0.0.101 --dport (MY_LOCAL_PORT) -j DNAT --to 10.0.0.102:(MY_LOCAL_PORT)
Eu então corri ...
iptables -t nat -A POSTROUTING -o eth0 -d 10.0.0.102 -j SNAT --to-source 10.0.0.101
Isso não está funcionando. traceroute para mydomain.com:22 yields 10.0.0.101 . Não consigo visualizar o servidor da Web em myDomain.com , embora eu possa visualizá-lo inserindo 10.0.0.102 na barra de endereços do meu navegador.
Qual é o problema? Como eu alcanço este resultado? E como bônus ... isso pode ser feito em main em vez de 10.0.0.101 ?