有两个接口,如何将其中一个设置为默认路由,将另一个设置为备用路由?

有两个接口,如何将其中一个设置为默认路由,将另一个设置为备用路由?

我有一个到工作内联网/局域网的有线连接(带代理),还有一个没有代理的无线连接,无法访问办公室局域网。 (如访客 Wifi)

我的想法是将所有流量路由到 eth0,仅将一些流量(如 ssh)路由到 wlan0。

我对如何做到这一点有一个想法,但不太确定。

好吧,我现在的问题是,当 eth0 和 wlan0 连接时,两者之间的流量似乎是间歇性的,Firefox 有时会尝试通过 wlan0 出去,但找不到代理服务器(因为它在 ETH0 lan 上)。

~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.254 0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.25.0    0.0.0.0         255.255.255.0   U     2      0        0 wlan0
192.168.100.0   0.0.0.0         255.255.255.0   U     1      0        0 eth0
192.168.200.0   192.168.100.253 255.255.255.0   UG    0      0        0 eth0

我该如何修复它,以便 Firefox 不会尝试通过 wlan0 除非我指定它?

~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.100.254 0.0.0.0         UG    0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
192.168.25.0    *               255.255.255.0   U     2      0        0 wlan0
192.168.100.0   *               255.255.255.0   U     1      0        0 eth0
192.168.200.0   192.168.100.253 255.255.255.0   UG    0      0        0 eth0

答案1

Firefox 仅在这种情况下才能通过 wlan0:

1) 如果它想使用地址 169.254.xx/16,这是自动添加的链接本地地址 - 您可以通过卸载avahi*东西来禁用它。

2) 如果您想访问 192.168.25.0/24 网络中的某个地址。

如果您想使用 192.168.25.0/24 中的地址、ssh 协议 wifi0 接口以及您想使用 eth0 的其他协议,则必须使用策略路由:

echo 100 ssh >> /etc/iproute2/rt_tables
ip rule add fwmark 100 table ssh
ip route add 192.168.25.0/24 dev wifi0 table ssh
ip ro add default via 192.168.100.254 dev eth0 table ssh
ip ro del 192.168.25.0/24 dev wifi0 table main
iptables -A PREROUTING -t mangle -p tcp --dport 22 -j MARK --set-mark 100

主要思想是,“正常”路由表对网络 192.168.25.0/24 一无所知,但 ssh 协议却知道。

你可以检查高级绕线指南页。

相关内容