基於樹莓派2代的DIY無線路由器
最近手上多了一個樹莓派2代,於是折騰就這麽開始了。
因為總是得要個顯示屏或者路由器或者插根網線才能玩,有點麻煩,所以有了此文。
設備清單:
樹莓派2代
EDUP EP-N8508GS無線網卡(USB)
普通網線一根
最終實現的效果是樹莓派的有線網卡用來作為wan口,無線網卡建立熱點
筆記本可以通過連接wifi連接上樹莓派進行操作
下面說說過程:
首先我參考了
http://elinux.org/RPI-Wireless-Hotspot
這篇文章中的方法,但是並沒有成功。後來看到文章的末尾才知道,是驅動對不上號,文章末尾明確標明默認的hostapd程序不支持rtl8188系列網卡,而我的usb網卡就是rtl8188cus系列。
如果你的網卡不是rtl8188系列那你可以參考上面文章中的方法來配置,如果是那麽可以參考我的方法。
根據那篇文章最後給出的連接,找到了這個驅動:
https://github.com/lostincynicism/hostapd-rtl8188
然而當編譯好驅動重新運行之後仍然是不行,還是不支持。
最後還是參考了這篇文章:
http://wangye.org/blog/archives/845/?_t_t_t=0.7382462719884554
原因可能就是因為我這個系列網卡比較特殊。但是最後在這個文章中發現了編譯好的第三方驅動,雖然有點不滿意,但還是湊合著用了。
具體步驟:
先切換為root用戶,可以省去很多不必要的麻煩。
所以以下操作都是以root用戶:
1.安裝hostapd和udhcpd服務並且更換hostapd程序
apt-get install udhcpd hostapd wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip unzip hostapd.zip mv /usr/sbin/hostapd /usr/sbin/hostapd.bak mv hostapd /usr/sbin/hostapd.edimax ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd chown root.root /usr/sbin/hostapd chmod 755 /usr/sbin/hostapd
2.編輯/etc/udhcpd.conf文件,配置dhcp服務:
確保文件當中有下列內容
start 192.168.1.2
end 192.168.1.254
interface wlan0
remaining yes
opt dns 223.5.5.5 223.6.6.6
opt subnet 255.255.255.0
opt router 192.168.1.1
opt lease 864000 #
相信一般都能看懂,其中的interface需要根據情況來寫。
3.編輯/etc/default/udhcpd 文件,將下面這行註釋掉。
DHCPD_ENABLED="no"
4.將無線網卡wlan0的ip設為192.168.1.1
ifconfig wlan0 192.168.42.1
5.修改/etc/network/interfaces文件,添加下面的內容
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
並且將下面這兩條註釋掉
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet manual
6.接著就正式開始配置無線相關的選項了,編輯/etc/hostapd/hostapd.conf,如果沒有這個文件就自行創建它。
interface=wlan0
driver=rtl871xdrv
ssid=無線名稱
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=無線密碼
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
7.在/etc/default/hostapd文件中指定hostapd服務的配置文件,內容如下
DAEMON_CONF="/etc/hostapd/hostapd.conf"
8.更改系統的轉發規則和iptables規則,依次運行下列命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables-save > /etc/iptables.nat
service hostapd start
service udhcpd start
update-rc.d hostapd enable
update-rc.d udhcpd enable
9.最後一點點收尾工作:
編輯/etc/network/interfaces文件,在末尾加上著一條:
up iptables-restore < /etc/iptables.nat
以及/etc/sysctl.conf文件,確保下面的選項存在
net.ipv4.ip_forward=1
到此為止就全部完成了,用手機,電腦等無線設備都可以連接上樹莓派了。
為後續的折騰打下基礎。
折騰的整個過程還挺復雜的,需要修改多處文件,而且每一處修改都會微妙的影響到最後路由器的運行,小小的改變都有可能造成癱瘓或者影響性能。由此可見,想DIY一款高性能的個性無線路由器還是很有挑戰性的。
基於樹莓派2代的DIY無線路由器