O roteamento via subinterfaces não funciona?

1

Estou tentando isolar o tráfego de rede de saída para um destino específico para fins de medição. Por isso, achei que seria o roteamento por meio de um endereço IP dedicado. Para conseguir isso eu configurei uma subinterface eth0:1 , que aparece da seguinte maneira:

# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast  state UP group default qlen 1000
link/ether fa:16:3e:42:ae:d3 brd ff:ff:ff:ff:ff:ff
inet 192.168.111.6/24 brd 192.168.111.255 scope global eth0
   valid_lft forever preferred_lft forever
inet 192.168.111.5/24 brd 192.168.111.255 scope global secondary eth0:1
   valid_lft forever preferred_lft forever

Até aí tudo bem. A peça de roteamento que deveria fazer funcionar é esta:

# ip route add 10.10.0.10 via 192.168.111.1 dev eth0:1

Quando eu verifico a tabela de roteamento, recebo:

# ip route list
default via 192.168.111.1 dev eth0 
10.10.0.10 via 192.168.111.1 dev eth0 
192.168.111.0/24 dev eth0  proto kernel  scope link  src 192.168.111.6 

Observe a segunda linha, que termina em dev eth0 em vez de eth0:1 , como eu esperava, mas até agora isso pode ser apenas um problema de exibição. No entanto, ao observar o tráfego usando tcpdump , fica óbvio que a rota está se comportando como a tela acima sugere, ou seja: tráfego para 10.10.0.10 transita pela interface principal eth0 , usando seu IP 192.168.111.6 em vez de eth0:1's IP 192.168.111.5 .

O mais estranho é que, se eu usar um NIC dedicado (eth1) em vez de uma subinterface como acima, tudo funcionará como esperado. Isso é uma limitação de subinterfaces, um bug ou estou fazendo algo errado?

O SO é o servidor Ubuntu 14.04.3 em execução no kernel 3.13.0-76. É uma VM guest hospedada em um hypervisor KVM (embora eu duvide que isso seja um fator).

    
por sxc731 03.02.2016 / 12:10

1 resposta

2

Você deve conseguir realizar o que quiser usando este comando:

ip route add 10.10.0.10 dev eth0:1 src 192.168.111.5

Se você inserir ip route list , verá a alteração de src .

    
por 03.02.2016 / 13:10