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
?