Raspberry pi做成无线热点
Raspberry pi作為卡片式微型電腦,本身沒有自帶顯示器、鼠標(biāo)、鍵盤等外設(shè),如果想對Raspberry PI進(jìn)行設(shè)定需要連接顯示器,或者通過路由器ssh登陸才可以。心想Raspberry pi是可以運(yùn)行Linux系統(tǒng)的卡片型電腦,為何不嘗試把Raspberry Pi做成一個(gè)無線AP,想登陸Raspbery pi的時(shí)候就比較方便了。后續(xù)也可以加上USB存儲外設(shè)之類的做個(gè)多媒體網(wǎng)關(guān)等等。
主要的實(shí)現(xiàn)思路是wlan0設(shè)定成固定IP,eth0動(dòng)態(tài)獲取IP。Raspberry Pi運(yùn)行hostapd和udhcpd分別作為無線AP熱點(diǎn)和DHCP服務(wù)器給終端分配IP地址。
目前我手上的wifi網(wǎng)卡是Realtek的8818芯片。如果直接按照網(wǎng)上的教程安裝hostapd的話會(huì)出現(xiàn)錯(cuò)誤。經(jīng)過一番查找,Realtek公司專門有針對8818芯片的hostapd版本,網(wǎng)上牛人已經(jīng)把相關(guān)代碼放到github上,我們直接安裝就可以了。
為了能正常為8818芯片的wifi網(wǎng)卡安裝上hostapd,首先要卸載掉原先的hostapd
sudo apt-get autoremove hostapd
然后安裝8818芯片版本的hostapd
wget https://github.com/jenssegers/RTL8188-hostapd/archive/v2.0.tar.gztar -zxvf v2.0.tar.gz
然后編譯安裝
cd RTL8188-hostapd-2.0/hostapd sudo make
sudo make install
$ sudo service hostapd restart
[ ok ] Stopping advanced IEEE 802.11 management: hostapd.
[ ok ] Starting advanced IEEE 802.11 management: hostapd.
hostapd安裝完畢。
接下來安裝udhcpd
sudo?apt-get?install?udhcpd
安裝完成后配置/etc/udhcpd.conf
接下來編輯/etc/default/udhcpd并且將下面這行注釋掉,以使DHCP Server正常工作:
#DHCPD_ENABLED="no"為了下次啟動(dòng)仍然有效,我們需要配置/etc/network/interfaces文件:
sudo?nano?/etc/network/interfaces
注釋掉所有的關(guān)于無線網(wǎng)卡的部分,最后應(yīng)該變成下面所示:
#wpa-roam?/etc/wpa_supplicant/wpa_supplicant.conf #iface?default?inet?dhcp注意保留allow-hotplug wlan0,英文原文是不保留的,但是我操作下來發(fā)現(xiàn)如果不保留這段的話,無線網(wǎng)卡有時(shí)無法正常配置IP,最后無線網(wǎng)卡IP的配置信息如下:
allow-hotplug?wlan0 iface?wlan0?inet?staticaddress?192.168.20.1netmask?255.255.255.0編輯hostapd配置
sudo?nano?/etc/hostapd/hostapd.conf啟動(dòng)IP轉(zhuǎn)向功能以便于開通NAT
sudo?sh?-c?"echo?1?>?/proc/sys/net/ipv4/ip_forward"net.ipv4.ip_forward=1
配置iptables防火墻
我們可以做個(gè)腳本名為nat.sh,以便啟動(dòng)的時(shí)候自動(dòng)運(yùn)行nat相關(guān)配置
#!/bin/sh 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給腳本加上可執(zhí)行權(quán)限
sudo?chmod?+x?nat.sh編輯/etc/rc.local文件,使之開機(jī)時(shí)運(yùn)行nat相關(guān)iptabls配置和啟動(dòng)hostapd
sudo nano /etc/rc.local
在exit 0上面加上以下兩行后保存退出
sudo service hostapd start
sh /home/pi/nat.sh
再讓udhcpd也啟動(dòng)時(shí)一起運(yùn)行。
所有的步驟結(jié)束后重啟Raspberry pi.
大功告成!
PS:這里碰到了幾個(gè)小問題。
不知是問么原因,原本打算用sudo update-rc.d hostapd enable使hostapd開機(jī)啟動(dòng)的。但是會(huì)報(bào)錯(cuò)無法開機(jī)啟動(dòng),后來決定在/etc/rc.local上加上sudo service hostapd start的方式解決。
關(guān)于iptables,原本打算用sudo sh -c "iptables-save > /etc/network/iptables",然后在/etc/network/interface上加上 up iptables-restore < /etc/network/iptables方式使nat相關(guān)配置生效的。但是不知什么原因重啟Raspberry pi后一直不生效。也只能通過萬能的rc.local上加上sh /home/pi/nat.sh的方式解決。
后期打算加上自動(dòng)加載USB存儲設(shè)備,通過媒體共享的方式給我的IPAD,iphone等共享文件,播放視頻等等。
轉(zhuǎn)載于:https://blog.51cto.com/raspjason/1690614
總結(jié)
以上是生活随笔為你收集整理的Raspberry pi做成无线热点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 免费地图
- 下一篇: android studio制作.9图片