Мультишлюзовая маршрутизация в Ubuntu

Я хочу настроить Multi Gateway на моей машине с Ubuntu. 1 для Ethernet, а другой для USB-модема. После просмотра из ссылки ниже

https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System

Я настроил свою систему в соответствии с этим.

Конфигурация:

  1. Ethernet как мой маршрут по умолчанию
  2. USB настраивается через iproute2, взято по ссылке с вышеупомянутого сайта

Проблема в том, что я не могу пропинговать через интерфейс USB.

$ ping -I usb0 www.google.co.in
PING www.google.co.in (173.194.117.88) from 192.168.42.122 usb0: 56(84) bytes of data.
icmp_seq=1 Destination Host Unreachable

Но traceroute не может правильно показать шлюз для обоих USB

$ traceroute -i usb0 173.194.117.88
traceroute to 173.194.117.88 (173.194.117.88), 30 hops max, 60 byte packets
1 192.168.200.254 (192.168.200.254)  1.956 ms  2.817 ms *
2 * * *
3 * * *


$ traceroute -i eth0 173.194.117.88
traceroute to 173.194.117.88 (173.194.117.88), 30 hops max, 60 byte packets
1  192.168.200.254 (192.168.200.254)  2.020 ms  2.870 ms  3.568 ms
2  10.251.0.1 (10.251.0.1)  21.041 ms  21.437 ms  21.988 ms

Информация о маршрутизации

$ ip rou
default via 192.168.200.254 dev eth0  proto static 
169.254.0.0/16 dev eth0  scope link  metric 1000 
192.168.42.0/24 dev usb0  proto kernel  scope link  src 192.168.42.122      metric 1 
192.168.200.0/24 dev eth0  proto kernel  scope link  src 192.168.200.102    metric 1

$ ip route list table usbrt
default via 192.168.42.129 dev usb0 
192.168.42.0/24 dev usb0  scope link  src 192.168.42.122 

$ ip route list table usbrt
default via 192.168.42.129 dev usb0 
192.168.42.0/24 dev usb0  scope link  src 192.168.42.122 

$ ip -4 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 inet 192.168.200.102/24 brd 192.168.200.255 scope global eth0
4: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
inet 192.168.42.122/24 brd 192.168.42.255 scope global usb0


$ ip rule show
0:  from all lookup local 
32764:  from all to 192.168.42.122 lookup usbrt 
32765:  from 192.168.42.122 lookup usbrt 
32766:  from all lookup main 
32767:  from all lookup default

1 ответ

Решение

Наконец я получил ответ. используйте "Interface_IP" вместо "Interface_name" в ping
пример:
использование

ping -i 192.168.42.122 www.google.co.in 

вместо

ping -i eth0 www.google.co.in 
Другие вопросы по тегам