wpa_supplicant для двойной WLAN

У меня есть wlan0 и wlan1. Каждый интерфейс должен подключаться к отдельному SSID.

Я хотел бы использовать wpa_supplicant для обоих.

Я могу поместить две сети в /etc/wpa_supplicant.conf, но как мне определить, какую из них следует использовать каждому интерфейсу?

(РЕЛ 6.3)

2 ответа

Создайте новый файл в каталоге / etc / wpa_supplicant /. Новый файл должен быть назван с именем интерфейса, т.е.

wpa_supplicant-wlan1.conf

  • файл /etc/wpa_supplicant/wpa_supplicant-wlan0.conf для интерфейса wlan0
  • файл /etc/wpa_supplicant/wpa_supplicant-wlan1.conf для интерфейса wlan1

  • содержимое файла wpa_supplicant-wlan0.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1

страна =

network={ ssid="ssid0" psk="pass0" }

  • содержимое файла wpa_supplicant-wlan1.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1

страна =

network={ ssid="ssid1" psk="pass1" }

перезагрузите PI, и вы должны иметь SSID, подключенный к интерфейсу.

Вы создаете два отдельных wpa_supplicant.conf файлы, по одному для каждого интерфейса. Затем вы указываете, какой файл conf идет с каким интерфейсом, когда вы вызываете wpa_supplicant, Вы используете -N возможность показать, что вы хотите начать описывать новый интерфейс.

Этот пример приходит прямо из wpa_supplicant(8) справочная страница:

wpa_supplicant \
    -c wpa1.conf -i wlan0 -D hostap -N \
    -c wpa2.conf -i ath0 -D madwifi

@jaanhio Извините, не могу комментировать, поэтому в качестве ответа. Может кто-нибудь переместить это в комментарии? Я думаю, что очень интересно узнать, почему работает создание файла wpa_supplicant-wlan1.

Ответ junaid верен для debian. В debian (или хотя бы Raspbian Buster) dhcpcd контролирует wpa_supplicant в /usr/share/dhcpcd/hooks/10-wpa_supplicant ты находишь

if [ -z "$wpa_supplicant_conf" ]; then
        for x in \
                /etc/wpa_supplicant/wpa_supplicant-"$interface".conf \
                /etc/wpa_supplicant/wpa_supplicant.conf \
                /etc/wpa_supplicant-"$interface".conf \
                /etc/wpa_supplicant.conf \
        ; do
                if [ -s "$x" ]; then
                        wpa_supplicant_conf="$x"
                        break
                fi
        done
fi

Итак, это поведение с "задокументированными" файлами wpa_supplicant-wlan0.conf и wpa_supplicant-wlan1.conf

Таким образом, вам также не потребуется перезагрузка при изменении. Просто исполни sudo systemctl restart dhcpcd

Другие вопросы по тегам