当有多个可用的 WiFi 网络时,NetworkManager 如何选择连接到哪个 WiFi 网络?

Vie*_*axa 5 network-manager networking

当 NetworkManager 控制系统上的 WiFi 连接时,它如何选择连接到哪个网络?

我知道 connection.autoconnect-priority 设置,但我有兴趣了解当共享优先级 = 0 的多个自动连接网络可用时用于选择连接的算法。

Joh*_*lla 6

NetworkManager根本不这样做;相反,wpa_supplicant确实如此。NetworkManager只是尝试使每个活动连接保持在线状态,然后根据所涉及的连接类型将工作委托给其他实用程序。对于无线和某些有线 802.1x 连接,这是wpa_supplicant.

那么,如何wpa_supplicant做到呢?每个可以连接的网络接口都会根据以下每一项标准查找连接,直到只有一个网络可以连接:

  • 扫描潜在网络
  • 按优先级对扫描的网络进行排序并连接到最高优先级的网络
  • 按连接强度对优先网络进行排序并连接到最强的网络
  • 按配置文件中的顺序对网络进行排序并连接到第一个网络

所以如果一切都失败了,配置文件就是权威的命令。你可以阅读源代码