Finalmente recebi a resposta.
use "Interface_IP" em vez de "Interface_name" no ping
exemplo:
use
ping -i 192.168.42.122 www.google.co.in
em vez de
ping -i eth0 www.google.co.in
Eu quero configurar o Multi gateway na minha máquina Ubuntu. 1 para ethernet e outro para tethering de USB. Depois de navegar, a partir da referência abaixo
Eu configurei meu sistema de acordo com isso.
Configuração:
O problema é que não consigo fazer ping pela interface 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
Mas traceroute não é capaz de mostrar o gateway corretamente para ambos 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
Informações de roteamento
$ 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
Finalmente recebi a resposta.
use "Interface_IP" em vez de "Interface_name" no ping
exemplo:
use
ping -i 192.168.42.122 www.google.co.in
em vez de
ping -i eth0 www.google.co.in