首页 > 代码库 > 基于树莓派的无线路由器改造
基于树莓派的无线路由器改造
估计是昨天台风的影响,家里的渣渣路由罢工了,只能链接却无法上网。本来打算上网淘一个回来,结果昨晚收拾东西的时候发现大学买来做人脸识别的树莓派在墙角吃灰很久,于是打算对其进行改造。
太久没动树莓派,上电没有正常跑起来,干脆直接从第一步刷系统开始操作。
一、系统设置
刷系统的操作前人已经介绍了很多,这里参考@王登科: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
基于树莓派的无线路由器改造