所以我确信这个问题之前有人问过,因为我花了大约一周的时间研究我能找到的所有解决方案,但是没有一个对我有用,目前我也不知道为什么。基本上我有一个有线和无线网络接口,有线连接到 LAN,LAN 连接到 WAN,另一个是独立的 LAN。到目前为止,我发现最透明的解决方案是这个https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System. 这让我得到了一个路由表
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp10s0
0.0.0.0 10.0.0.1 0.0.0.0 UG 600 0 0 wlp3s0
10.0.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp10s0
我的接口文件
# The loopback network interface
auto lo
iface lo inet loopback
auto wlp3s0
allow-hotplug wlp3s0
iface wlp3s0 inet static
address 10.0.0.2
netmask 255.255.255.0
auto enp10s0
allow-hotplug enp10s0
iface enp10s0 inet dhcp
#Routing
post-up ip route add 10.0.0.0/24 dev wlp3s0 src 10.0.0.2 table rt2
post-up ip route add default via 10.0.0.1 dev wlp3s0 table rt2
post-up ip rule add from 10.0.0.2/32 table rt2
post-up ip rule add to 10.0.0.2/32 table rt2
ip route list table rt2
随后的输出ip rule show
是
0: from all lookup local
32764: from all to 10.0.0.2 lookup rt2
32765: from 10.0.0.2 lookup rt2
32766: from all lookup main
系统期望的结果如下
我已经开始遵循评论中的许多建议,显然,尽管我在接口中定义了我的静态 IP,但我用来保留 IP 的路由器功能仍然使用 DHCP,所以我关闭了 DHCP 服务器,现在无法连接,我最好的猜测是我没有提供足够的信息关于我的接口中的静态 IP,但我不太确定,这就是我现在正在尝试的,我还注释掉了路由部分,因为普遍的共识是我不需要它。为了回应一些评论,我正在运行 Debian stretch,ping 或 ssh 上没有错误消息,它们只是超时。