zoukankan      html  css  js  c++  java
  • (17)树莓派配置成路由器

    树莓派配置成路由器

     

    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

     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。如果我们的树莓派通过有线网络连上互联网的话,我们连上的树莓派路由器的话,也是可以上网的。

  • 相关阅读:
    II、Python HelloWorld
    初次比较正式的IT职场面试后几点对自己web开发的思考
    网页调用迅雷下载文件
    php PAC 安装
    php 大文件上传的实现
    正则表达式
    怎么看待php 面向对象思想
    IT职场初体验一
    php 发送邮件
    web的seo
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/11123062.html
Copyright © 2011-2022 走看看