在研究Ubuntu的连通性检查功能之前,让我们首先了解Captive Portal。在尝试访问咖啡店,机场,商务中心,酒店大堂等处的Wifi设施时,我们发现自己进入了要求认证,付款和/或接受协议条款的网页。仅当我们提供所需信息时,我们才可以使用Wifi设施。这种登录页面称为“强制门户”。
在Ubuntu 17.10之前,Ubuntu服务器不能很好地连接到这些Captive门户,因此引入了连通性检查功能。在Ubuntu 17.10及更高版本中,每当检测到Captive Portal时,系统都会向您显示一个问号。通过ping通URL,有时是为了检测强制门户。
如果您不太愿意使用Public Wifi并希望避免这些令人讨厌的ping,可以关闭“连接检查”功能。这也将停止将有关笔记本电脑的技术信息提供给Public Wifi服务器。
在本文中,我们将说明如何通过UI和命令行在Ubuntu上禁用/启用此连通性检查行为。
我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。
通过UI禁用连接检查
如果您更喜欢使用GUI执行简单的管理任务,则可以使用图形设置实用程序。
您可以通过系统“应用程序启动器”搜索或按以下方式访问来打开“设置”用户界面:
单击Ubuntu桌面的top-right角处的向下箭头,然后从以下视图中单击设置图标:
默认情况下,“设置”实用程序在Wi-Fi选项卡中打开。您需要单击“隐私”选项卡,以便在Ubuntu上配置“连通性检查”。
或者,您可以通过在Ubuntu应用程序启动器搜索中输入相关关键字(例如“Privacy”)来直接启动此视图,如下所示:
隐私视图如下所示:
默认情况下,“连接检查”功能处于“开启”状态。单击此功能,将打开以下“连接检查”对话框:
通过此对话框,可以通过关闭滑块按钮来禁用连通性检查功能。一旦您配置了设置,它们将立即采取措施。
通过命令行禁用连接检查
对于喜欢使用命令行执行大多数操作的Terminal-savvy用户,您可以按以下方式禁用/启用Ubuntu的连通性检查功能:
通过Ctrl + Alt + T快捷方式或应用程序启动器搜索栏打开终端应用程序。可以通过/var/lib/NetworkManager/NetworkManager-intern.conf文件更改此功能的配置。在您喜欢的文本编辑器之一中打开此文件。我们使用Nano编辑器通过以下命令编辑此文件:
$ sudo nano /var/lib/NetworkManager/NetworkManager-intern.conf
请记住,只有授权用户才能在Ubuntu上添加,删除和配置软件。
输入sudo的密码,文件将如下打开:
连接标记中的.set.enabled值是配置此设置的位置。将此值更改为false可以禁用连接检查功能。然后,使用Ctrl + X快捷方式退出文件。
然后,输入Y并按Enter键以保存对此.conf文件所做的更改。最后,输入以下命令作为sudo以重新启动网络管理器服务。
$ sudo systemctl restart NetworkManager.service
您的更改现在将反映在网络管理员的行为中。如果您在用户界面中打开了“隐私”选项卡,则这些更改将在您关闭并设置re-open设置实用程序后可见,或者仅在您切换到任何其他选项卡然后切换回“隐私”时可见。
奖金:应该有用的提示
在撰写本文之前,我不确定要启用/禁用连通性检查需要更改哪个.conf文件。我认为这是值得分享的,因为它在遇到类似情况时会帮助您。我所做的是,我通过UI更改了“连接检查”行为,然后立即通过以下命令检查在过去一分钟内更改了哪些文件:
$ sudo find /var -newermt "-1 minute" -ls
上面的命令仅列出/var文件夹中更改的文件,因为这正是我所期待的。
结果反映了我如何到达/var/lib/NetworkManager/NetworkManager-intern.conf文件。
进行了本文中描述的更改后,只要Captive Portal尝试注册其状态并收集您的连接信息,便不会再被ping困扰。