Adicionando vários gateways para interfaces físicas separadas com várias métricas / prioridades

2

Meu sistema tem 3 interfaces. Estes são eth0, eth1 e usb0.

A eth0 está vinculada ao meu roteador e é a linha que eu quero usar por padrão. eth1 não é usado. usb0 é um telefone 3G que está ligado.

Meu problema é que eu não posso acessar a internet via eth0 e usb0 ao mesmo tempo. Atualmente, assim que eu mudo o gateway para combinar com cada interface, a outra conexão não responde mais.

Eu tentei adicionar valores de métrica no meu arquivo de interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 usb0
iface lo inet loopback
        allow-hotplug eth0 usb0

# The primary network interface
iface eth0 inet static
        address 192.168.1.67
        netmask 255.255.255.0
        broadcast 192.168.1.254
        network 192.168.1.0
        post-up route add default gw 192.168.1.254 metric 1
        pre-down route del default gw 192.168.1.254


iface usb0 inet static
        address 192.168.42.86
        netmask 255.255.255.0
        broadcast 192.168.42.254
        network 192.168.42.0
        post-up route add default gw 192.168.42.129 metric 2
        pre-down route del default gw 192.168.42.129

Não é um tribunal quando ele é iniciado, apenas o usb0 é realmente acessível. Quando eu verifico as rotas, posso ver que não há gateway para a eth0.

~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.42.129  0.0.0.0         UG    0      0        0 usb0
0.0.0.0         192.168.42.129  0.0.0.0         UG    2      0        0 usb0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 usb0

E quando tento acessar a internet por meio de cada um deles. eth0 me dá o seguinte:

~# ping -I eth0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.1.67 eth0: 56(84) bytes of data.
From 192.168.1.67 icmp_seq=1 Destination Host Unreachable
From 192.168.1.67 icmp_seq=2 Destination Host Unreachable
From 192.168.1.67 icmp_seq=3 Destination Host Unreachable
From 192.168.1.67 icmp_seq=4 Destination Host Unreachable
From 192.168.1.67 icmp_seq=5 Destination Host Unreachable
From 192.168.1.67 icmp_seq=6 Destination Host Unreachable
^C
--- 8.8.8.8 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6030ms

No entanto, usb0 tem acesso à internet.

~# ping -I usb0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.42.86 usb0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=43 time=188 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=43 time=127 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=43 time=108 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=43 time=98.3 ms
64 bytes from 8.8.8.8: icmp_req=5 ttl=43 time=96.9 ms
64 bytes from 8.8.8.8: icmp_req=6 ttl=43 time=165 ms
64 bytes from 8.8.8.8: icmp_req=7 ttl=43 time=226 ms
^C
--- 8.8.8.8 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6002ms
rtt min/avg/max/mdev = 96.981/144.575/226.027/46.357 ms

Não consigo ver onde estou dando errado e, em algumas ocasiões, embora não com frequência, recebo o seguinte no meu ping:

64 bytes from 8.8.8.8: icmp_req=3 ttl=43 time=132 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=43 time=672 ms (DUP!)
64 bytes from 8.8.8.8: icmp_req=3 ttl=43 time=1212 ms (DUP!)

Qualquer ajuda seria muito apreciada.

    
por loony383 02.09.2013 / 21:43

0 respostas