双网卡默认路由
双网卡在两个都是default路由时,会怎样选择路径?
pi@raspberrypi:~ $ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.10.68.1 0.0.0.0 UG 202 0 0 eth0
default 172.20.10.1 0.0.0.0 UG 303 0 0 wlan0
10.10.68.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 303 0 0 wlan0
pi@raspberrypi:~ $ ping www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4184ms
由于我的有线eth0连接的是公司的网络,上网受限,所以ping百度ping不通。
然后我又加了一条路由
pi@raspberrypi:~ $ sudo route add default gw 172.20.10.1
pi@raspberrypi:~ $ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 172.20.10.1 0.0.0.0 UG 0 0 0 wlan0
default 10.10.68.1 0.0.0.0 UG 202 0 0 eth0
default 172.20.10.1 0.0.0.0 UG 303 0 0 wlan0
10.10.68.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 303 0 0 wlan0
结果ping百度就ping通了
pi@raspberrypi:~ $ ping www.baidu.com
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=1 ttl=56 time=39.2 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=2 ttl=56 time=58.0 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=3 ttl=56 time=41.6 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=4 ttl=56 time=39.9 ms
总结:
多条默认路由,那条靠前就用哪个。
想两个都用需要加策略:
一般保留出口为default,连接内网的去掉default,加入内网网段的路由即可。
当然也有两个接口都可以访问外网的,那就需要自己做策略了,分协议走不同的接口,比如www走eth0,ftp走eth1等。
参考: