Rotas ligadas a interfaces virtuais, Debian, e como determinar detalhes, após o fato

5

Eu comecei recentemente um novo trabalho e herdei uma infraestrutura existente com muitos problemas.

Um dos problemas é que o administrador anterior adicionou rotas estáticas a alguns servidores, ligadas a interfaces virtuais, na linha de comando, sem comprometê-las com as configurações do servidor. Eu descobri isso por acaso, navegando pela história da raiz.

O problema que enfrento é que a história é limitada. Eu só tenho algumas entradas de linha de comando - mas nem todas elas. No entanto, nenhuma das ferramentas de diagnóstico com as quais estou familiarizado revelará quais rotas de interfaces virtuais estão vinculadas.

Para ser específico, (com endereços IP para a privacidade do sistema), é claro:

root@web-a:/home/paul# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
14.17.24.24     10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
14.17.24.23     10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
18.29.146.135   10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
58.21.196.19    10.124.74.65    255.255.255.255 UGH   0      0        0 eth0
10.124.74.64    0.0.0.0         255.255.255.192 U     0      0        0 eth0
0.0.0.0         10.124.74.65    0.0.0.0         UG    0      0        0 eth0

root@mweb-a:/home/paul# ip route show
14.17.24.24   via 10.124.74.65 dev eth0  src 10.124.74.73
14.17.24.23   via 10.124.74.65 dev eth0  src 10.124.74.73
18.29.146.135 via 10.124.74.65 dev eth0  src 10.124.74.73
58.21.196.19  via 10.124.74.65 dev eth0  src 10.124.74.73
10.124.74.64/26 dev eth0  proto kernel  scope link  src 10.124.74.69
default via 10.124.74.65 dev eth0

root@web-a:/home/paul# history|grep "route add"
66  2012-07-26 14:46:27 - route add -net 14.17.24.23  netmask 255.255.255.255 gw 10.124.74.65 eth0:2
67  2012-07-26 14:46:27 - route add -net 14.17.24.24  netmask 255.255.255.255 gw 10.124.74.65 eth0:2

Espero que isso tenha sido claro. 'route -n', 'ip route show', nem mostra a interface virtual real à qual a rota estava vinculada. Então eu tenho duas rotas que eu não sei qual virt interface elas devem ir (existem cinco IPs virtuais no servidor).

Agora, uma ressalva importante aqui é que eu sugo no roteamento. Eu entendo o básico - mas é isso. Eu tenho sido um administrador unix / sistemas por um longo tempo, mas o roteamento sempre me iludiu, e eu nunca tive a necessidade de fazer nada mais avançado do que o correto encaixe de algumas interfaces.

O que eu estou chegando é que eu nem sei se importa que as rotas sejam ligadas a interfaces virtuais específicas. A julgar pela saída, suspeito que, como tudo está saindo pelo mesmo gateway (e todas as interfaces virtuais estão na mesma rede 10.124.74), elas não precisam estar vinculadas a interfaces virtuais individuais. Eu acho que eles poderiam apenas estar ligados à interface física.

Eu não estou disposto a operar com base no princípio de "está tudo bem", no entanto.

Ajuda com clareza seria muito apreciada.

    
por anastrophe 27.07.2012 / 22:43

1 resposta

5

As interfaces virtuais (por exemplo, eth0:0 ) são um hack criado para suportar vários endereços IP em uma única interface em ifconfig . Eles realmente não existem - eles são exatamente como você diz ifconfig qual endereço IP você deseja modificar. O kernel e as ferramentas iproute2 (por exemplo, ip ) não conhecem essas interfaces virtuais, e é por isso que tudo menciona apenas a interface real. O comando route pode ter usado a interface virtual para determinar o endereço de origem a ser usado, mas, caso contrário, seria descartado.

Você deve trabalhar com a ferramenta ip , que suporta vários endereços em uma interface, e usar o parâmetro src para ip route se precisar definir um endereço de origem específico para uma rota.

    
por 27.07.2012 / 23:15