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