You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 24.04实验室用户仅允许连接指定Wi-Fi网络的配置方案咨询

Ubuntu 24.04实验室用户仅允许连接指定Wi-Fi网络的配置方案咨询

嘿,这个需求在实验室环境里太实用了,毕竟要防止用户随便连外部热点带来安全风险或者带宽浪费。我来给你分享几个从简单到严格的配置方案,你可以根据自己的管控需求选:

方法一:快速锁定目标Wi-Fi并禁用其他网络自动连接

这个方法适合快速配置,操作起来很直观:

  • 先让测试机连接上你们实验室的目标Wi-Fi,确保网络正常。
  • 打开终端,用nmcli connection show命令查看所有已保存的网络连接,找到实验室Wi-Fi对应的连接名称(比如叫Lab-Wi-Fi)。
  • 设置该Wi-Fi为自动连接且优先级最高,确保开机就自动连上:
    nmcli connection modify "Lab-Wi-Fi" connection.autoconnect yes connection.autoconnect-priority 100
    
  • 接着,禁用其他所有Wi-Fi连接的自动连接功能(替换掉Other-Wi-Fi为实际的其他连接名称):
    nmcli connection modify "Other-Wi-Fi" connection.autoconnect no
    
  • 要是想更彻底,直接删除非目标Wi-Fi的连接配置:
    nmcli connection delete "Other-Wi-Fi"
    
  • 最后重启NetworkManager让配置生效:
    sudo systemctl restart NetworkManager
    

方法二:通过配置文件强制仅允许指定SSID

这个方法能让NetworkManager只识别你指定的Wi-Fi,其他网络哪怕搜到也不会尝试连接:

  • 找到目标Wi-Fi的配置文件,通常存放在/etc/NetworkManager/system-connections/目录下,文件名就是你之前看到的连接名称(注意需要用sudo编辑,文件权限默认是600)。
  • 打开文件后,在[wifi]章节添加一行:
    allowed-ssids=你的实验室Wi-Fi SSID
    
    如果有多个SSID(比如2.4G和5G频段),可以用逗号分隔:allowed-ssids=Lab-Wi-Fi-2.4G,Lab-Wi-Fi-5G
  • 同时在[connection]章节确认autoconnect=yes,并设置autoconnect-priority=100保证优先连接。
  • 保存文件后,重启NetworkManager生效:
    sudo systemctl restart NetworkManager
    

方法三:限制用户修改网络配置(严格管控)

如果担心用户手动添加其他Wi-Fi,可以用PolicyKit限制普通用户的网络修改权限:

  • 创建一个PolicyKit规则文件,比如/etc/polkit-1/rules.d/90-restrict-network.rules,用sudo nano编辑并写入以下内容:
    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("users")) {
            // 允许用户查看网络状态,但禁止修改任何配置
            if (action.id == "org.freedesktop.NetworkManager.status" ||
                action.id == "org.freedesktop.NetworkManager.network-control") {
                return polkit.Result.YES;
            } else {
                return polkit.Result.NO;
            }
        }
    });
    
  • 保存后重启PolicyKit服务:
    sudo systemctl restart polkit
    
    这样普通用户只能查看网络状态,无法添加、修改或删除网络连接,只能用预先配置好的实验室Wi-Fi。

额外小贴士

  • 批量部署时,可以把配置文件复制到所有实验室PC,或者写个简单的Shell脚本批量执行命令,效率更高。
  • 建议先在一台测试机上验证配置效果,确认没问题后再推广到所有机器。

备注:内容来源于stack exchange,提问作者Arch Stanton

火山引擎 最新活动