Мультишлюзовая маршрутизация в Ubuntu
Я хочу настроить Multi Gateway на моей машине с Ubuntu. 1 для Ethernet, а другой для USB-модема. После просмотра из ссылки ниже
https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System
Я настроил свою систему в соответствии с этим.
Конфигурация:
- Ethernet как мой маршрут по умолчанию
- 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