Usando tabelas de IP para encaminhar todas as solicitações para outro IP interno?

0

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 ?

    
por Allenph 04.10.2016 / 08:21

0 respostas