![设置默认接口(设置静态 eth0 配置后无法连接到 wifi)](https://linux22.com/image/1556760/%E8%AE%BE%E7%BD%AE%E9%BB%98%E8%AE%A4%E6%8E%A5%E5%8F%A3%EF%BC%88%E8%AE%BE%E7%BD%AE%E9%9D%99%E6%80%81%20eth0%20%E9%85%8D%E7%BD%AE%E5%90%8E%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%20wifi%EF%BC%89.png)
我使用的是 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 描述您其余的内部网络。