树莓派4B + Debian10 单臂路由

原因

入手树莓派后,你们一定和我一样,想要在树莓派上折腾各种各样的东西,其中一定有把宽带分配的公网 IP 利用起来的想法。
想把公网 IP 利用起来,最直接的方式是用树莓派当路由器使用,但是树莓派4B只有一个千兆网口,所以这就是这篇文章的主题“树莓派单臂路由”。
路由器的基本功能有:连接外网(拨号上网)、开启 DHCP 功能、提供 WIFI 热点,本文也是主要解决这三个问题。

设备列表

树莓派4B + Debian10 x1
千兆交换机 x1
无线路由器 x1

准备工作

  1. 给树莓派安装 Debian10 系统,安装教程请参考的另一篇文章: 树莓派4安装Debian10
  2. 先把树莓派连接到原来的路由器上,确保能 ssh 登录 Debian10 系统;
  3. 登入树莓派系统后,开启 ipv4 转发:
    $ sudo vi /etc/sysctl.conf
    # 把前边的注释删除
    net.ipv4.ip_forward=1
    $ sudo sysctl -p
    

提供 WIFI 热点

在设置单臂路由前一定要开启 WIFI 热点,这是因为树莓派只有一个网络接口,在连接外网后只能用 WIFI 连接进入系统。
我分别试了 hostapd 和 network-manager 两种方式创建热点,相比起来 network-manager 配置更加简单且稳定,所以特别不推荐大家折腾 hostapd 的方式。
以下为 network-manager 安装和配置的步骤:

# 安装 network-manage
$ sudo apt install network-manager
# 添加 WIFI 热点配置
$ sudo nmcli c add type wifi con-name wlan0 ifname wlan0 wifi.mode ap ssid <WIFI 名称>
# 开启 5G 频道(设为 2G 有时无法搜到,请勿修改)
$ sudo nmcli c mod wlan0 wifi.band a
# 设置 WIFI 密码(设为 WPA2 有的设备无法连接,请勿修改)
$ sudo nmcli c mod wlan0 wifi-sec.key-mgmt wpa-psk wifi-sec.psk <WIFI 密码>
# 设置固定IP
$ sudo nmcli c mod wlan0 ipv4.method manual ipv4.addresses 10.5.7.1/24
# 重启服务
$ sudo systemctl restart NetworkManager.service

不知道是树莓派的 WIFI 模块有问题还是系统的原因,尝试了多种设置后,发现 WIFI 热点只能开启 5G 和 WPA 加密。
所以以上的配置,建议直接一路下一步不要折腾了,如果有人折腾弄清楚为什么了请一定要告诉我。
重启 network-manager 后,用可以用手机尝试连接,如果连接成功就接着下一步。

开启 DHCP 功能

连接 WIFI 成功后,此时图标应该是感叹号的状态,这是因为没有分配 IP 给手机,所以接下来要开启 DHCP 功能:

# 安装 dnsmasq
$ sudo apt install dnsmasq

# 编辑配置,在配置最后添加
$ sudo vi /etc/dnsmasq.conf
interface=wlan0
listen-address=10.5.7.1
dhcp-range=10.5.7.100,10.5.7.200,48h

# 重启 dnsmasq 服务
$ sudo systemctl restart dnsmasq.service

重启 dnsmasq 服务后,在手机上断开 WIFI 并重新连接,此时应该能正常上网了。

连接外网

开启 WIFI 后,可以用笔记本电脑或者手机共享网络,登入树莓系统。
如果没有笔记本电脑,可以用手机连接后,把网络共享给的你电脑,具体步骤如下:

  1. 断开电脑的网络;
  2. 手机连接 WIFI 并用 USB 连接到电脑;
  3. 进入手机设置 => 移动网络 => 移动网络共享 => USB 共享网络;
  4. 在电脑上尝试 ssh 登录树莓派,连接地址为前边 WIFI 设置的固定IP:10.5.7.1;

现在我们用手机共享网络,登入了树莓派系统,把光猫连在旧路由器上的网线,直接插在树莓派的网口上。
我的宽带是 DHCP 的,所以不用任何设置就能直接连接外网。
可以用 ip addr 命令查看是否分配了外网的 IP 地址,如果没有请参考我另一篇文章:树莓派4+Debian10 当路由器,无法拨号上网
如果你的宽带需要拨号上网,建议用 network-manage 进行拨号。详细配置请参考其他资料,因为我没有这个条件尝试。

接下来,还需要添加一个虚拟网卡,设置一个固定 IP 给连接到树莓派的有线设备充当网关:

  1. 添加虚拟网卡:

    # 在配置最后添加
    $ sudo vi /etc/network/interfaces.d/eth0
    auto eth0:0
    allow-hotplug eth0:0
    iface eth0:0 inet static
    address 10.5.6.1
    netmask 255.255.255.0
    
    # 重启网络
    $ sudo systemctl restart networking.service
    

    重启网络后,用 ip addr 查看 eth0 会有两个 IP 地址:一个是外网的地址、一个是内网 10.5.6.1 的地址。

  2. 开启 DHCP 功能:

    # 在配置最后添加
    $ sudo vi /etc/dnsmasq.conf
    interface=eth0:0
    listen-address=127.0.0.1,10.5.6.1
    dhcp-range=10.5.6.100,10.5.6.200,48h
    
    # 重启 dnsmasq 服务
    $ sudo systemctl restart dnsmasq.service
    

开启 2G WIFI 功能

前边提到过,树莓派无法提供 2G WIFI 连接,所以这里可以用旧的路由器充当 2G 的接入点。
如果你的路由器支持有线桥接,那可以桥接到树莓派上;如果不支持桥接,可以连到树莓派后设置为二级路由,只是这样就没办法访问到树莓派和同在树莓派下的其他设备了。
因为不同的路由器配置可能不一样,请自行查阅其他资料,这里就不再叙述了。
这一步不是必须的,可以跳过。

最终网络拓扑

最后,把树莓派、光猫、无线路由器和其他有线设备统统接到交换机上,就可以愉快的玩耍了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值