Intereting Posts

wpa_supplicant не получает новый IP при повторном ассоциировании?

Я изо всех сил пытаюсь настроить свой WLAN, чтобы он мог повторно подключиться к другой точке доступа и автоматически обновлять ее IP. Я нашел похожий вопрос, но никто не ответил.

Я использую Debian Stretch. Первая связь работает нормально, но когда WiFi повторно связывается с другой точкой доступа (по какой-либо причине (например, первая точка доступа отключается)), IP остается прежним. Если я вручную запустил dhclient wlan0 IP-адрес dhclient wlan0 . Но я хочу, чтобы это было автоматически.

Вот мой /etc/network/interfaces :

 allow-hotplug eth0 auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp 

/etc/wpa_supplicant/wpa_supplicant.conf содержит:

 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="FrstHotspot" psk="some password" } network={ ssid="SecondHotspot" psk="some password" } 

Частичный ответ: wpa_supplicant сам по себе управляет аутентификацией только на интерфейсах WLAN. dhclient запускается другим слоем, либо традиционным ifup / ifdown либо другим, например, сетевым менеджером. wpa_supplicant может отправить сигнал на другой уровень, но другой уровень должен быть настроен для этого.

Поэтому первым делом нужно выяснить, какой тип управления сетью вы установили (Debian поддерживает несколько). Тогда вам нужно настроить его.

В документации wpa_supplicant также есть документ о доступе в роуминге, он также может содержать подсказки, как правильно настроить ifup / ifdown для автоматического переподключения. Посмотрите в /usr/share/doc/ .

Что касается ваших /etc/network/interfaces , я думаю, что это должно быть что-то похожее на это для работы с вашей текущей конфигурацией:

 allow-hotplug wlan0 iface wlan0 inet manual wpa-driver wext wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp 

Вы определяете, что у интерфейса есть dhcp, который затем вступает в конфликт с wpa_supplicant который вызывает DHCP. Таким образом, wpa_supplicant теряет способность сигнализировать, когда ssid / сеть была изменена, и, таким образом, IP-адрес не изменяется при изменении сетей / ssids.

Вы также можете определить приоритеты в wpa_supplicant.conf на ssid для использования как в:

 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="FrstHotspot" psk="some password" priority = 10 } network={ ssid="SecondHotspot" psk="some password" priority = 20 } 

Чем выше приоритет, тем ssid будет пробоваться первым.

Некоторый контент https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md гласит:

Если у вас есть две сети в диапазоне, вы можете добавить приоритетную опцию, чтобы выбрать между ними. Сеть в диапазоне, с наивысшим приоритетом, будет той, которая подключена.