我正在尝试配置我的网络接口。我想在插入以太网电缆时禁用我的无线接口。当我拔出以太网电缆时,我的无线接口应该再次启用。
我已经创建了/etc/network/if-up.d/wlan-down:
#!/bin/sh
[ "$IFACE" != "eth1" ] || exit 0
ifdown wlan0
exit 0
和 /etc/network/if-down.d/wlan-up:
#!/bin/sh
[ "$IFACE" != "eth1" ] || exit 0
ifup wlan0
wpa_cli -i wlan0 reassociate
exit 0
但它似乎根本不起作用。WPA 仍然一直尝试连接。我可以看到 wlan0 一直出现和消失。我的问题是:
- 我如何调试这些脚本,例如发生了什么以及执行了什么?
- 实现我所追求的目标的正确方法是什么?
- 另外,当我断开以太网电缆时似乎什么也没有发生。接口已启动,并且已分配 IP 地址。在这种情况下,我想将其关闭,以便我可以使用无线连接。
我使用的是 Debian 不稳定版
答案1
答案2
看起来ifplugd
软件包里有我需要的所有脚本!安装后:
apt-get install ifplugd
并将 eth1 添加到配置文件后,/etc/default/ifplugd
一切都开始按我想要的方式工作,无需添加任何额外的脚本(我将所有内容清理到初始状态)。
感谢大家的帮助
答案3
这是一个可能的“未经测试”的解决方案,
在你的 /etc/network/interfaces
allow-hotplug eth0
iface eth1 inet dhcp
down ifconfig wlan0 up
down wpa_cli -i wlan0 reassociate
up ifconfig wlan0 down
allow-hotplug wlan0
iface wlan0 inet dhcp
up ifconfig eth0 down
down ifconfig eth0 up
好吧,这是我的意见,我使用上述设置根据我的服务器上的接口启动/关闭来修改路由,它可能也适用于你,我使用接口文件执行此操作的原因是即使使用 755,我的脚本似乎也无法从 /ifup.d 目录执行。
如果它有效请告诉我不幸的是我没有带 wifi 卡的 debian 机器可以测试 :(
答案4
您想要在 /etc/network/ 子树中设置某些内容,也许像 womble 建议的那样,通过增加 wifi 路由的度量,或者也许通过其他方式,包括涉及 /etc/network/if-up.d/ 中的自定义脚本,如果以太网接口出现,该脚本将关闭 wifi 接口。
有关为 /etc/network/if-up.d/ 制作脚本的信息位于接口手册页的“IFACE OPTIONS”部分下。