A rota estática produz um erro de host inacessível

2

Eu tenho um servidor Linux com três interfaces - uma para rede, duas internas, abaixo são mostradas as internas:

eth1
inet addr:192.168.10.253
Bcast:192.168.255.255
Mask:255.255.0.0

eth2
inet addr:10.10.10.253
Bcast:10.10.10.255
Mask:255.255.255.0

Ter uma máquina de trabalho interna com porta 192.168.10.253 e ip dessa sub-rede e outra com porta 10.10.10.253 e ip de sua sub-rede. Eu preciso ser capaz de ter acesso entre essas máquinas.

Na caixa linux eu tenho a seguinte tabela de roteamento:

default via * dev eth0
10.10.10.0/24 dev eth2  proto kernel  scope link  src 10.10.10.253
* dev eth0  proto kernel  scope link  src *
192.168.10.0/16 dev eth1  proto kernel  scope link  src 192.168.10.253

Eu adicionei uma rota estática:

route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.10.253

e o resultado

10.10.10.0/24 via 192.168.10.253 dev eth1 scope link

mas quando eu tento pingar da eth1 uma interface em execução 10.10.10.2 ele sempre deixa o host de destino inacessível. O que estou perdendo como configuração?

A configuração básica é mostrada aqui:

Quando faço ping de eth1

ping 10.10.10.2 -I eth1
PING 10.10.10.2 (10.10.10.2) from 192.168.10.253 eth1: 56(84) bytes of data.
From 192.168.10.253 icmp_seq=1 Destination Host Unreachable

e quando eu ping de eth2:

ping 10.10.10.2 -I eth2
PING 10.10.10.2 (10.10.10.2) from 10.10.10.253 eth2: 56(84) bytes of data.
64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=0.547 ms
    
por modzozo 04.09.2017 / 12:35

2 respostas

1

De acordo com o seu diagrama de rede, não há link físico do dispositivo 192.168.10.253 para a rede 10.10.10.0/24 , portanto não há nenhuma maneira na Terra de esperar obter uma resposta quando você faz ping 10.10.10.2 de eth1 . A única maneira de fazer ping de 10.10.10.2 com êxito é que a solicitação de ping saia de eth2 .

Se você realmente precisa que isso funcione, a solução é conectar 192.168.10.253 a 10.10.10.2 e criar uma rota. Como você faz isso depende da natureza das duas caixas. Se eles são servidores, eles podem ter uma segunda porta de rede que você pode conectar (e configurar apropriadamente). Se eles não tiverem uma segunda interface de rede, provavelmente você estará sem sorte, sem alterar completamente a configuração de sua rede. Minha sugestão, como você provavelmente está em um pouco do problema XY , é postar uma nova pergunta descrevendo o que você precisa alcançar , não como você está tentando alcançá-lo.

    
por 04.09.2017 / 14:14
0

Você não precisa de outra rota para permitir que os usuários das sub-redes privadas se comuniquem. Você só precisa dos seguintes comandos:

iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Os dois primeiros comandos informam ao firewall para permitir que o tráfego flua entre as duas sub-redes privadas, e o terceiro comando faz o mesmo no nível do kernel. Você precisa de ambos.

Isso é tudo.

    
por 05.09.2017 / 22:49