首页 > 代码库 > 基于树莓派的无线路由器改造

基于树莓派的无线路由器改造

估计是昨天台风的影响,家里的渣渣路由罢工了,只能链接却无法上网。本来打算上网淘一个回来,结果昨晚收拾东西的时候发现大学买来做人脸识别的树莓派在墙角吃灰很久,于是打算对其进行改造。

太久没动树莓派,上电没有正常跑起来,干脆直接从第一步刷系统开始操作。

 

一、系统设置

 

刷系统的操作前人已经介绍了很多,这里参考@王登科:http://www.tuicool.com/articles/RBVNfef  实现Putty远程连接树莓派

 

二、hostapd

 

1、安装hostapd 

sudo apt-get install hostapd

2、使用下面的语句打开hostapd

sudo nano /etc/default/hostapd

3、找到#DAEMON_CONF= ""这一行,首先取消注释(去掉前面的#号),然后将其修改为:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

4、打开hostapd.conf

sudo nano /etc/hostapd/hostapd.conf

5、添加配置信息(PS:由于没查到我买的设备的具体型号,这里采用后面的方式进行配置)

# 把无线网卡wlan0 作为接入点 
interface=wlan0 
# 使用对应的驱动 
driver=XXXX 
#共享网络的SSID是RaspberryPi 
ssid=RaspberryPi 
# 网卡工作在802.11G模式 
hw_mode=g 
#无线网卡选用11信道 
channel=11 
# WPA2 配置 
wpa=2 
#wpa密码是raspberry 
wpa_passphrase=raspberry 
#认证方式为WPA-PSK 加密方式为CCMP 
wpa_key_mgmt=WPA-PSK 
wpa_pairwise=CCMP 
rsn_pairwise=CCMP 
beacon_int=100 
auth_algs=3 
wmm_enabled=1

 

6、安装 autoremove hostapd

sudo apt-get autoremove hostapd

7、下载安装第三方驱动:

wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz 
tar -zxvf v1.1.tar.gz 
cd RTL8188-hostapd-1.1/hostapd 
sudo make 
sudo make install

8、启动hostapd服务:

sudo service hostapd restart 

之后提示下面的文字表示启动成功

[ ok ] Stopping advanced IEEE 802.11 management: hostapd. 

[ ok ] Starting advanced IEEE 802.11 management: hostapd.

打开hostapd.conf查询到我的配置如下

# Basic configuration

interface=wlan0
ssid=Wifi
channel=6
#bridge=br0

# WPA and WPA2 configuration

macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=YourPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

# Hardware configuration

driver=rtl871xdrv
ieee80211n=1
hw_mode=g
device_name=RTL8192CU
manufacturer=Realtek

 

三、DHCP

 

1、安装DHCP服务,用于对每个接入的设备分配IP

sudo apt-get install isc-dhcp-server

2、编辑配置文件

sudo nano /etc/dhcp/dhcpd.conf

3、设置网关等信息,这里使用的是10.38.10.1

default-lease-time 600; 
max-lease-time 7200; 
log-facility local7; 

subnet 10.38.10.0 netmask 255.255.255.0 { 
range 10.38.10.10 10.38.10.100; 
option routers 10.38.10.1; 
option broadcast-address 10.38.10.127; 
option domain-name-servers 8.8.8.8,8.8.4.4; 
default-lease-time 600; 
max-lease-time 7200; 
}

4、启动DHCP服务

sudo service isc-dhcp-server restart

 

四、转发配置

 

1、配置路由转发

sudo iptables -F 
sudo iptables -X 
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
sudo bash 
iptables-save > /etc/iptables.up.rules 
exit

2、打开iptables文件

sudo nano /etc/network/if-pre-up.d/iptables

添加以下代码

#!/bin/bash 
/sbin/iptables-restore < /etc/iptables.up.rules

3、修改iptables权限

sudo chmod 755 /etc/network/if-pre-up.d/iptables

4、设置内核转发,打开sysctl.conf文件

sudo nano /etc/sysctl.conf

将文件内的下列两行

# Uncomment the next line to enable packet forwarding for IPv4 
#net.ipv4.ip_forward=1

修改为(即去掉net.ipv4.ip_forward=1的注释)

# Uncomment the next line to enable packet forwarding for IPv4 
net.ipv4.ip_forward=1

5、修改内核之后使其生效

sudo sysctl -p

至此,已经完成无线路由器的设置功能。

 

五、自启设置

 

1、安装chkconfig

sudo apt-get install chkconfig

2、设置hostapd、dhcp自启动

sudo chkconfig --add hostapd 
sudo chkconfig --add isc-dhcp-server

 

基于树莓派的无线路由器改造