Como conectar 2 redes sem acesso à configuração do roteador?

3

Estou tentando conectar dois dispositivos em diferentes sub-redes.

Device 1:
IP address: 172.20.35.1
netmask: 255.255.0.0
gateway: 172.20.1.1

Device 2:
IP address: 172.20.100.100
netmask: 255.255.255.0
gateway: 172.20.100.1

O roteador tem o endereço IP 172.20.1.1 .

Quando envio um datagrama UDP do dispositivo 1 para o dispositivo 2, o dispositivo 2 o recebe, mas não pode responder, pois o endereço IP do gateway (dispositivo 2) está incorreto.

Mas o roteador não pode conectar essas duas redes juntas, conforme mostrado aqui link ? As rotas devem ser configuradas manualmente?

Além disso: E se eu alterar a configuração de rede de device 2 , conforme mostrado abaixo?

Device 1:
IP address: 172.20.35.1
netmask: 255.255.0.0
gateway: 172.20.1.1

Device 2:
IP address: 192.168.170.100
netmask: 255.255.255.0
gateway: 192.168.170.1

Com esta configuração de rede, device 2 nunca recebe o datagrama UDP. Por que isso?

EDITAR:

Só para esclarecer. Na verdade não sou novato. O problema descrito é conhecido por mim, pois muitos dos meus clientes tendem a configurar seus dispositivos da maneira descrita acima e acabam impossibilitados de alcançá-los por TELNET . Consegui resolver esse problema implementando um multicast tunnel permitindo que o usuário altere a configuração de rede no dispositivo remoto usando um multicast UDP protocol , sempre que eles estragarem a configuração conforme mostrado acima. Enfim, eu tive uma entrevista por telefone em uma empresa e o gerente disse que o tráfego entre esses dispositivos sempre será possível, porque é para isso que os roteadores são. Fui convidado para uma entrevista pessoal e sei que esta questão surgirá novamente. Então eu postei essa pergunta aqui para me ajudar a formular uma resposta melhor.

    
por H_squared 29.01.2015 / 15:04

2 respostas

2

I'm trying to connect 2 devices in different subnets.

Device 1: IP address: 172.20.35.1 netmask: 255.255.0.0 gateway: 172.20.1.1

Device 2: IP address: 172.20.100.100 netmask: 255.255.255.0 gateway: 172.20.100.1

The router has IP address 172.20.1.1 !! When I send a UDP datagram from device 1 to device 2, device 2 receives it but cannot reply, since the gateway IP address (device 2) is wrong.

O problema real é a sobreposição de sub-redes, combinada com nenhum proxy arp na sua interface de roteador com 172.20.1.1.

O host em 172.20.35.1 acha que 172.20.1.1 está na mesma sub-rede, portanto 172.20.35.1 ARPs diretamente para 172.20.1.100. No entanto, nada está na sub-rede 172.20.0.0/16 para responder.

Existem algumas opções para resolver o problema:

  1. (Hack de curto prazo) Ative o proxy-arp em 172.20.1.1. Enquanto 172.20.1.1 tiver uma rota para 172.20.35.0/24, 172.20.1.1 responderá a ARPs para 172.20.1.100 com seu próprio endereço MAC e assumindo que não há outros problemas, você obterá comunicação bidirecional entre essas sub-redes.

  2. (Long Term) Reorganize sua rede sem sub-redes sobrepostas. Isso requer readdressing hosts; potencialmente muitos hosts.

  3. Execute o NAT em 172.20.35.0/24 para que não pareça a mesma sub-rede que qualquer outra coisa. As soluções NAT podem ser incrivelmente mais difíceis de suportar, mas evita a necessidade de proxy arp.

Also: what if I change the network config of device 2 as shown below.

With this network config, device 2 never receives the UDP datagram. Why is that?

Parece que você precisa de uma rota para 192.168.170.0/24

    
por 29.01.2015 / 19:02
2

Eu acho que existem alguns problemas. O primeiro é este:

without access to router config

Todas as ações sugeridas pelo Mike exigem que você altere a configuração do roteador.

O segundo problema é este:

The router has IP address 172.20.1.1 !!

O tráfego de encaminhamento (isto é, o roteamento) entre as sub-redes A e B é possível se e somente se o roteador tiver interfaces IP em ambas as sub-redes. A interface IP do roteador é o endereço IP, portanto, se o roteador tiver apenas um endereço IP, não será possível rotear.

Você não está esclarecendo o que exatamente quer dizer com "roteador", mas, por exemplo, seu roteador DSL médio funciona dessa maneira. Tem apenas um endereço IP que é usado em sua rede interna, ele recebe o outro endereço IP através da linha DSL do ISP. Assim, ele terminará com dois IPs e poderá rotear o tráfego entre essas duas sub-redes. Você nem sempre tem a opção de criar novas VLANs para ter mais sub-redes no lado da LAN.

Aqui está um pouco de curiosidade. Você configurou seu cliente 1 com endereço IP com sub-rede / 16 (máscara 255.255.0.0). O intervalo de endereços IP da sub-rede 172.20.0.0/16 é 172.20.0.1-172.20.255.255, sendo o último endereço de broadcast. O IP do roteador é geralmente o menor ou o mais alto na sub-rede, então eu esperaria 172.20.0.1 ou 172.20.255.254. Isso não é uma regra, é como normalmente é feito.

Se a sub-rede do seu roteador for realmente / 16, você superará seu primeiro problema com muita facilidade: configure seu segundo dispositivo com a máscara de sub-rede 255.255.0.0 e use o 172.20.1.1 como gateway padrão. Isso irá colocá-lo na mesma sub-rede com o dispositivo 1 e o tráfego fluirá. Isso não é roteamento, isso é comutação L2.

I send a UDP datagram from device 1 to device 2, device 2 receives it but cannot reply, since the gateway IP address (device 2) is wrong.

Isso não necessariamente tem nada a ver com o endereço do seu gateway. O UDP é um protocolo unidirecional. O protocolo em si não contém nenhum mecanismo para enviar respostas ou confirmações. Para que seu dispositivo 2 responda ao datagrama UDP, você deve executar um aplicativo que responderá quando um pacote for recebido. Se você estiver testando a conectividade, use o ping desenvolvido para essa finalidade. O ICMP é um protocolo TCP, portanto é bidirecional. Seu dispositivo 1 enviará uma solicitação de eco ICMP (ou seja, pacote de ping) ao dispositivo 2, que responderá com a resposta do ICMP.

With this network config, device 2 never receives the UDP datagram. Why is that?

Aqui voltamos às interfaces IP. Como Mike diz, você precisa ter uma rota para essa rede, então seu roteador deve ter o endereço IP 192.168.170.1/24.

Voltando ao título da sua pergunta. Se você não conseguir configurar o roteador, a única coisa que você pode fazer é configurar a sub-rede e o gateway do dispositivo 2, conforme descrito acima, e isso funcionará somente se a sub-rede do roteador for / 16. Todas as outras soluções apresentadas até agora exigem acesso à configuração do roteador.

    
por 29.01.2015 / 20:35