wpa_supplicant 用于双 WLAN

wpa_supplicant 用于双 WLAN

我有 wlan0 和 wlan1。每个接口应连接到不同的 SSID。

我想对两者都使用 wpa_supplicant。

我可以将两个网络放入 /etc/wpa_supplicant.conf 中,但是我如何知道每个接口应该使用哪一个?

(RHEL6.3)

答案1

您需要在以下目录中创建两个新文件:/etc/wpa_supplicant/

新文件应该以接口名称命名,即wpa_supplicant-wlan1.conf

您最终应该会得到两个如下文件:

对于接口 wlan0:

  • 文件 /etc/wpa_supplicant/wpa_supplicant-wlan0配置文件

对于接口 wlan1:

  • 文件 /etc/wpa_supplicant/wpa_supplicant-WLAN1配置文件

wpa_supplicant-wlan0.conf 文件的内容

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

country=US

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

wpa_supplicant-wlan1.conf 文件的内容

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

country=US

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

重新启动 PI,你就应该看到 SSID 附加到接口了。

答案2

您创建两个单独的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

答案3

@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

相关内容