概述
您想將Pi用作WiFi路由器嗎?還是將其作為特殊的過濾訪問點?將Pi設(shè)置為接入點(AP)比將其用作客戶端要先進一些,但是鍵入它只需要半小時即可進行配置。如果需要,本教程將使Pi廣播WiFi服務(wù),然后將互聯(lián)網(wǎng)流量路由到以太網(wǎng)電纜。由于它是全Linux操作系統(tǒng),因此您可以按自己的喜好進行更新或配置。
我使用以下頁面作為創(chuàng)建本教程的指南,請注意,其中許多將無法完全使用,但請檢查是否有興趣!
http://qcktech.blogspot.com/2012/08/raspberry-pi-as-router.html
http ://itsacleanmachine.blogspot.com/2013/02/wifi-access-point-with-raspberry-pi.html
http://esrlabs.com/android-transporter-for-the-nexus -7-and-the-raspberry-pi/
http://elinux.org/RPI-Wireless-Hotspot
http://blog.mxard.com/persistent- iptables-on-raspberry-pi-raspbian
當(dāng)前僅在Raspbian,Jessie和Raspberry Pi 3上進行過測試
所需條件
運行本教程將需要一些幫助:
Raspberry Pi-需要以太網(wǎng)
以太網(wǎng)電纜
WiFi適配器-并非所有WiFi適配器都可以使用,我們確定它可以與Adafruit商店中的適配器兼容!
帶有Raspbian的SD卡(4GB或更大)。您可以自己動手或購買現(xiàn)成的Raspbian卡
USB控制臺電纜(可選)-這使操作變得簡單一些調(diào)試系統(tǒng)
Pi的外殼(可選)
SD或MicroSD讀卡器(可選)
我們的Pi入門包將滿足您的所有需求,甚至提供更多有趣的東西供您玩
準(zhǔn)備
本教程假定您已設(shè)置好Pi并準(zhǔn)備就緒。
請按照教程進行操作,以
安裝將操作系統(tǒng)安裝到SD卡上
引導(dǎo)Pi并配置
別忘了更改“ pi”帳戶的默認(rèn)密碼!
設(shè)置并測試以太網(wǎng)和Wifi連接
使用USB控制臺電纜(可選)連接
完成后,您應(yīng)該擁有一個引導(dǎo)Raspbian的Pi。 ,您可以使用USB控制臺電纜連接并通過命令行界面登錄Pi。
可以通過以太網(wǎng)端口上的 ssh 或使用控制臺電纜。
如果使用控制臺電纜,即使最后一步中的圖顯示了通過USB控制臺電纜(紅色電線)為Pi供電,我們也建議不要連接紅色電線,而應(yīng)從墻上適配器供電。保持黑色,白色和綠色電纜保持連接狀態(tài)。
別忘了擴展SD卡,否則可能會用完空間!
檢查以太網(wǎng)和Wifi
在繼續(xù)進行操作之前,請確保已連接以太網(wǎng)電纜,并且您可以從樹莓派 ping :ping 8.8.8.8
您也將要設(shè)置您的WiFi加密狗。立即運行 sudo shutdown -h ,然后在Pi處于關(guān)閉狀態(tài)時插入WiFi模塊,以免造成電涌。
如果您擁有Pi 3或任何其他具有內(nèi)置WiFi的Pi,不需要外部WiFi適配器,但是如果需要更大/外部天線,您可以 使用
在備份時,請使用 ifconfig -a 檢查 wlan0 - WiFi模塊。
安裝軟件
下一步,我們將軟件安裝到將充當(dāng)“ hostap”(主機訪問點)的Pi上。此步驟需要互聯(lián)網(wǎng)訪問因此請確保以太網(wǎng)連接已建立!
sudo apt-get update
sudo apt-get install hostapd isc-dhcp-server
(如果出現(xiàn)以下情況,您可能需要 sudo apt-get update Pi似乎無法到達(dá)apt-get存儲庫)
(上面的文本顯示了udhcpd,但它與isc-dhcp-server一樣不起作用,但輸出看起來應(yīng)該相似)
還可以使用
sudo apt-get install iptables-persistent
安裝一個不錯的iptables管理器,您會得到兩個“配置”屏幕,例如是到兩者
設(shè)置DHCP服務(wù)器
下一步我們將編輯/etc/dhcp/dhcpd.conf ,該文件可設(shè)置我們的DHCP服務(wù)器-這允許s的wifi連接以自動獲取IP地址,DNS等。
運行此命令以編輯文件
sudo nano /etc/dhcp/dhcpd.conf
查找提示行
下載:文件
復(fù)制代碼
option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org; option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org;
,并將其更改為在開頭添加#,以便他們說
下載:文件
復(fù)制代碼
#option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org; #option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org;
找到以下行:/p》
下載:文件
復(fù)制代碼
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative; # If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
并刪除#,以使其顯示為
下載:文件
復(fù)制代碼
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative; # If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
然后向下滾動到底部并添加以下行
下載:文件
復(fù)制代碼
subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name “l(fā)ocal”;
option domain-name-servers 8.8.8.8, 8.8.4.4;
} subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name “l(fā)ocal”;
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
通過鍵入 Control-X保存文件,然后 Y ,然后返回
運行
sudo nano /etc/default/isc-dhcp-server
并向下滾動到 INTERFACES =“” ,然后將其更新為 INTERFACES =“ wlan0”
,或者說您的無線適配器的名稱是什么!
它可能稱為 INTERFACESv4 和 v6 -在這種情況下,請同時添加 wlan0
關(guān)閉并保存文件
為靜態(tài)IP設(shè)置wlan0
如果由于設(shè)置了它而使 wlan0 處于活動狀態(tài),請運行 sudo ifdown wlan0
‘不確定
下一步,我們將設(shè)置 wlan0 連接是靜態(tài)的并且是傳入的。運行sudo nano /etc/network/interfaces編輯文件
找到 auto wlan0 行,并在該行的前面和隨后的每一行的前面添加#。如果您沒有該行,請確保它最終看起來像下面的屏幕截圖!基本上只需刪除任何舊的 wlan0 配置設(shè)置,我們將對其進行更改
根據(jù)您現(xiàn)有的設(shè)置/分布,文本可能會或多或少,并且可能會有所不同
添加行
下載:文件
復(fù)制代碼
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0 iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
在 allow-hotplug wlan0 之后-參見下面的示例。此后任何其他行都應(yīng)在其前面加上#以將其禁用
保存文件(Control-X Y)
通過運行
sudo ifconfig wlan0 192.168.42.1
配置訪問點
現(xiàn)在我們可以配置訪問點詳細(xì)信息。我們將建立一個受密碼保護的網(wǎng)絡(luò),以便只有具有密碼的人才能連接。
通過運行sudo nano /etc/hostapd/hostapd.conf
創(chuàng)建一個新文件,粘貼以下內(nèi)容,您可以在 《后更改文本strong》 ssid = 改為另一個名稱,即網(wǎng)絡(luò)廣播名稱。可以在 wpa_passphrase =
下載:文件
復(fù)制代碼
interface=wlan0
driver=rtl871xdrv
ssid=Pi_AP
country_code=US
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1 interface=wlan0
driver=rtl871xdrv
ssid=Pi_AP
country_code=US
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
如果您不使用Adafruit wifi適配器,您可能必須更改 driver = rtl871xdrv 以說 driver = nl80211 或類似的內(nèi)容
如果您使用的是Raspberry Pi 3的內(nèi)部WiFi適配器,請注釋driver=rtl871xdrv總共一行:
照常保存。確保每行結(jié)尾或開頭沒有多余的空格或制表符-該文件非常挑剔!
現(xiàn)在,我們將告訴Pi在哪里可以找到此配置文件。運行 sudo nano/etc/default/hostapd
找到行 #DAEMON_CONF =“” 并進行編輯因此它說 DAEMON_CONF =“/etc/hostapd/hostapd.conf”
別忘了刪除前面的#激活它!
然后保存文件
類似,運行 sudo nano/etc/init.d/hostapd 并找到該行
DAEMON_CONF=
并將其更改為
DAEMON_CONF=/etc/hostapd/hostapd.conf
配置網(wǎng)絡(luò)地址轉(zhuǎn)換
設(shè)置NAT將允許多個客戶端連接到WiFi,并通過單個以太網(wǎng)IP將所有數(shù)據(jù)“隧道化”。 (但是,即使只有一個客戶端要連接,也應(yīng)該這樣做)。
運行sudo nano /etc/sysctl.conf
滾動到底部并添加
net.ipv4.ip_forward=1
換行。保存文件。這將在啟動時開始IP轉(zhuǎn)發(fā)
還運行
sudo sh -c “echo 1 》 /proc/sys/net/ipv4/ip_forward”
以立即將其激活
運行以下命令以在以太網(wǎng)端口 eth0 和wifi端口 wlan0
下載:文件
復(fù)制代碼
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
您可以檢查一下內(nèi)容在帶有
sudo iptables -t nat -S
sudo iptables -S
的表中(要在重新啟動時進行此操作(因此您不必每次都鍵入它))運行
sudo sh -c “iptables-save 》 /etc/iptables/rules.v4”
在開始時安裝的 iptables-persistent 工具將自動在啟動時重新加載配置。
更新hostapd(也許)
如果您正在運行Raspberry pi內(nèi)核4.4.13-v7 +或更高版本(使用 uname -a 檢查內(nèi)核版本),則無需執(zhí)行此步驟。
如果您使用的是Raspberry Pi 3個內(nèi)置WiFi或未使用類似RTL8192的WiFi適配器,請?zhí)^此步驟!
在運行接入點軟件之前,我們必須將其更新為支持該版本的版本。 WiFi適配器。
首先輸入
wget http://adafruit-download.s3.amazonaws.com/adafruit_hostapd_14128.zip
來下載新版本(請檢查下一部分) (有關(guān)如何編譯自己的更新的 hostapd )的信息,然后
unzip adafruit_hostapd_14128.zip
對其進行解壓縮。使用
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG
將舊版本移開,并使用
sudo mv hostapd /usr/sbin
對其進行設(shè)置,使其可以與
sudo chown root:root /usr/sbin/hostapd
sudo chmod 755 /usr/sbin/hostapd
首先測試!
最后我們可以測試接入點主機了!運行
sudo/usr/sbin/hostapd/etc/hostapd/hostapd.conf
與我們一起手動運行 hostapd 配置文件。您應(yīng)該看到它已設(shè)置并使用 wlan0 ,然后您可以與另一臺wifi計算機進行檢查,以查看SSID是否顯示出來。如果是這樣,則說明您已經(jīng)成功設(shè)置了接入點。
如果收到此警告
下載:文件
復(fù)制代碼
Configuration file: /etc/hostapd/hostapd.conf
Line 2: invalid/unknown driver ’rtl871xdrv‘
1 errors found in configuration file ’/etc/hostapd/hostapd.conf‘
Failed to set up interface with /etc/hostapd/hostapd.conf
Failed to initialize interface Configuration file: /etc/hostapd/hostapd.conf
Line 2: invalid/unknown driver ’rtl871xdrv‘
1 errors found in configuration file ’/etc/hostapd/hostapd.conf‘
Failed to set up interface with /etc/hostapd/hostapd.conf
Failed to initialize interface
這可能意味著您不在使用一個RTL871Xdrv WiFi適配器(例如Pi 3內(nèi)部wifi),并且應(yīng)使用該芯片組注釋掉hostapd配置 OR 中的driver=rtl871xdrv行,并且您需要下載我們重新編譯的 hostapd 二進制文件
如果它可以正常工作,則應(yīng)獲得以下內(nèi)容:
,然后看到創(chuàng)建的新訪問點:
您可以嘗試使用之前設(shè)置的密碼(可能Raspberry如果您復(fù)制了hostapd配置),則將顯示調(diào)試文本在Pi控制臺上,但您將無法連接到以太網(wǎng)連接。
在Pi控制臺中鍵入 Control-C 以返回到Pi命令行
刪除WPA請求方,以取消測試。
根據(jù)您的發(fā)行版,您 可能需要刪除WPASupplicant。為此,請運行以下命令:
下載:文件
復(fù)制代碼
sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~/ sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~/
,然后重新啟動( sudo重新啟動)并重試運行 hostapd
整理!
現(xiàn)在我們知道它可以工作了,是時候?qū)⑵湓O(shè)置為“守護程序”了-該程序?qū)⒃赑i啟動時啟動。
運行以下命令
sudo service hostapd start
sudo service isc-dhcp-server start
您可以隨時檢查狀態(tài)
sudo服務(wù)hostapd狀態(tài)
或 sudo 服務(wù)isc-dhcp-服務(wù)器狀態(tài)
啟動守護程序服務(wù)。驗證它們是否都成功啟動(沒有“失敗”或“錯誤”)
然后使其成功啟動,以便每次啟動時都運行
sudo update-rc.d hostapd啟用
sudo update-rc.d isc-dhcp-server 啟用
連接并測試
現(xiàn)在我們已經(jīng)在Pi上安裝了軟件,是時候連接到它并測試連接了。我使用的是Windows計算機,但是任何類型的計算機都可以正常運行
在Pi上,運行命令 tail -f/var/log/syslog 來查看系統(tǒng)日志數(shù)據(jù),便于檢查和調(diào)試發(fā)生了什么!
將另一臺計算機連接到上一步中創(chuàng)建的AP
輸入在上一步中指定的WPA密鑰
i》
在Pi syslog中,您應(yīng)該會看到類似這樣的內(nèi)容!它表明客戶端已連接,在什么時候以及為他們提供了什么IP地址。
如果您根本無法連接,則 hostapd
在您的計算機上,打開一個終端(mac/linux)或開始-》運行-》 cmd 打開命令行
首先檢查 ifconfig (mac/linux)或 ipconfig (windows)說。您的IP地址應(yīng)該在192.168.42.10-50范圍內(nèi)
嘗試ping Pi,其地址為 192.168.42.1 -在Windows上它將ping 3次并退出。在Mac/Linux上,按Control-C幾秒鐘后退出。您應(yīng)該成功完成ping操作,如下所示
如果該操作無效,則 hostapd 或 dhcpd (更可能)
下一步嘗試ping 8.8.8.8,如果這不起作用,但以前的方法可行,則 dhcpd 或NAT配置(更可能是)有問題
最后,我們將檢查DNS是否有效,請嘗試ping www.mit.edu。如果這不起作用,則 dhcpd
出現(xiàn)了問題。如果到目前為止一切正常,請嘗試瀏覽Internet,發(fā)送電子郵件等。您現(xiàn)在將Pi用作Wifi路由器!
更多!
可以將您的路由器設(shè)置為開放或WEP訪問,但我們不在此介紹(它也不安全!)您可能想在此搜索有關(guān)涵蓋 hostapd 選項
編譯hostapd
此步驟不是必需的,僅適用于好奇的人!
您可能已經(jīng)注意到,有一個步驟是從adafruit.com下載hostapd副本并將其與您的交換。如果您要自己編譯,請按以下步驟操作(如果您可以使用我們的二進制文件,這很容易,但是沒有必要)
轉(zhuǎn)到Realtek下載頁面http://152.104 .125.41/downloads/downloadsView.aspx?Langid = 1&PNid = 21&PFid = 48&Level = 5&Conn = 4&ProdID = 27 。..
下載linux 3.4.4_4749
將zip復(fù)制到SD使用任何可將其放置在Pi的/boot目錄中的計算機(或以某種方式將該文件存儲到您的Pi上)
從SD卡引導(dǎo)Pi
sudo mv/boot/RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip。
解壓縮RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip
mv RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/rtlli》
cd wpa_supplicant_hostapd
解壓縮wpa_supplicant_hostapd-0.8_rtw_20120803.zip
cd wpa_supplicant_hostapd-0.8/
cd hostapd
make
*有一個三明治*
完成后, hostapd 二進制文件位于目錄中
(下載鏈接無法正常工作,也許它的Som在http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false)中的什么位置
責(zé)任編輯:wv
-
WIFI
+關(guān)注
關(guān)注
81文章
5386瀏覽量
207882 -
樹莓派
+關(guān)注
關(guān)注
121文章
1977瀏覽量
107207
發(fā)布評論請先 登錄
樹莓派小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置樹莓派?

樹莓派分類器:用樹莓派識別不同型號的樹莓派!

關(guān)于 樹莓派5 超頻:你需要知道的一切!

用樹莓派“揪出”家里的耗電怪獸!

樹莓派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!

樹莓派“吉尼斯世界記錄”:將樹莓派的性能發(fā)揮到極致的項目!

什么是樹莓派?樹莓派是什么架構(gòu)的
利用邏輯和電壓轉(zhuǎn)換優(yōu)化WLAN和WiFi接入點系統(tǒng)申請簡介

評論