我有 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