在研究 Ubuntu 的連接檢查功能之前,讓我們先了解一下 Captive Portals。 在嘗試訪問咖啡店、機場、商務中心、酒店大堂等的 Wifi 設施時,我們發現自己登陸了一個要求身份驗證、付款和/或接受協議條款的網頁。 只有當我們提供所需信息時,我們才能訪問 Wifi 設施。 此類登錄頁面稱為 Captive Portal。
在 Ubuntu 17.10 之前,Ubuntu 服務器不太適合連接到這些 Captive 門戶,因此引入了連接檢查功能。 Ubuntu 17.10 及更高版本,每當檢測到強制門戶時,您都會在網絡狀態中看到一個問號。 此新功能通過 ping https://connectivity-check.ubuntu.com URL,不時地,以檢測強制門戶。
如果您不太喜歡使用公共 Wifi 並希望避免這些令人不安的 ping,您可以關閉連接檢查功能。 這也將停止向公共 Wifi 服務器提供有關您的筆記本電腦的技術信息。
在本文中,我們將解釋如何通過 UI 和命令行在 Ubuntu 上禁用/啟用此連接檢查行為。
我們已經在 Ubuntu 18.04 LTS 系統上運行了本文中提到的命令和過程。
通過 UI 禁用連接檢查
如果您更喜歡使用 GUI 來執行簡單的管理任務,您可以使用圖形設置實用程序。
您可以通過系統應用程序啟動器搜索或按如下方式訪問它來打開設置 UI:
單擊位於 Ubuntu 桌面右上角的向下箭頭,然後單擊以下視圖中的設置圖標:
默認情況下,設置實用程序在 Wi-Fi 選項卡中打開。 您需要單擊隱私選項卡才能在您的 Ubuntu 上配置連接檢查。
或者,您可以通過在 Ubuntu 應用程序啟動器搜索中輸入相關關鍵字(例如“隱私”)直接啟動此視圖,如下所示:
這是隱私視圖的樣子:
默認情況下,連接檢查功能處於“開啟”狀態。 單擊此功能,將打開以下連接檢查對話框:
通過此對話框,您可以通過關閉滑塊按鈕來禁用連接檢查功能。 只要您配置了設置,他們就會立即採取行動。
通過命令行禁用連接檢查
對於喜歡使用命令行進行大多數操作的終端精通者,您可以禁用/啟用 Ubuntu 的連接檢查功能,如下所示:
通過 Ctrl+Alt+T 快捷方式或通過應用程序啟動器搜索欄打開終端應用程序。 可以通過 /var/lib/NetworkManager/NetworkManager-intern.conf 文件更改此功能的配置。 在您最喜歡的文本編輯器之一中打開此文件。 我們使用 Nano 編輯器通過以下命令編輯此文件:
$ sudo nano /var/lib/NetworkManager/NetworkManager-intern.conf
請記住,只有授權用戶才能在 Ubuntu 上添加、刪除和配置軟件。
Enter 密碼 sudo 文件將打開如下:
連接標記中的 .set.enabled 值是您配置此設置的位置。 將此值更改為 false 以禁用連接檢查功能。 然後,使用 Ctrl+X 快捷鍵退出文件。
然後,輸入 Y 並點擊 Enter 為了保存您對此 .conf 文件所做的更改。 最後,輸入以下命令作為 sudo 以重新啟動網絡管理器服務。
$ sudo systemctl restart NetworkManager.service
您的更改現在將反映在網絡管理器的行為中。 如果您在 UI 中打開了“隱私”選項卡,則這些更改將在您 close 並重新打開設置實用程序,或者只是在您切換到任何其他選項卡然後切換回隱私時。
獎勵:應該有幫助的提示
在撰寫本文之前,我不太確定需要更改哪個 .conf 文件才能啟用/禁用連接檢查。 我是如何發現這一點值得分享的,因為它有時會在遇到類似情況時為您提供幫助。 我所做的是通過 UI 更改了連接檢查行為,然後立即通過以下命令檢查了最後一分鐘更改了哪些文件:
$ sudo find /var -newermt "-1 minute" -ls
上面的命令只列出 /var 文件夾中更改的文件,因為這是我所期望的。
結果反映了我如何訪問 /var/lib/NetworkManager/NetworkManager-intern.conf 文件。
進行本文所述的更改後,每當 Captive Portal 嘗試註冊其存在並收集您的連接信息時,您將不再受到 ping 的困擾。