Ubuntu开启路由功能(仅内网)

起因:需要通过服务器让Zerotier的虚拟局域网与本地局域网互联

虚拟局域网:192.168.194.0/24

本地局域网:192.168.0.0/24

服务器的IP地址:

enp7s0: 192.168.0.2

ztqu3dqr3t: 192.168.194.2


1. 启用内核的 IP 转发功能

sudo sysctl net.ipv4.ip_forward=1
1.1 持久化

使用上面这条命令虽然可以直接开启路由功能,但是重启后就会失效。

更改文件“/etc/sysctl.conf

取消注释:net.ipv4.ip_forward=1

图例:已经删除了“net.ipv4.ip_forward=1”前的#注释让这条配置生效

保存文件

2. 添加路由表

sudo ip route add 192.168.194.0/24 via 192.168.0.2 dev enp7s0

使得 192.168.0.0/24 网络中的用户能够访问 192.168.194.0/24 网段。

3. 防火墙规则

如果开启了防火墙,就需要添加防火墙规则

sudo iptables -A FORWARD -s 192.168.194.0/24 -d 192.168.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.194.0/24 -j ACCEPT

4. 设置静态路由

在路由器设置和 ZeroTier Central 设置静态路由

ZeroTier Central
Add Routes:
Destination="192.168.0.0/24"
Via="192.168.194.2"
路由器的设置面板,添加静态路由列表:
"网络 / 主机IP"="192.168.194.0",
"网络掩码"="255.255.255.0",
"网关"="192.168.0.2"

5. 测试

成功 Ping 通

正在 Ping 192.168.194.26 具有 32 字节的数据:
来自 192.168.194.26 的回复: 字节=32 时间=33ms TTL=63
来自 192.168.194.26 的回复: 字节=32 时间=27ms TTL=63
来自 192.168.194.26 的回复: 字节=32 时间=27ms TTL=63
来自 192.168.194.26 的回复: 字节=32 时间=30ms TTL=63

192.168.194.26 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 27ms,最长 = 33ms,平均 = 29ms

已发布

分类

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注