树莓派变身路由器




驱动网卡


买了一个便宜的USB网卡,里面的芯片是8188eu。



下面用这个USB网卡来驱动树莓派。首先,树莓派里面没有这个网卡的ko,所以去网上下载了一个:

https://github.com/lwfinger/rtl8188eu/tree/master




再看了一下kernel 的版本:

pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux


接下来编译解压出来的驱动文件,发现kernel header没有装。于是去下载了kernel header:

http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/


接下来编译又出问题了,于是更新了gcc版本:

sudo apt-get -f install cpp-4.7 gcc-4.7

最后可以编译了,但是最后insmod module发现symbol layout有问题, 于是放弃了自己编译的想法,上网自己下载

了一个编译好的:


http://gordon.d4rc.net/8188eu_3.12.28.zip


加载了这个驱动之后,使用wpa_cli已经可以scan 了,dmesg也显示正常。说明驱动成功。

要注意的是,不要忘记把firmware装进去。


hostapd

下一步就是要使用hostapd了,首先要干掉系统自带的wpa_supplicant,然后用8188eu驱动包里面的

hostapd(官方的hostapd可能不会成功)


sudo killall wpa_supplicant
sudo killall hostapd
./hostapd   rtl_hostapd.conf

这样子就可以了成功开启AP了,其中配置文件自己要修改好,密码也要设置好。



DHCP server

要做路由器,当然要用dhcp组件了。

先安装:
sudo apt-get install isc-dhcp-server
然后配置/etc/dhcp/dhcpd.conf :
添加下面几行进去吧:
	subnet 192.168.0.0 netmask 255.255.255.0
	{
	range 192.168.0.2 192.168.0.250;
	option subnet-mask 255.255.255.0;
	option domain-name-servers 8.8.8.8;
	option routers 192.168.0.1;
	}


这里就配置好了。


转发开启

这几行代码屡试不爽:
echo "1" >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING  -o eth0 -j MASQUERADE 
iptables -P FORWARD ACCEPT
iptables -F FORWARD


完成配置

注意到,执行各个时候有顺序的,不能随便开启,这里搭配aria2c 给出来吧:



#!/bin/sh


sudo killall wpa_supplicant
sudo killall hostapd
sudo killall aria2c


sudo aria2c --conf-path=/home/pi/HDD/aria2/aria2.conf &

ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
echo "1" >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING  -o eth0 -j MASQUERADE 
iptables -P FORWARD ACCEPT
iptables -F FORWARD
service isc-dhcp-server restart

./hostapd   rtl_hostapd.conf &

这就是一个完整的脚本了,而且可以搭配aria2c做一个下载器和路由器。



实际上这几步做完简单了,几乎和ubuntu里面的做法一样(不同的是,ubuntu里面要干掉NetworkManager)




pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux


posted @ 2014-12-20 18:36  crazy_thb  阅读(813)  评论(0编辑  收藏  举报