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