O que é equivalente ao servidor Windows para "ip route add X dev X"


0

Eu tenho duas sub-redes na rede local - preciso acessar de um a segundo pelas portas locais sem usar o gateway.

No Linux eu estou usando isso:

ip route add 90.5.5.0/24 dev eth0 (o servidor tem IP, por exemplo, 91.6.6.5). Os dados estão sendo enviados diretamente para o MAC - "portanto, fique apenas no roteador".

Como posso definir isso no Windows também, por favor?

Obrigado Pavel

EDIT : isso não é duplicado com Especificar rota para uma interface no cmd do Windows - meu problema é cerca de duas / 24 sub-redes de uma interface em uma rede física local - não preciso usar o gateway para acessar a segunda sub-rede - mas como?



Eu não acho - veja minha edição, por favor.
Pavel

Então, você só precisa acessar as duas sub-redes de uma NIC física? Desculpe, eu não siga ... talvez seja muito cedo no dia, mas então eu não entendo a correlação entre ip route add 90.5.5.0/24 dev eth0, I have two subnets in local networkea questão.
Lenniey 28/03/19

Desculpe, talvez o meu inglês ruim seja o problema :). Mas sim. Eu tenho esses dois servidores em um phys local. rede. Um servidor possui, por exemplo, 91.6.6.5 (de / 24) e o segundo possui 90.5.5.81 (de / 24). O que eu preciso é que o tráfego seja enviado diretamente à porta do roteador dos dois servidores. Agora, o tráfego vai primeiro ao gateway, que é outro roteador na rede e isso satura a porta do roteador que está conectada ao gateway.
Pavel

Então: s1 eth0=192.168.0.1, eth1=91.6.6.5, s2 eth0=192.168.0.2, eth1=91.5.5.81, por exemplo? E os dois devem enviar o tráfego para um roteador especial, e não o gateway padrão de saques?
Lenniey

Respostas:


1

Você está assumindo que a pilha de rede do Windows é implementada exatamente da mesma forma e com as mesmas otimizações da pilha de rede do Linux. Isto não é necessariamente verdade.

Mas se eu entendi corretamente, primeiro você deve usar netsh interface ipv4 show interfacespara identificar o número da interface à qual deseja anexar a especificação de rota. Vou usar [IFnumber]identificar esse número.

Então, se o endereço IP do sistema for 91.6.6.5, a entrada da rota para informar que a rede 90.5.5.0/24 também está diretamente conectada através da mesma NIC, a sintaxe seria:

route add 90.5.5.0 mask 255.255.255.0 91.6.6.5 IF [IFnumber]

Em outras palavras: na sintaxe do routecomando do Windows , é obrigatório especificar o endereço IP do gateway. Mas se você não quiser usar um gateway, precisará especificar o próprio endereço IP da interface no lugar do gateway, para satisfazer os requisitos de sintaxe.

Você pode tentar isso e ver se funciona. Se o fizer route print, deve dizer agora que a rede 90.5.5.0 está "On-link" para a mesma interface que possui o endereço IP 91.6.6.5. Adicione uma -popção ao comando para armazenar a rota persistentemente, se desejar.

Mas se não funcionar, você deve reconhecer que essa é uma maneira não padrão de fazer redes IP e não é garantido que seja bem-sucedido em todas as implementações. Também fará com que os pacotes enviados deste sistema para o segmento 90.5.5.0/24 tenham um endereço IP de origem tecnicamente inválido; mas se os sistemas analisarem apenas o endereçamento da camada 2 ("enviando diretamente para o MAC"), isso poderá funcionar. Se uma das extremidades tiver um firewall de software que possua um filtro interno para pacotes inválidos, isso poderá ser um empecilho para essa técnica.

A maneira normal de lidar com isso seria adicionar um endereço IP secundário (dentro do segmento 90.5.5.0/24) à interface de rede. A adição desse IP adicionaria automaticamente uma rota semelhante à tabela de roteamento e garantiria a existência de um endereço IP de origem válido ao enviar pacotes ao segmento 90.5.5.0/24.


0

Se você não precisar usar um gateway para acessar a outra rede, não precisará de roteamento e poderá adicionar um segundo IP à sua NIC.

Propriedades IPv4 -> Avançadas ... -> Endereços IP: Adicionar ...

Se você está pensando em encaminhamento de porta entre duas redes conectadas, isso pode ser feito com:

netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33

Estes são IPs de sub-redes públicas - eu gostaria de salvar esses IPs. Esta situação está em mais servidores. É possível no Linux - portanto, no Windows, deve haver alguma maneira de resolver isso com uma rota estática que preencherá as entradas ARP da segunda sub-rede. :-)
Pavel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.