超级版主
超级版主 Lv60    
楼主
用树莓派搭建成成路由器
查看:2930   回复:0   发布于2019-06-13 15:17:30

Raspberry Pi 3B+板载了无线网络适配器和陶瓷天线,不需要额外增加无线网卡就可以把它打造成一个无线路由器。有一种方法是给Raspberry Pi刷上OpenWRT等路由器固件,这样它就变成了一个比较正宗的路由器。另一种方法是开启树莓派无线网络适配器的AP功能,并且共享其有线网络。这样依然使用Raspbian系统,可以发挥Raspiberry Pi作为一个微型服务器的优势。

以下描述如何开启树莓派3B+(系统版本:2018-06-27-raspbian-stretch)无线网络适配器的AP功能,并且共享其有线网络,实现无线路由功能。


(扩展:如果嫌下面步骤太麻烦可以尝试用此工具,只需一条指令即可完成安装配置:

wget -q https://git.io/voEUQ -O /tmp/raspap && bash /tmp/raspap


一.准备工作

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

 interfaces.png

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

hostapd.png

 上面文档中,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"

daemon_config.png

四.配置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;

}

 dhcpd.png

五.开启IPV4转发

5.1修改sysctl.conf文件:

sudo nano /etc/sysctl.conf

去掉net.ipv4.ip_forward=1前面的“#”号。

sysctl.png

通过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

nat.png

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

rc.png

启动服务

sudo service hostapd start

接着reboot重启。到此树莓派配置成路由器已经完成。

树莓派重启之后就可以用手机连接到wifi了。名字和密码在上面的文档中体现了,连接之后系统会自动为我们连接的设备分配未使用的ip。如果我们的树莓派通过有线网络连上互联网的话,我们连上的树莓派路由器的话,也是可以上网的。

树莓派极客网Raspigeek.com 
回复列表
默认   热门   正序   倒序

回复:用树莓派搭建成成路由器

Powered by Raspigeek RASPIGEEK_VERSION

©2015 - 2020 树莓派极客论坛

官方网站 联系站长

您的IP:3.231.220.139,2020-04-09 14:17:19,Processed in 0.13527 second(s).