1. 程式人生 > >樹莓派學習筆記——Wifi AP熱點模式 使用RT5370

樹莓派學習筆記——Wifi AP熱點模式 使用RT5370

0.前言

    本文詳細說明為樹莓派增加Wifi AP熱點功能的具體步驟。配置完成之後,樹莓派將增加一個Wifi熱點功能,使用筆記本或手機便可連線樹莓派,樹莓派具有了AP熱點功能,可更一步擴充套件樹莓派相關的WEB功能,通過連線樹莓派提供的熱點,登入樹莓派提供的WEB服務,便可獲得樹莓派所監控的相關資訊。    配置的步驟較多,請保持耐心。    【配置說明】    1.樹莓派熱點名稱(SSID)為Raspberry_AP,熱點密碼為12345678,加密方式為WPA2。    2.樹莓派無線網口的IP地址為192.168.0.1。    3.樹莓派無線網口具有簡單的DHCP功能。    4.樹莓派具有無線網口和有線網口間的轉發功能。    【相關博文】1.選擇合適的USB Wifi網絡卡
    請先購買合適的USB Wifi無線網絡卡。淘寶上最容易的買到的適合樹莓派的USB無線網絡卡為EDUP的EP-N8508GS,該款USB無線網絡卡的晶片為REALTEK 8188。在raspbian系統提供的預設驅動中,REALTEK 8188並不能直接工作於Wifi AP模式。為了能在樹莓派raspbian系統中使用wifi AP模式,可購買網絡卡晶片為RT5730或RT5732的USB wifi網絡卡,例如SL-1506N。    把USB Wifi插入樹莓派的USB埠,遠端登入樹莓派。    【使用lsusb命令】    若USB wifi插入正確,可檢視到RT5370相關資訊。
圖1.1 檢視RT5370相關資訊    【安裝iw工具】
    sudo apt-get install iw    【使用iw命令檢視無線功能列表】    iw list     如果使用RT5370網絡卡可獲得較多的資訊,下圖在iw list命令部分輸出內容。
圖1.2 iw list相關資訊    如果使用RTL8188網絡卡,那麼iw list命令只輸出“nl80211 not found”,說明該系統中RTL8188並不支援AP模式。2.必要的準備工作【1】更新軟體源sudo apt-get update【2】安裝必要的軟體sudo apt-get install hostapd udhcpd    hostapd 是一個使用者態用於AP和認證伺服器的守護程序,它實現了IEEE 802.11相關的接入管理(
來自百度百科
)。udhcpd使得樹莓派具備DHCP Server功能。3.配置DHCP功能 配置檔案位於/etc/udhcpd.conf,此處共分為三步。    sudo nano  /etc/udhcpd.conf【1】修改網路介面interface eth0改為interface wlan0
圖3.1 修改udhcpd.conf【2】去除remaining前的##remaining     yes改為remain    yes
圖3.2 修改udhcpd.conf【3】修改樹莓派IP地址修改opt router為192.168.0.1,那麼配置完成之後樹莓派AP模式的IP地址為192.168.0.1此處opt dns被修改為江蘇電信的常用DNS地址 211.228.255.1和218.2.135.1。
圖3.3 修改udhcpd.conf4.使能DHCP配置 /etc/default/udhcpdsudo nano  /etc/default/udhcpd使用#符號註釋DHCPD_ENABLED="no"DHCPD_ENABLED="no"改為#DHCPD_ENABLED="no"
圖4.1 修改udhcpd5.把wlan0配置為靜態IP地址    直接通過控制檯輸入以下指令,wlan0的IP地址對應/etc/udhcpd.conf中的相關配置引數。sudo ifconfig wlan0 192.168.0.16.配置網絡卡啟動引數配置檔案 /etc/network/interfaces,請注意此處wlan0的地址引數要和etc/udhcpd.conf相關引數相對應。sudo nano  /etc/network/interfaces註釋#allow-hotplug wlan0#iface wlan0 inet manual#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf#iface default inet dhcp增加iface wlan0 inet static        address 192.168.0.1        netmask 255.255.255.0
圖6.1 修改interfaces7.配置AP引數    【設定引數】建立檔案 /etc/hostapd/hostapd.conf,配置樹莓派AP熱點名稱和熱點密碼。sudo nano  /etc/hostapd/hostapd.conf在該檔案中增加以下內容interface=wlan0driver=nl80211ssid=Raspberry_APhw_mode=gchannel=6macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=12345678wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP其中interface=wlan0,指定網絡卡名稱為wlan0。wpa=2,採用WPA2加密方式。ssid=Raspberry_AP為熱點名稱,可根據實際情況修改。wpa_passphrase=12345678為熱點密碼,可根據實際情況修改,如果採用WPA2加密方式,密碼的長度應該不少於8個字元    【指定配置檔案位置】修改配置檔案/etc/default/hostapdsudo nano  /etc/default/hostapd#DAEMON_CONF=""DAEMON_CONF="/etc/hostapd/hostapd.conf"
圖7.1 修改hostapd8.配置NAT(IP轉發)【1】Linux核心中啟動IP轉發sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" 修改/etc/sysctl.conf檔案sudo nano /etc/sysctl.conf在該檔案最後一行增加net.ipv4.ip_forward=1
圖8.1 修改sysctl.conf【2】定義IP轉發規則依次輸入以下指令sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEsudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPTsudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT【3】儲存修改sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"【4】再次修改 /etc/network/interfaces檔案 /etc/network/interfaces的最後一行增加內容sudo nano /etc/network/interfaces增加up iptables-restore < /etc/iptables.ipv4.nat
圖8.2 再次修改interfaces9.啟動服務【1】啟動hostapd和udhcpd服務    sudo service hostapd start    sudo service udhcpd start【2】設定開機啟動    sudo update-rc.d hostapd enable    sudo update-rc.d udhcpd enable10.基本驗證    如果所有的配置成功,那麼便可查詢到SSID為Raspberry_AP的熱點,熱點密碼為12345678,熱點的IP地址為192.168.0.1,筆記本被分配的IP地址為192.168.0.63。
圖10.1 基本驗證參考資料