本站点使用基于 JavaScript 的 CSS 异步加载改善用户浏览体验,若您发现页面显示异常,请允许 JavaScript 运行
树莓派旁路由「四」:设置为网关
negoces ・ 2023-02-21 树莓派网关

将树莓派设置为网关,接管出口流量

文章内的IP请试情况修改,否则会导致网络不用,文章假定子网地址为 172.16.0.0/16

为树莓派指定网关

后续我们将修改 DHCP Server 的网关设置,为了防止流量回环,需要手动指定树莓派的网关

编辑 /etc/systemd/network/01-eth0.network

1
2
3
4
5
6
[Match]
Name = eth0

[Network]
DHCP = yes
Gateway = 172.16.0.1

老规矩,一键脚本:

1
2
3
4
5
6
echo "[Match]
Name = eth0

[Network]
DHCP = yes
Gateway = 172.16.0.1" | sudo tee /etc/systemd/network/01-eth0.network

修改路由器 DHCP 配置

  1. 在路由器管理页面,打开DHCP配置(非上网设置)
  2. 添加静态 IP 绑定,将树莓派的 IP 绑定为 172.16.0.2
  3. 将默认网关设置为树莓派IP,让所有局域网设备的出口流量都发送到树莓派
  4. 将DNS服务器设置为树莓派IP

配置 Nftables

安装:

1
sudo apt install nftables -y

编辑 /etc/nftables.conf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/sbin/nft -f

flush ruleset

table ip nat {
    chain postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        oifname "eth*" ip saddr 172.16.0.0/16 ip daddr != 172.16.0.0/16 masquerade fully-random
    }
}

立即生效:

1
sudo nft -f /etc/nftables.conf

开机生效:

1
sudo systemctl enable nftables
树莓派旁路由「四」:设置为网关
本文作者
negoces
发布时间
2023-02-20
许可协议
转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!