基于树莓派的无线路由器改造
家里的渣渣路由罢工了,只能链接却无法上网。本来打算上网淘一个回来,结果昨晚收拾东西的时候发现大学买来做人脸识别的树莓派在墙角吃灰很久,于是打算对其进行改造。
太久没动树莓派,上电没有正常跑起来,干脆直接从第一步刷系统开始操作。
一、系统设置
2、打开网络设置
sudo nano /etc/network/interfacse
将wlan0修改为如下
#自动IP auto lo iface lo inet loopback iface eth0 inet dhcp iface eth0 inet manual #网卡设置为固定IP iface wlan0 inet static address 192.168.1.1 netmask 255.255.255.0
二、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、设置网关等信息,这里使用的是192.168.1.1
#默认租期(S) default-lease-time 84600; #最大租期(S) max-lease-time 84600; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; option routers 192.168.1.1; option broadcast-address 192.168.1.127; //设置DNS服务器地址 option domain-name-servers 192.168.31.1,192.168.1.1; default-lease-time 84600; max-lease-time 84600; }
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
PS: 手机有时候会出现连接上wifi后无法联网的情况,需要手动设置IP,暂时未解决~~