树莓派配置成路由器
Raspberry Pi 3B+板载了无线网络适配器和陶瓷天线,不需要额外增加无线网卡就可以把它打造成一个无线路由器。有一种方法是给Raspberry Pi刷上OpenWRT等路由器固件,这样它就变成了一个比较正宗的路由器。另一种方法是开启树莓派无线网络适配器的AP功能,并且共享其有线网络。这样依然使用Raspbian系统,可以发挥Raspiberry Pi作为一个微型服务器的优势。
以下描述如何开启树莓派3B+(系统版本:2018-06-27-raspbian-stretch)无线网络适配器的AP功能,并且共享其有线网络,实现无线路由功能。
一.准备工作
1.1在之前的配置中我们的树莓派是连上了路由器,可以联网下载软件。我们需要先下载相关软件。
sudo apt-get install hostapd dnsmasq
hostapd将开启无线适配器的AP功能,dnsmasq是DHCP和DNS服务器。
sudo apt-get install isc-dhcp-server
isc-dhcp-server是安装DHCP服务
注意.1、本次工作我们最好是通过树莓派连接电脑显示器,在树莓派系统里面用命令行操作。
2、可以不插网线直接用树莓派配置,配置完成后再插入网线即可当路由器使用。
二.设置静态IP
2.1首先让dhcpcd不再管理wlan0,避免设置冲突。
sudo nano /etc/dhcpcd.conf
在文件的开头增加一行:
denyinterfaces wlan0
2.2设置wlan0的静态ip,修改文件:
sudo nano /etc/network/interfaces
在最下面添加以下内容:
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
192.168.0.1是给树莓派做路由器分配的网关IP,这个不能与局域网其他路由器网关IP重复,若重复此处可以修改IP地址为其他网关。
三.安装hostapd
3.1新建配置文件:
sudo nano /etc/hostapd/hostapd.conf
把以下内容复制进hostapd.conf
interface=wlan0
driver=nl80211
ssid=Yahboom_WIFI
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GT-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678
rsn_pairwise=CCMP
上面文档中,ssid=Yahboom_WIFI是无线网络的名字,wpa_passphrase=12345678是密码。
测试配置是否正确:
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
此时准备掏出手机,打开设置搜索WiFi,如果可以看到设置的无线WiFi名字,恭喜你,已经成功一半了。
请按Ctrl+C停止测试。
使上述设置生效:
sudo nano /etc/default/hostapd
将#DAEMON_CONF=""删除前面的井号#并修改为DAEMON_CONF="/etc/hostapd/hostapd.conf"。
四.配置DHCP服务
4.1备份配置文件dhcpd.conf:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
4.2修改配置文件dhcpd.conf:
sudo nano /etc/dhcp/dhcpd.conf
增加以下内容:
subnet 192.168.0.0 netmask 255.255.255.0 {
range dybamic-bootp 192.168.0.10 192.168.0.100;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}
五.开启IPV4转发
5.1修改sysctl.conf文件:
sudo nano /etc/sysctl.conf
去掉net.ipv4.ip_forward=1前面的“#”号。
通过iptables做NAT转发
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
5.2保存NAT转发配置:(因为这些配置重启之后就会失效)
sudo sh -c “iptables-save > /etc/iptables.ipv4.nat”
5.3设置为开机自动加载:
sudo nano /etc/rc.local
在exit 0上方增加:
iptables-restore < /etc/iptables.ipv4.nat
启动服务
sudo service hostapd start
接着reboot重启。到此树莓派配置成路由器已经完成。
树莓派重启之后就可以用手机连接到wifi了。名字和密码在上面的文档中体现了,连接之后系统会自动为我们连接的设备分配未使用的ip。如果我们的树莓派通过有线网络连上互联网的话,我们连上的树莓派路由器的话,也是可以上网的。