如果以太网电缆已插入,我想关闭 wlan0。我使用的是 Ubuntu 系统 - 它使用 systemd。因此,我想要一种 systemd 友好的方式来执行此操作。
我也想做相反的事情。我想在拔掉以太网电缆时启动 wlan0。
与此相关的问题 - 我还需要更新路由表吗?
答案1
经典解决方案:
对于像 ubuntu 这样基于 debian 的系统,基于网络状态的命令可以设置为以下规则/etc/network/interfaces
:这个答案演示了两个接口的情况eth0
和wlan0
- 使用 sudo,
/etc/network/interfaces
使用文本编辑器打开(该文件包含网络接口的规则和设置,还请注意网络管理器不应管理此文件中列出的接口)
sudo notepadqq /etc/network/interfaces
- 根据您的需要使用, (
pre-up
和pre-up
) 或 (post-down
和post-up
) 当网络线插/拔时关闭 wlan0 接口您可以使用ifconfig wlan0 down
或ip link set wlan0 down
(示例是使用 ifconfig)...示例:
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1
post-up ifconfig wlan0 down
post-down ifconfig wlan0 up
Systemd 替代解决方案:
官方文档这里解释 systemd 支持什么,以及像经典解决方案一样直接简单的解决方案截至 05/2019 尚未实施
Systemd 替代解决方案:
也可以使用调度程序来触发脚本,如上所述这个答案,那个或者本文
Systemd 替代解决方案:
正如您在评论中链接的那样这个答案可以是通过服务实现的替代解决方案
有关的: