当通过 LAN 连接时,如何将 linux 机器配置为忽略 wifi?

Dav*_*ger 7 networking linux

我的笔记本电脑设置为自动连接到我的校园 wifi 网络,这在大多数情况下是可取的。然而,在我的办公室,信号很差,所以我依靠有线连接。不幸的是,我的机器试图建立两个连接。有两个问题:

  1. 这种 wifi 连接很糟糕,即使我有以太网电缆,流量似乎也会通过它。
  2. 通常连接到 wifi 需要输入密码才能解锁我的钥匙圈。

我想我可以使用这个问题来解决问题 1 ,但是问题 2 最好不要首先尝试建立连接来解决。有什么建议吗?

Dar*_*oid 5

您需要配置接口的度量,它定义“延迟”或“缓慢”。

首先,安装适合ifmetric您的发行版的程序,这使您可以轻松更改接口的指标。

接下来,您要编辑连接网络接口时/etc/network/interfaces的调用:ifmetric

iface eth0 inet dhcp
    up ifmetric eth0 10

iface wlan0 inet dhcp
    up ifmetric wlan0 20
Run Code Online (Sandbox Code Playgroud)

(我假设eth0这里是有线接口,并且wlan0是无线接口。iface线路周围可能还有其他线路,您要添加的关键部分是

    up ifmetric wlan0 20
Run Code Online (Sandbox Code Playgroud)

部分。这告诉系统应该假设wlan0接口的速度是接口的两倍eth0。这将导致您的系统使用有线接口(如果已连接),但会自动回退到无线接口。

根据您的发行版,可能有一个 GUI 工具可以更轻松地进行配置(例如 Ubuntu 发行版中的 NetworkManager)


VL-*_*-80 1

如果您的计算机有硬件开关来禁用/启用 WiFi 卡,您可以在办公室时将其关闭。

如果您的计算机没有开关,您可以关闭无线接口。通过做:

ifconfig wlan0 down
Run Code Online (Sandbox Code Playgroud)

wlan0无线接口的名称在哪里。

离开办公室后,您可以将其重新打开:

ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)

您可以通过发出以下命令来获取网络接口列表:

ifconfig -a
Run Code Online (Sandbox Code Playgroud)

那应该可以解决你的问题。