设置默认接口(设置静态 eth0 配置后无法连接到 wifi)

设置默认接口(设置静态 eth0 配置后无法连接到 wifi)

我使用的是 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 描述您其余的内部网络。

相关内容