wpa.conf
而不是wpa_supplicant.conf
使WiFi能够在家里工作,因为我正在使用的书为此而行。我注意到很多东西似乎都在使用wpa_supplicant
,但我不确定为什么... 无论如何,我知道如何为我的家庭网络设置WiFi IP静态,但如何设置自动连接到我的学校WiFi并为该网络使用其他静态IP吗?
对于网络,我只需在我的
network={}
文件中添加另一个wpa.conf
?到学校网络?#1 楼
编辑/etc/wpa_supplicant/wpa_supplicant.conf并在学校wpa信息下添加id_str =“ school”,并在您的住所wpa信息下添加id_str =“ home”。您的文件现在应该看起来像这样:ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SCHOOLS NETWORK NAME"
psk="SCHOOLS PASSWORD"
id_str="school"
}
network={
ssid="HOME NETWORK NAME"
psk="HOME PASSWORD"
id_str="home"
}
然后使用iface school inet static和iface home inet static设置/ etc / network / interfaces,使其看起来像类似于以下内容:
这适用于2015-05-05之前的Raspbian Wheezy,供以后使用(和Jessie)(请参阅如何设置网络/ WiFi /静态IP)
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface school inet static
address <school address>
gateway <school gateway>
netmask <school netmask>
iface home inet static
address <home address>
gateway <home gateway>
netmask <home netmask>
评论
可能值得注意:如果我正确理解了文档,为了使用此方法,您的wpa_supplicant.conf文件中的每个网络都必须具有and id_str属性。否则,这将无法工作。你确定吗?
–PICyourBrain
2014年3月31日20:29在
我认为情况并非如此。
–les
2014年11月21日在1:24
但是,这种方法可行,是否可以在无需重新启动Pi的情况下切换WiFi?
–金属戈德温
16年7月14日在17:53
如果未提供id_str,则该值为默认值。
–猛禽
17年2月7日在13:35
@MetalGodwin您可以按照此处的建议使用wpa_cli:raspberrypi.org/forums/viewtopic.php?t=179387
–dsapalo
18-10-15在16:18
#2 楼
在RaspbianJessie
版本中,您无需编辑interface
文件。只需使用多个网络更新wpa_supplicant
文件就足够了。这是它的外观-ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SCHOOLS NETWORK NAME"
psk="SCHOOLS PASSWORD"
id_str="school"
}
network={
ssid="HOME NETWORK NAME"
psk="HOME PASSWORD"
id_str="home"
}
这对我有用,我的wifi始终连接到上述文件中提到的可用网络列表。希望对您有所帮助。
评论
如果您指定id =,这似乎不起作用,但是如果您为每个参数指定一个priority =,则它确实起作用。
–伊恩·默瑟(Ian Mercer)
10月21日下午3:37
#3 楼
最近,我偶然发现了一个控制台应用程序,该应用程序将所有无线配置都整理了出来。您也可以使用此工具来配置LAN接口。sudo apt-get install wicd-curses
它将安装许多其他软件包,但在后台运行其自己的守护程序。这样可以管理网络,并确保您连接到所需的网络。使用以下命令运行它: p)并在无线接口字段中输入wlan0,然后按F10保存。
P
刷新列表。在列表中向上和向下导航向右按以配置无线连接
向下按几次并选中“自动连接到此网络”
再次向下按几次并输入密码在键字段中
按F10保存
从1开始对其他任何网络再次执行此操作
您可能必须按
R
连接到接入点。如果通过电缆连接,很可能会杀死LAN接口并启用无线功能。它还可以管理连接,因此如果由于任何原因而掉线,它将重新连接到任何已配置的无线访问点原因,但它也会尝试连接到任何可用的网络,就像在Windows,Macintosh或Linux桌面中一样。
希望它会有所帮助!
评论
这种工具正是我在寻找的东西。 GUI提供的所有灵活性,但可以使用终端。谢谢!
–FoamyGuy
2014年5月24日在21:16
Upvote:运行此命令后,我对两个子网进行了高级IP扫描,我的Rpi3出现在两个子网中。有趣的是,当我最初安装它时,它告诉我我已经有了最新版本。
– SDsolar
17年3月16日在18:17
一个小细节:为了获得更大的范围,我将wlan1与外部天线配合使用,因此在诅咒中,我不得不进入prefs来指定该适配器。不需要关闭wlan0,但是无论如何我都是通过sudo ifcongig wlan0 down来完成的。
– SDsolar
17 Mar 16 '17 at 19:03
#4 楼
实际上,您可以添加优先级选项。像这样:network={
ssid="open"
key_mgmt=NONE
id_str="open"
priority=3
}
network={
ssid="secure"
key_mgmt=WPA-EAP
proto=WPA2
group=CCMP
pairwise=CCMP
eap=TLS
ca_cert="/etc/certs/cacert.pem"
client_cert="/etc/certs/client.pem"
private_key="/etc/certs/client.key"
private_key_passwd="somepwd"
identity="me"
priority=5
}
network={
ssid="AndroidAP"
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
group=CCMP
psk="SomeP4ssw0rd"
priority=4
}
network={
ssid="Spooky"
key_mgmt=NONE
group=WEP104
psk="A4ABC2FC27412D4D23CAEBCA23"
priority=2
}
network={
ssid="another"
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
group=CCMP
psk="A very long and secret passphrase here"
priority=1
}
优先级:当多个网络同时可用时,将选择优先级最高的网络。
id_str:每个网络,您都可以为该参数指定一个特定的值(字符串)。如果未提供任何内容,则将“默认”用作文本字符串。该字符串在/ etc / network / interfaces中用作虚拟接口标识符。这允许为每个网络创建特定的配置块。唯一的要求是使用“ inet manual”方法使用物理接口(这是必须的)。
评论
只是在这里仔细检查,优先级是否包含在星号中?根据我的阅读,不应将它们括在双星号中,但是我在这里可能是错误的。
–ericmjl
16年1月13日在17:17
@ericmjl他试图加粗代码,我将对其进行编辑。
–帕特里克·库克(Patrick Cook)
16 Mar 6 '16 at 5:37
有没有办法使其自动重新扫描,并查看是否有更高优先级的网络可用并进行切换?
– Michal
17 Mar 10 '17 at 10:50
@Michal是的,运行后台进程即可执行此操作。
–les
17-10-3在22:57
@les那是怎么工作的,哪个命令?
–luckydonald
17年12月18日在13:32
评论
这个问题已经很久了,答案也差不多-大约5年,而最近的修改才3年。解决此问题的当前技术是什么?