最近由于毕业设计,入手了一枚树莓派。因为网上一些教程的多是比较久远了,而Debian系列的系统如今已经没有/etc/wpa.conf
文件了,配置这个文件并不能生效还会照成网卡没法使用,折腾了老半天才知道应该配置的是/etc/wpa_supplicant/wpa_supplicant.conf
,因此特意写这篇文章总结。html
本文主要介绍树莓派无线网卡的配置,固然不局限于树莓派。我装的是RaspBian系统,其实其它的Linux系统,也是能够照这种方式配置的。linux
命令行输入 sudo vim /etc/network/interfaces
vim
在文件中输入bash
# 第一个网卡
auto wlan0
allow-hotplug wlan0 # 容许热插拔(非必须配置)
iface wlan0 inet static # 采用静态IP分配的方式
address 192.168.199.249 # 为树莓派设置的ip (详见下面介绍)
netmask 255.255.255.0 # 子网掩码 (详见下面介绍)
gateway 192.168.199.1 # 网关地址 (详见下面介绍)
wpa-ssid yourssid # 你要链接的wifi名称
wpa-psk yourpassword # 你要链接的wifi密码
复制代码
网关地址也就是你所要链接的路由器IP地址
用来指明一个IP地址的哪些位标识的是主机所在的子网,最简单的应用就是经过子网掩码肯定当前局域网容许链接的最大主机数
ipconfig -all
如图 可得到你所要链接的wifi的网关地址和子网掩码
固然若是你是Linux系统可输入 ifconfig -a
查看服务器
静态IP设置 为树莓派分配的静态IP是随意的,固然这个随意有个前提就是设置当前局域网内容许的空闲IP。 哪些IP才是当前局域网中容许的,你能够经过网关地址和子网掩码去计算,固然计算方式我在这里就不做讨论。一个简单的方法就是取网关地址的前三组数,最后一组随便写一个。 好比网关地址是:192.168.199.1
则你可设静态IP为192.168.199.249
网关地址为 192.168.2.1
则可设静态IP为192.168.2.22
固然容许设置的IP不必定是空闲的,它有可能已经被局域网中的其余设备占用,你能够经过ping IP
指令来查看所要设置的IP是否已经被占用 网络
重启网卡设置 配置完 /etc/network/interfaces
文件后可输入sudo ifup wlan0
重启一下网卡。这时候 输入 ifconfig
可看到你的无线网卡已经有对应的IP了 less
sudo reboot
重启系统 不少教程都比较推荐静态IP设置,主要的优势是因为静态IP是咱们手动分配的,因此SSH远程链接时,咱们不用登录路由器也能够知道树莓派的IP地址。固然前提是你能记得你配置时填写的IP地址?(反正我本身是记不住) 静态IP绑定带来的问题就是有些时候,会由于被先接入的IP占用而没法上网ssh
其实我我的是比较动态IP设置的,为何呢。配置写少了几行,哈哈。加密
因此,我我的是比较推荐用动态IP设置了,找不到树莓派就上路由器看一下IP嘛,说得好像静态设置就能记住IP似的,我不信呀。好了,废话很少说,看一下动态IP设置方式吧spa
命令行输入 sudo vim /etc/network/interfaces
在文件中输入
# 第一个网卡
auto wlan0
allow-hotplug wlan0 # 容许热插拔(非必须配置)
iface wlan0 inet dhcp # DHCP自动分配IP
wpa-ssid yourssid # 你要链接的wifi名称
wpa-psk yourpassword # 你要链接的wifi密码
复制代码
保存退出,并执行sudo ifup wlan0
。
上面的配置只是配置了一个无线链接,若是你要配置多个wifi链接怎么办。网上有不少教程都是让你修改 /etc/wpa.conf
文件,实际上如今已经不少Debian系列的Linux系统已经不是这个文件了,因此若是你在/etc/network/interfaces
文件中引入这个配置,可能会照成网卡不可用。新的多个无线链接配置文件 应该是/etc/wpa_supplicant/wpa_supplicant.conf
。 具体设置方式:
命令行输入 sudo vim /etc/network/interfaces
在文件中输入
# 第一个网卡
auto wlan0
allow-hotplug wlan0 # 容许热插拔(非必须配置)
iface wlan0 inet dhcp # DHCP自动分配IP
wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf # 多个无线链接配置文件
复制代码
保存退出,接着执行 sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
在文件中输入
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
# 第一个无线链接
network={
ssid="xxxx" # wifi 名称
psk="xxxx" # wifi 密码
key_mgmt=WPA-PSK # 加密方式
}
# 第二个无线链接
network={
ssid="xxxx"
psk="xxxx"
key_mgmt=WPA-PSK
}
复制代码
保存退出,执行 sudo ifup wlan0
。多个无线链接的配置就完成了,树莓派会按照network的配置顺序查找链接对应的无线wifi
network={
ssid="xxx"
key_mgmt=NONE # 加密方式,不加密
}
复制代码
network={
ssid="xxxx"
key_mgmt=NONE
wep_key0="xxxx" # wep密码
}
复制代码
network={
ssid="xxxx"
psk="xxxx"
key_mgmt=WPA-PSK
scan_ssid=1 # 若是你的无线接入点是隐藏的,该配置就是必须的
}
复制代码
network={
ssid="xxxx"
psk="xxxx"
key_mgmt=WPA-PSK
priority=999 # priority指链接优先级,数字越大优先级越高(不能够是负数)
}
复制代码
建议为你的手机热点配置一个最高的优先链接,当你进入一个新的局域网内时,你能够经过将树莓派链接在你的手机热点上,而后SSH链接配置新局域网的wifi名称和密码,这样就避免了进入新局域网时,没有显示屏而没法配置无线链接的尴尬。为你树莓派配置你的手机热点链接,可让你随时随地都有办法ssh链接上你的树莓派,不会因没有显示屏而失去对树莓派的控制。
Linux /wpa_supplicant.conf
。这里我推荐两篇介绍的比较详细的教程: Linux无线网络设置(wpa_supplicant的使用)经过 wpa_cli
命令行配置 命令行输入 sudo wpa_cli
调起wpa_cli的命令行界面
重启系统 sudo reboot
重启网络 sudo /etc/init.d/networking restart
开启无线网卡 sudo ifup wlan0
关闭无线网卡 sudo ifdown wlan0
查看当前无线链接IP地址 ifconfig wlan0
查看当前无线链接具体信息 iwconfig
列出附近可链接的wifi iwlist wlan0 scan
搜索附近可链接的wifi 只返回wifi 名称 iwlist wlan0 scan | grep ESSID
获取加密后的psk配置 wpa_passphrase SSID password