Como adicionar uma rota para uma sub-rede específica?

1

Eu tenho um computador Linux e uma interface eth0 com 2 IPs:

ip : 10.10.1.1
mask : 255.128.0.0
gw : 0.0.0.0

ip : 10.22.32.1
mask : 255.255.255.0
gw : 10.22.32.254

Eu gostaria de adicionar um gateway específico para a rede 10.22.0.0/16, então foi o que fiz:

route add -net 10.22.0.0/16 gw 10.22.32.254 dev eth0

Isso não funciona e não consigo mais acessar máquinas no 10.10.0.0. Aqui está a tabela de roteamento:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 eth0
10.0.0.0        0.0.0.0         255.128.0.0     U     1      0        0 eth0
10.22.0.0       10.22.32.254    255.255.0.0     UG    0      0        0 eth0
10.22.32.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0

Falha porque 10.22.0.0/16 é uma subparte de 10.10.0.0/9?

    
por user220746 22.05.2014 / 10:51

2 respostas

0

O layout da rede tem vários problemas:

  1. Como Stache apontou, o suposto roteador para 10.22.0.0/16 precisa ter uma interface acessível na sub-rede "10.10.1.1/9" (veja abaixo). Como é, só pode ser alcançado dentro da mesma sub-rede que não faz sentido.
  2. A sub-rede "10.10.1.1/9" é, na verdade, a sub-rede 10.0.0.0/9 que contém a sub-rede 10.22.0.0/16 , que é provavelmente de onde vem toda a confusão.
  3. A primeira informação que você fornece é que você usa a sub-rede 10.22.32.0/ 24 - você precisará ordenar isso também. Você pode superredir e criar sub-redes nas rotas, mas precisa se certificar de que elas se encaixam.

Você precisará classificar endereços e máscaras de sub-rede. Se você usar 10.10.0.0/ 16 , poderá usar 10.22.0.0/16 como uma sub-rede distinta, mas precisará de um roteador com uma interface dentro de cada sub-rede .

    
por 21.07.2017 / 19:38
0

O computador usa o endereço IP de destino para decidir qual rota escolher. Seu comando diz que, para um endereço IP de destino que corresponda a 10.22.0.0/16 , você deve enviá-lo diretamente para 10.22.32.254 para roteamento adicional. Com base na sua tabela de roteamento, tudo o que não corresponder a 10.x ou 169.x será colocado diretamente na linha, não passado à máquina do roteador.

Isso parece para trás. Se você pode alcançar 10.22.332.254 para enviar esses pacotes, provavelmente você já tem uma interface que corresponde a 10.22.0.0/16 , o que significa que esses pacotes podem ir direto na linha sem serem passados para um gateway / roteador. O que você provavelmente quer é que qualquer coisa que corresponda a 10.22.x.x fique diretamente na linha, enquanto qualquer outra coisa (a Internet, por exemplo) seja passada para o roteador em 10.22.32.254 :

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.22.32.254    0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
10.22.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth0
    
por 21.07.2017 / 18:15