树莓派无线网卡配置指北

最近由于毕业设计,入手了一枚树莓派。因为网上一些教程的多是比较久远了,而Debian系列的系统如今已经没有/etc/wpa.conf文件了,配置这个文件并不能生效还会照成网卡没法使用,折腾了老半天才知道应该配置的是/etc/wpa_supplicant/wpa_supplicant.conf,因此特意写这篇文章总结。html

本文主要介绍树莓派无线网卡的配置,固然不局限于树莓派。我装的是RaspBian系统,其实其它的Linux系统,也是能够照这种方式配置的。linux

三种配置方式

  • 静态IP绑定设置
  • 动态IP配置
  • 多个无线链接配置

静态IP绑定

命令行输入 sudo vim /etc/network/interfacesvim

在文件中输入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地址的哪些位标识的是主机所在的子网,最简单的应用就是经过子网掩码肯定当前局域网容许链接的最大主机数
  • 获取方式 在已连入该局域网的设备的CMD窗口中输入 ipconfig -all 如图 可得到你所要链接的wifi的网关地址和子网掩码
    ipconfig -all

固然若是你是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是否已经被占用 网络

    ping IP

  • 重启网卡设置 配置完 /etc/network/interfaces 文件后可输入sudo ifup wlan0 重启一下网卡。这时候 输入 ifconfig 可看到你的无线网卡已经有对应的IP了 less

    ifconfig
    若是尚未能够尝试输入sudo reboot重启系统

不少教程都比较推荐静态IP设置,主要的优势是因为静态IP是咱们手动分配的,因此SSH远程链接时,咱们不用登录路由器也能够知道树莓派的IP地址。固然前提是你能记得你配置时填写的IP地址?(反正我本身是记不住) 静态IP绑定带来的问题就是有些时候,会由于被先接入的IP占用而没法上网ssh


动态IP设置

其实我我的是比较动态IP设置的,为何呢。配置写少了几行,哈哈。加密

  • 主要是用动态IP设置,IP由DHCP服务器直接分配,你不要关心树莓派要绑定的局域网IP是否被占用呀,可否使用呀。
  • 其次DHCP是有规律的为设备分配IP的,因此大部分状况下,分配的IP和你上一次连入该局域网的IP是同样的,除非的你上次使用的IP被占用了(若是被占用了,你静态IP配置的使用也是不能使用的呀)。因此说静态绑定你能知道IP,而动态不知道这种彻底没道理呀,你既然能够记住静态配置时的IP,为啥就不能记住上一次动态分配的IP呢。
  • 动态IP设置的另外一个好处就是,就是不会由于IP冲突而没法上网,若是树莓派此次链接进来时,上一次使用的IP已被占用了,DHCP服务器就会为树莓派分配一个新的IP。固然这个时候你就不知道你的树莓派IP地址是多少了。这个时候你就得去路由器查看了。而静态IP设置要是出现IP被占用了,那就只能把占用IP的设备断掉(不少时候不现实呀)或者是从新修改树莓派的静态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

其余一些特殊的配置

  • 若是你的wifi没有设置密码
network={
    ssid="xxx"
    key_mgmt=NONE  # 加密方式,不加密
}
复制代码
  • 若是你的wifi使用wep加密
network={
    ssid="xxxx"
    key_mgmt=NONE
    wep_key0="xxxx"  # wep密码
}
复制代码
  • 若是你的wifi设置了不可见
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链接上你的树莓派,不会因没有显示屏而失去对树莓派的控制。


另外一种配置方法介绍

经过 wpa_cli 命令行配置 命令行输入 sudo wpa_cli 调起wpa_cli的命令行界面

wpa_cli
具体配置方式,详见文章 : 使用wpa_cli命令行配置Wi-Fi无线网卡


相关的 linux 指令介绍

  • 重启系统 sudo reboot

  • 重启网络 sudo /etc/init.d/networking restart

  • 开启无线网卡 sudo ifup wlan0

  • 关闭无线网卡 sudo ifdown wlan0

  • 查看当前无线链接IP地址 ifconfig wlan0

    ifconfig wlan0

  • 查看当前无线链接具体信息 iwconfig

    iwconfig

  • 列出附近可链接的wifi iwlist wlan0 scan

    iwlist wlan0 scan

  • 搜索附近可链接的wifi 只返回wifi 名称 iwlist wlan0 scan | grep ESSID

    iwlist wlan0 scan | grep ESSID

  • 获取加密后的psk配置 wpa_passphrase SSID password

    wpa_passphrase SSID password
相关文章
相关标签/搜索