Por isso, pesquisei um pouco por hoje e tentei várias sugestões, mas não consigo fazer isso funcionar. Minha configuração é uma VM com duas NICs virtuais, cada uma com um IP da mesma sub-rede / mesmo gateway padrão:
[root][Primary][~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:07
inet addr:10.192.101.150 Bcast:10.192.101.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe2a:e307/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2179 errors:0 dropped:0 overruns:0 frame:0
TX packets:2147 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:231723 (226.2 KiB) TX bytes:371444 (362.7 KiB)
eth1 Link encap:Ethernet HWaddr 00:0c:00:00:00:11
inet addr:10.192.101.151 Bcast:10.192.101.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe2a:e311/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:253 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42116 (41.1 KiB) TX bytes:798 (798.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)
(Eu tenho uma eth2 e eth3, mas deixando isso para manter as coisas mais simples)
Eu usei o seguinte para adicionar rotas para IPs específicos à interface específica:
ip route add 10.192.101.150 dev eth0
ip route add 10.192.101.151 dev eth1
Minha rota -n se parece com:
[root][Primary][/etc/network]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.192.101.1 0.0.0.0 UG 0 0 0 eth0
10.192.101.150 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
10.192.101.151 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
[root][Primary][/etc/network]#
No entanto, todo o meu tráfego eth1 continua a sair da eth0. Eu também tentei com e sem o gateway 10.192.101.1 definido em eth1 dentro de / etc / network / interfaces.
Alguém sabe o que estou bagunçando aqui?
Editando para adicionar ...
Uma informação adicional. Quando faço uma lista de rotas ip , vejo isto:
[root][Primary][~]# ip route list
default via 10.192.101.1 dev eth0
10.192.101.0/24 dev eth0 proto kernel scope link src 10.192.101.150
10.192.101.0/24 dev eth1 proto kernel scope link src 10.192.101.151
10.192.101.0/24 dev eth2 proto kernel scope link src 10.192.101.152
Então, essa primeira linha, estou assumindo, é por que tudo está saindo da eth0. Eu não estou procurando por um gateway padrão diferente, apenas uma interface diferente para esse gateway usar com base no IP de origem (.151, etc). Se eu mudar essa interface de gateway padrão para eth1, ele funciona, mas então eth0 e todos os outros interfaces de tráfego saem dessa interface eth1, não é algo que eu quero.
Tags networking debian routing linux