Так что я сегодня довольно много гуглил и попробовал несколько предложений, но не могу заставить это работать. Моя установка - это виртуальная машина с двумя виртуальными сетевыми картами, каждая с IP-адресом из той же подсети / того же шлюза по умолчанию:
[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)
(У меня есть eth2 и eth3, но я упускаю это, чтобы все было проще)
Затем я использовал следующее, чтобы добавить маршруты для определенных IP-адресов к определенному интерфейсу:
ip route add 10.192.101.150 dev eth0
ip route add 10.192.101.151 dev eth1
Мой маршрут -n выглядит так:
[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]#
Тем не менее, весь мой трафик eth1 все еще продолжает выходить из eth0. Я также попробовал это с шлюзом 10.192.101.1 и без него, установленным на eth1 внутри /etc /network /interfaces.
Кто-нибудь знает, что я тут испортил?
Редактирование, чтобы добавить ...
Еще один кусок информации. Когда я делаю список маршрутов IP, я вижу это:
[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
Итак, я полагаю, что первая строка - это то, почему все идет своим чередом Я не обязательно ищу другой шлюз по умолчанию, просто другой интерфейс для этого шлюза для использования на основе исходного IP (.151 и т.д.). Если я изменяю этот интерфейс шлюза по умолчанию на eth1, он работает, но тогда eth0 и любой другой интерфейсный трафик уходит через этот интерфейс eth1, а не то, что мне нужно.