樹莓派無線網卡配置指北

最近由於畢業設計,入手了一枚樹莓派。因爲網上一些教程的多是比較久遠了,而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
相關文章
相關標籤/搜索