1. 程式人生 > >基於樹莓派2代的DIY無線路由器

基於樹莓派2代的DIY無線路由器

edi 無線網卡 AD uri sub 效果 eth ipv4 ant

最近手上多了一個樹莓派2代,於是折騰就這麽開始了。
因為總是得要個顯示屏或者路由器或者插根網線才能玩,有點麻煩,所以有了此文。

設備清單:

樹莓派2代
EDUP EP-N8508GS無線網卡(USB)
普通網線一根

最終實現的效果是樹莓派的有線網卡用來作為wan口,無線網卡建立熱點
筆記本可以通過連接wifi連接上樹莓派進行操作

下面說說過程:
首先我參考了

http://elinux.org/RPI-Wireless-Hotspot

這篇文章中的方法,但是並沒有成功。後來看到文章的末尾才知道,是驅動對不上號,文章末尾明確標明默認的hostapd程序不支持rtl8188系列網卡,而我的usb網卡就是rtl8188cus系列。

所以在開始之前,建議先用lsusb命令看一下網卡的型號再考慮進行下一步。

如果你的網卡不是rtl8188系列那你可以參考上面文章中的方法來配置,如果是那麽可以參考我的方法。

根據那篇文章最後給出的連接,找到了這個驅動:

https://github.com/lostincynicism/hostapd-rtl8188

然而當編譯好驅動重新運行之後仍然是不行,還是不支持。

最後還是參考了這篇文章:

http://wangye.org/blog/archives/845/?_t_t_t=0.7382462719884554

原因可能就是因為我這個系列網卡比較特殊。但是最後在這個文章中發現了編譯好的第三方驅動,雖然有點不滿意,但還是湊合著用了。

http://www.daveconroy.com/turn-your-raspberry-pi-into-a-wifi-hotspot-with-edimax-nano-usb-ew-7811un-rtl8188cus-chipset/
具體步驟:
先切換為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無線路由器