阻止与开放 WiFi 网络的连接

阻止与开放 WiFi 网络的连接

我的用户在公司笔记本电脑上使用 Ubuntu。他们没有 sudo 权限。IT 安全策略拒绝连接开放 WiFi 网络。如何设置网络管理器以拒绝连接到该网络并仅允许连接到加密无线网络?

用户将连接到随机 wifi。我不想将连接限制在已知的 wifi 网络。

答案1

有一个目录/etc/network/if-up.d。此目录中的脚本在建立新连接时运行。我编写了脚本来检查 wifi 网络的连接模式以及它是开放的还是 WEP 连接断开。

#!/bin/bash

encryption=$(wpa_cli status | grep pairwise_cipher | cut -d "=" -f 2)
wifiname=$(wpa_cli status | grep -w ssid | cut -d "=" -f 2)
interface=$(wpa_cli status | grep interface | cut -d " " -f 3 | tr -d "'")

if [[ $encryption == WEP* ]]; then
    nmcli device disconnect $interface
fi
if [[ $encryption == NONE ]]; then
    nmcli device disconnect $interface
fi

答案2

  1. 更改网络管理器的访问权限
  2. 从配置中删除所有打开的 wifi
  3. 检查自动连接到您的 wifi 配置,并通过添加您的 ap 的 mac 地址来强制执行配置。

如何在网络管理器中禁止 Wi-Fi 网络?

答案3

我认为只有一种方法可以做到这一点。

您可以禁用网络管理器并在其中设置特定的无线网络/etc/network/interfaces

如果您在那里设置了接口,NM 将自动停止管理该接口。

答案4

  • 我认为最好的方法是使用包含您需要的所有变量的预脚本:

    /etc/network/if-pre-up.d/
    

    例如检查:/etc/network/if-pre-up.d/wireless-tools

    遗憾的是,NetworkManager/dispatcher 尚未实现它。请参阅:

    /etc/NetworkManager/dispatcher.d/01ifupdown

    # pre-up/pre-down not implemented. See
    # https://bugzilla.gnome.org/show_bug.cgi?id=387832
    #        pre-up)
    #            export MODE="start"
    #            export PHASE="pre-up"
    #            run-parts /etc/network/if-pre-up.d
    #            ;;
    #        pre-down)
    #            export MODE="stop"
    #            export PHASE="pre-down"
    #            run-parts /etc/network/if-down.d
    #            ;;
    
  • 无论如何,我看到你已经使用了/etc/network/if-up.d。它没有你想要的所有信息,比如加密类型,但它有一些信息,比如接口名称和 WiFi SSID。你可以最大限度地减少外部调用。

    您可以使用如下简单脚本来研究任何环境:

    #!/bin/sh
    #myuser
    
    logfile=/home/myuser/Desktop/wireless-pre-up.log
    
    touch $logfile
    
    echo args: $@ >> $logfile
    env >> $logfile
    echo == >> $logfile
    

    输出(wireless-pre-up.log):

    args: wlan0 up
    DHCP4_REQUESTED_NTP_SERVERS=1
    DHCP4_REQUESTED_TIME_OFFSET=1
    DHCP4_SUBNET_MASK=255.255.255.0
    DHCP4_REQUESTED_DOMAIN_SEARCH=1
    DHCP4_REQUESTED_HOST_NAME=1
    DHCP4_REQUESTED_MS_CLASSLESS_STATIC_ROUTES=1
    CONNECTION_UUID=35821fc8-d6ce-4fb2-bb5d-ac4a52aa931e
    DHCP4_REQUESTED_SUBNET_MASK=1
    DEVICE_IFACE=wlan0
    IP4_NAMESERVERS=192.168.1.1
    DHCP4_DHCP_SERVER_IDENTIFIER=192.168.1.1
    DHCP4_REQUESTED_NETBIOS_NAME_SERVERS=1
    DHCP4_REQUESTED_DOMAIN_NAME=1
    DHCP4_DHCP_LEASE_TIME=86400
    DHCP4_EXPIRY=1441408529
    DHCP4_NETWORK_NUMBER=192.168.1.0
    IP4_NUM_ADDRESSES=1
    DHCP4_ROUTERS=192.168.1.1
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    IP4_NUM_ROUTES=0
    IP4_ADDRESS_0=192.168.1.4/24 192.168.1.1
    DEVICE_IP_IFACE=wlan0
    DHCP4_REQUESTED_ROUTERS=1
    DHCP4_REQUESTED_STATIC_ROUTES=1
    DHCP4_BROADCAST_ADDRESS=192.168.1.255
    DHCP4_IP_ADDRESS=192.168.1.4
    DHCP4_NEXT_SERVER=0.0.0.0
    DHCP4_REQUESTED_INTERFACE_MTU=1
    DHCP4_DHCP_MESSAGE_TYPE=5
    DHCP4_REQUESTED_BROADCAST_ADDRESS=1
    DHCP4_DOMAIN_NAME_SERVERS=192.168.1.1
    CONNECTION_ID=MyWifiName
    DHCP4_REQUESTED_WPAD=1
    PWD=/
    DHCP4_REQUESTED_DOMAIN_NAME_SERVERS=1
    DHCP4_REQUESTED_NETBIOS_SCOPE=1
    DHCP4_REQUESTED_RFC3442_CLASSLESS_STATIC_ROUTES=1
    

相关内容