网络连接检查功能
在 NetworkManager 中,有个功能:允许 NetworkManager 检测系统是否可以实际访问互联网。
就是说,虽然网络正常配置,也正常启动,但是它还是会尝试使用 HTTP 请求一个 URL 来判断到能不能访问外部网络。
默认的配置信息
这个 URL 可以在配置文件中设置。在 Debian 中,默认配置文件位于 /usr/lib/NetworkManager/conf.d/20-connectivity-debian.conf 中。
[connectivity] uri=http://network-test.debian.org/nm
如何调整该配置?
可以在 /etc/NetworkManager/conf.d/ 中常见配置文件进行覆盖。
如果要禁用该功能,可以在配置文件使用一个空的 [connectivity] 部分,即没有任何参数。
我们是怎么发现这个功能的?
我们没有完整的读过 NetworkManager 的手册,也是碰巧发现这个功能的。
在处理别的问题的时候,使用 tcpdump -X -vv 抓包,发现了有发往Debain服务器的数据包。在 tcpdump 的输出中,显示访问 http://network-test.debian.org/nm 地址,然后去 Google 搜索。然后就发现此功能,最后阅读 man 5 NetworkManager 手册进行深度了解。
参考文献
ArchWiki/NetworkManager/Checking connectivity
Debian Bug report logs - #859934 enable captive portal checking by default
Debian Bug report logs - #729783 network-manager: Add network connectivy test using http://network-test.debian.org/nm
what will network-manager-config-connectivity-debian do?