加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

debian – systemd:如何有选择地禁用特定WLAN接口的wpa_supplic

发布时间:2020-12-13 16:52:46 所属栏目:Linux 来源:网络整理
导读:在具有systemd和networkd的 Linux系统上,我需要在一个WLAN接口上操作WLAN接入点,同时在正常站(“客户端”)模式下进一步操作(热插拔)WLAN接口. 事实证明,wpa_supplicant.service在我的所有WLAN接口上都可以使用,如果只有所有这些WLAN接口都可以在站/客户端模
在具有systemd和networkd的 Linux系统上,我需要在一个WLAN接口上操作WLAN接入点,同时在正常站(“客户端”)模式下进一步操作(热插拔)WLAN接口.

事实证明,wpa_supplicant.service在我的所有WLAN接口上都可以使用,如果只有所有这些WLAN接口都可以在站/客户端模式下运行,那就没问题了.但是,虽然wpa_supplicant.service服务于WLAN接口,但是不可能(不再是?)hostapd.service在AP接入点模式下操作该WLAN接口.

所以我想只为特定的接口禁用wpa_supplicant.service,比如说wls35u2.我的想法是有一个wpa_supplicant@wls35u2.service单元,我可以有选择地禁用,但是启用wpa_supplicant.service.但是,这似乎没有用,或者我在wpa_supplicant@wls35u2.service中做错了.

那么,如何在不全局禁用特定接口的情况下禁用WPA请求者服务呢?

解决方法

我有同样的问题. @Nproject找到了一个很好的解决方案.但是您不必修改每个程序.只需转到Nproject提到的文件的末尾(/ lib / dhcpcd / dhcpcd-hooks / 10-wpa_supplicant)并修改以下if子句:

原版的

if [ "$ifwireless" = "1" ] && 
    type wpa_supplicant >/dev/null 2>&1 && 
    type wpa_cli >/dev/null 2>&1
then
        case "$reason" in
        PREINIT)        wpa_supplicant_start;;
        RECONFIGURE)    wpa_supplicant_reconfigure;;
        DEPARTED)       wpa_supplicant_stop;;
        esac
fi

以这种方式添加[“$interface”!=“TheInterfaceWPASupplicantShouldBeDisabledOn”]:

改性

if [ "$ifwireless" = "1" ] && [ "$interface" != "TheInterfaceWPASupplicantShouldBeDisabledOn" ]  && 
    type wpa_supplicant >/dev/null 2>&1 && 
    type wpa_cli >/dev/null 2>&1
then
        case "$reason" in
        PREINIT)        wpa_supplicant_start;;
        RECONFIGURE)    wpa_supplicant_reconfigure;;
        DEPARTED)       wpa_supplicant_stop;;
        esac
fi

此外,这将阻止任务栏中的网络管理器(GUI)显示此界面.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读