大家好,今天我將展示如何將樹莓派變成其他設備可以連接的無線接入點,基本上我們正在將樹莓派變成無線“路由器”。作為獎勵,我還將向我們展示如何設置無線接入點,以提供(共享)對連接設備的互聯網訪問。因此,讓我們開始使用Raspberry Pi創建Wi-Fi熱點。
所需組件:
將樹莓派設置為無線接入點需要以下組件:
樹莓派 2
8GB SD 卡
無線 USB 加密狗
以太網電纜
Pi 的電源。
監視器(可選)
鍵盤(可選)
鼠標(可選)
雖然Raspberry Pi 3和Pi zero廣泛使用并且可以使用,但在本教程中,我將使用Raspberry Pi 2,因為我的Pi3目前正忙于執行一些繁重的計算機視覺相關任務,我希望很快在這里的教程中分享。然而,這個過程也適用于 pi 3,并且應該(注意強調)也適用于樹莓派零 W。使用Raspberry Pi 3或Zero W時,不需要外部Wi-Fi模塊,因為這兩塊板已經安裝了Wi-Fi。
為了更復雜地定義本教程的目標,我們將為我們的 Raspberry Pi 提供充當無線接入點的能力,為了實現這一目標,我們需要安裝和設置一個軟件,為 Raspberry Pi 配備此功能以及DHCP 服務器軟件,為將連接到接入點的設備提供網絡地址。為了滿足此軟件要求,我們將使用dnsmasq和hostapd軟件。
本教程將基于 Raspbianstretch OS,因此要像往常一樣進行,我假設您熟悉使用 Raspbian 拉伸操作系統設置 Raspberry Pi,并且您知道如何使用 putty 等終端軟件 SSH 連接到 Raspberry Pi。如果您對此有任何問題,本網站上有大量的樹莓派教程可以提供幫助。
將樹莓派設置為無線接入點的步驟:
通過遵循以下關鍵步驟,一個接一個,我們將能夠將樹莓派設置為無線接入點。應該注意的是,某些無線USB加密狗在AP模式下無法工作,但是在嘗試了此加密狗并且它起作用之后,我很想說5個加密狗中的8個可以工作。
第 1 步:更新 Pi
像往常一樣,我們更新樹莓派以確保我們擁有最新版本的所有內容。這是使用;
sudo apt-get update
其次;
sudo apt-get upgrade
更新完成后,重新啟動 pi 以進行更改。
第 2 步:安裝 “dnsmasq” 和 “hostapd”
接下來,我們安裝可以將 pi 設置為無線接入點的軟件,以及幫助為連接到 AP 的設備分配網絡地址的軟件。我們通過跑步來做到這一點;
sudo apt-get install dnsmasq
其次;
sudo apt-get install hostapd
或者你可以通過跑步來組合它;
sudo apt-get install dnsmasq hostapd
步驟 3:停止軟件運行
由于我們還沒有配置軟件,因此運行它沒有意義,因此我們禁止它們在地下運行。為此,我們運行以下命令來停止 systemd 操作。
sudo systemctl stop dnsmasq sudo systemctl stop hostapd
步驟 4:為無線端口配置靜態 IP 地址
確認正在使用的無線設備連接的 WLAN 端口。對于我的Pi,無線在wlan0上。將樹莓派設置為充當服務器需要我們為無線端口分配一個靜態 IP 地址。這可以通過編輯 dhcpcd 配置文件來完成。要編輯配置文件,請運行;
sudo nano /etc/dhcpcd.conf
滾動到配置文件的底部并添加以下行。
Interface wlan0 static ip_address=192.168.4.1/24
添加行后,配置文件應如下圖所示。
注意:可以更改此 IP 地址以適合您的首選配置。
保存文件并退出使用;ctrl+x 后跟 Y
重新啟動 dhcpcd 服務以使用以下命令對配置所做的更改;
Sudo service dhcpcd restart
步驟 5:配置dhcpcd服務器
現在為Raspberry Pi wlan配置了靜態IP地址,接下來就是我們配置dhcpcd服務器并為其提供要分配給連接到無線接入點的設備的IP地址范圍。為此,我們需要編輯dnsmasq軟件的配置文件,但是該軟件的配置文件包含太多信息,很多信息可能會出錯 如果沒有正確編輯,那么我們將創建一個新的配置文件,而不是編輯,其中包含使無線接入點完全正常運行所需的信息量。
在創建新的配置文件之前,我們通過移動和重命名舊配置文件來確保舊配置文件的安全。
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
然后啟動編輯器以創建新的配置文件;
sudo nano /etc/dnsmasq.conf
啟動編輯器后,復制下面的行并粘貼或直接鍵入其中。
Interface = wlan0 #indicate the communication interface which is usually wlan0 for wireless dhcp-range = 192.168.4.2, 192.168.4.20, 255.255.255.0,24h
文件的內容應如下圖所示。
保存文件并退出。此配置文件的內容只是指定可以分配給連接到無線接入點的設備 IP 地址的范圍。
完成此操作后,我們將能夠為網絡上的設備提供身份。
下一組步驟將幫助我們配置接入點主機軟件、設置 ssid、選擇加密等。
步驟 6:為 SSID 和密碼配置hostapd
我們需要編輯hostapd配置文件(運行sudo nano /etc/hostapd/hostapd.conf)來添加正在設置的無線網絡的各種參數,包括ssid和密碼。應該注意的是,密碼(密碼短語)應介于 8 到 64 個字符之間。任何較小的東西都行不通。
interface=wlan0 driver=nl80211 ssid=piNetwork hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=emmanuel # use a very secure password and not this wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCM
文件的內容應如下圖所示。
隨意更改 ssid 和密碼以滿足您的需求和愿望。
保存配置文件并退出。
保存配置文件后,我們需要將 hostapd 軟件指向保存配置文件的位置。為此,請運行;
sudo nano /etc/default/hostapd
找到注釋掉daemon_conf的行,如下圖所示。
取消注釋DAEMON_CONF行,并在“等于”符號前面的引號之間添加下面的行。
/etc/hostapd/hostapd.conf
第 7 步:啟動它
由于我們最初禁用了這兩個軟件,為了使我們能夠正確配置它們,我們需要在配置后重新啟動系統以進行更改。
用;
sudo systemctl start hostapd sudo systemctl start dnsmasq
步驟 8:出站流量的路由和偽裝
我們需要為出站流量添加路由和偽裝。
為此,我們需要通過運行以下命令來編輯 systemctl 的配置文件:
sudo nano /etc/sysctl.conf
取消注釋此行net.ipv4.ip_forward=1(下圖突出顯示)
保存配置文件并使用 ctrl+x 后跟 y 退出。
接下來,我們開始偽裝出站流量。這可以通過對 iptable 規則進行一些更改來完成。為此,請運行以下命令:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
然后使用以下方法保存 Iptables 規則:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
步驟9:啟動時創建無線接入點:
對于大多數無線接入點應用,通常需要接入點在系統啟動后立即啟動。要在樹莓派上實現這一點,最簡單的方法之一是在 rc.local 文件中添加運行軟件的指令,因此我們將啟動時安裝 iptable 規則的命令放在 rc.local 文件中。
要編輯 rc.local 文件,請運行:
sudo nano /etc/rc.local
并在系統底部的 exit 0 語句之前添加以下行
iptables-restore < /etc/iptables.ipv4.nat
第 9 步:重新啟動!和使用
在此階段,我們需要重新啟動系統以實施所有更改,并在更新 iptables 規則的情況下測試啟動時啟動的無線接入點。
使用以下方法重新啟動系統:
sudo reboot
系統重新打開后,您應該能夠使用任何啟用Wi-Fi的設備和設置期間使用的密碼訪問無線接入點。
從樹莓派的Wi-Fi熱點訪問互聯網
哦,是的,所以我將添加一個獎勵教程,以展示如何使用創建的無線接入點為連接到它的設備提供互聯網連接。分配給設備的互聯網訪問通過Pi上的以太網端口提供,該端口可以連接到路由器或任何類似設備。
為了實現這一點,我們需要在Raspberry Pi(無線接入點)上的無線設備和以太網設備之間放置一個“橋接器”,以傳遞兩個接口之間的所有流量。為了設置這一點,我們將使用bridge-utils軟件。安裝 hostapd 和 bridge-utils。雖然我們之前已經安裝了hostapd,但請再次運行安裝以消除所有疑問。
sudo apt-get install hostapd bridge-utils
接下來,我們停止hostapd以配置軟件。
sudo systemctl stop hostapd
創建網橋時,將在橋接的兩個端口上創建更高級別的構造,因此網橋成為網絡設備。為了防止沖突,我們需要停止在樹莓派上運行的DHCP客戶端將IP地址分配給eth0和wlan0端口。這將通過編輯 dhcpcd 客戶端的配置文件來完成,以包括拒絕接口 wlan0和拒絕接口 eth0,如下圖所示。
可以通過運行命令來編輯該文件;
sudo nano /etc/dhcpcd.conf
注意:從這一點開始,如果您在無外設模式下運行,請確保不要斷開以太網電纜與PC的連接,因為由于我們禁用了以太網端口,您可能無法再次通過SSH連接。如果使用顯示器,您不必擔心。
接下來,我們創建一個名為 br0 的新網橋
sudo brctl addbr br0
接下來,我們使用以下方法將以太網端口 (eth0) 連接到網橋 (br0);
sudo brctl addif br0 eth0
接下來,我們使用 sudo nano /etc/network/interfaces 編輯接口文件,以便各種設備可以使用網橋。編輯接口文件以包含以下信息;
#Bridge setup
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
最后,我們編輯 hostapd.conf 文件以包含網橋配置。這可以通過運行命令來完成:sudo nano /etc/hostapd.conf 并編輯文件以包含以下信息。請注意,網橋已添加到 wlan0 接口下方,驅動程序行已注釋掉。
interface=wlan0
bridge=br0
#driver=nl80211
ssid=NameOfNetwork
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=AardvarkBadgerHedgehog
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
完成此操作后,保存配置文件并退出。
要使對樹莓派所做的更改生效,請重新啟動系統。一旦它恢復,您現在應該能夠通過連接到Raspberry Pi創建的無線接入點來訪問互聯網。當然,這只有在通過以太網端口可以訪問 pi 的情況下才有效。
雖然這個項目可以用來在房子或辦公室或整個大院周圍擴展Wi-Fi,但我覺得有幾個應用程序非常有趣和有用,比如樹莓派作為家庭自動化中心,所以幾個支持Wi-Fi的家庭自動化設備可以使用樹莓派的無線接入點連接到互聯網。您是否還有其他可以應用的很酷的想法,請隨時通過評論部分分享以激勵他人。
測試樹莓派無線接入點:
要測試這些說明,請使用手機或任何其他能夠連接到WiFi熱點網絡的設備,您應該會看到名稱彈出。然后,您可以使用我們指定的“emmanuel”的可怕密碼連接到它。實施時,請務必使用更安全的密碼。我只是使用該密碼使事情更容易遵循。
另請注意,重新啟動后無線接入點可能需要一段時間才能可見,因為 Pi 需要在網絡活動開始之前啟動。
-
wi-fi
+關注
關注
14文章
2146瀏覽量
124587 -
樹莓派
+關注
關注
116文章
1708瀏覽量
105694
發布評論請先 登錄
相關推薦
評論