樹莓派.設置無線網卡為AP工作模式(pi2和pi3)


樹莓派2的設置辦法:

1. 安裝NetworkManager管理工具(可選),以支持nmcli命令

sudo apt-get install -y network-manager

 

2. 安裝hostapd和dhcpd

sudo apt-get install -y hostapd isc-dhcp-server

開機不需要啟動這兩個服務,建議把它們關掉:

sudo update-rc.d -f hostapd remove

 

3. 配置hostapd和dhcpd

sudo vi /etc/hostapd/hostapd.conf 

注意自己設置其中的無線熱點名稱ssid和認證密碼wpa_passphrase.

interface=wlan0
ssid=lysmartscreen
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=3
wpa=2
wpa_passphrase=YOUR_AP_PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP

設置dhcpd.conf 

sudo vi /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0{
  range 192.168.0.2 192.168.0.10;
  option routers 192.168.0.1;
  option domain-name-servers 192.168.0.1,180.76.76.76,8.8.8.8;
}

其中180.76.76.76是百度公共DNS服務器,8.8.8.8則是Google的DNS服務器.
在自己的家目錄下創建一個放日志的logs目錄,里面新建啟動和關閉腳本:

mkdir /home/pi/logs

啟動AP的腳本:

vi /home/pi/logs/ap-start.sh
#!/bin/bash
# 開啟內核IP轉發
bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
# 開啟防火牆NAT轉發(如果本機使用eth0上網,則把ppp0改為eth0)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# 關閉NetworkManager對無線網卡的控制(這句實測中nm參數無效, 但似乎不影響使用)
nmcli nm wifi off
# 設置並啟動無線網卡
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
# 解鎖無線設備,可以用rfkill list查看解鎖結果.
rfkill unblock wlan
# 睡眠6秒,待rfkill解鎖生效
sleep 6s
# 啟動dhcpd和hostapd,如果hostapd無法啟動請查看日志hostapd.log,查看這兩個進程ps -ef|egrep "dhcpd|hostapd"
nohup hostapd /etc/hostapd/hostapd.conf >/home/pi/logs/hostapd.log 2>&1 &
dhcpd wlan0 -pf /var/run/dhcpd.pid
ps -ef|head -n1 && ps -ef|egrep "dhcpd|hostapd"

停止AP的腳本:

vi /home/pi/logs/ap-stop.sh
#!/bin/bash
killall hostapd dhcpd
bash -c "echo 0 > /proc/sys/net/ipv4/ip_forward"
ifconfig wlan0 down

 

4. 啟動hostapd和dhcpd

給2個腳本增加執行的權限

chmod +x /home/pi/logs/ap-*.sh

啟動AP:

sudo /home/pi/logs/ap-start.sh

看到上圖的內容表示AP創建成功 (注:腳本位置與上文所講略有不同, 靈活處理即可)

停止AP:

sudo /home/pi/logs/ap-stop.sh

 

附一張手機連上AP的圖片

 

 

樹莓派3的設置辦法:

git clone https://github.com/oblique/create_ap.git

 

如果未裝git, 就先裝上它

sudo apt-get install git

git下來后安裝

cd create_ap/
sudo make install

安裝依賴包

sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq -y

試試創建熱點

sudo ifdown wlan0
sudo create_ap wlan0 eth0

如果不成功

試加一個參數

sudo create_ap --no-virt wlan0 eth0

按提示輸入SSID名字和密碼,看到下圖的內容表示成功, 可以在Wifi中搜索到這個熱點了

如果想一句命令包含你創建的SSID和密碼, 可以這樣

sudo create_ap --no-virt wlan0 eth0 ssidname password

 

done.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM