我使用的是 Alpine Linux。我能够通过 wpa_supplicant 连接到 wifi,直到我设置了静态 eth0 配置,导致我的/etc/network/interfaces
文件显示如下
auto lo
face lo init loopback
auto wlan0
face wlan0 init manual
up ip link set $IFACE up
down ip link set $IFACE down
auto eth0
face eth0 init static
address 192.168.1.100
net mask 255.255.255.0
gateway 192.168.1.1
现在我的以太网可以工作了,但如果我想连接到 wifi,我必须注释文件的最后 5 行,重新启动,然后我才能再次连接(但当然我失去了使用以太网的能力)。
这是输出route -n
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 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
这是输出ip route show
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 scope link src 192.168.1.100
192.168.2.0/24 dev wlan0 scope link src 192.168.2.24
我认为该问题是由 输出的第一行描述的ip route show
。
如何使 wlan0 成为连接的默认选择,并在 wlan0 不可用时告诉操作系统使用 eth0?
答案1
无法让两个默认网关(用于不同的目标网络)正常工作。如果您想要同时访问互联网和内部网络,一种选择是使用显式静态路由到内部子网,并让您的 wifi(互联网)路由器成为唯一的默认网关。
只需注释掉“网关”行并添加静态路由,可能如下所示:
auto eth0
face eth0 init static
address 192.168.1.100
net mask 255.255.255.0
up ip route add 10.0.0.0/8 via 192.168.1.1
假设 10.0.0.0/8 描述您其余的内部网络。