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