如何设置优先选择 wlan dhcp 接口作为默认路由的路由表?

如何设置优先选择 wlan dhcp 接口作为默认路由的路由表?

eth0有一个静态IP设置/etc/interfaces

wlan0动态获取IP

如何更改我的路由表以及在哪里放置命令以始终将 wlan0 设为默认路由以便互联网访问正常?现在我可以使用 eth0 或 wlan0 ssh 进入盒子,但互联网访问始终通过 eth0 路由,这不起作用。

另外,auto 和allow-hotplug 是矛盾的选项吗?

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.20.1    0.0.0.0         UG    0      0        0 eth0
192.168.10.0    *               255.255.255.0   U     0      0        0 wlan0
192.168.20.0    *               255.255.255.0   U     0      0        0 eth0

source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
        address 192.168.20.2
        netmask 255.255.255.0
        gateway 192.168.20.1
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

答案1

要定义首选接口,请在接口中使用 metric 指令。值越高,优先级越低。

allow-hotplug eth0
iface eth0 inet static
    address 192.168.20.2
    netmask 255.255.255.0
    gateway 192.168.20.1
    metric 30
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    metric 10

然后使用以下命令重新启动网络服务:

service networking restart

Debian 参考 - 第 5 章. 网络设置

ifmetric 包使我们能够操作事后路由的度量,甚至对于 DHCP 也是如此。

以下将 eth0 接口设置为优先于 wlan0 接口。

安装 ifmetric 包。

在“/etc/network/interfaces”中的“iface eth0 inet dhcp”行下方添加一个带有“metric 0”的选项行。

在“/etc/network/interfaces”中的“iface wlan0 inet dhcp”行下方添加一个带有“metric 1”的选项行。

度量值 0 表示最高优先级路由,并且是默认路由。度量值越大,意味着优先级越低的路由。具有最低度量值的活动接口的 IP 地址将成为原始接口。请参阅 ifmetric(8)。

相关内容