「NetworkManager」- 网络连接检查功能

  CREATED BY JENKINSBOT

网络连接检查功能

在 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?