在Linux系统中配置Nat转发-配合Zerotier进行异地组网-实现外网访问内网真实IP地址 writeor的博客 wr的小窝喔~
  • 欢迎访问wr的小窝~,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站.
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 嘟嘟嘟嘟嘟嘟啦~~

在Linux系统中配置Nat转发-配合Zerotier进行异地组网-实现外网访问内网真实IP地址

linux writeor 2年前 (2023-11-30) 336次浏览 已收录 0个评论
这个方法使用内网中的linux设备(文中使用的是linux系统的树莓派)来转发zerotier的网络请求到内网其他设备,进而实现在外网使用zerotier来访问内网的真实的ip,比如文中的192.168.0.100。实现只需要在内网中一台设备上安装zerotier就可以实现在外网访问内网所有设备的功能~很好用~


在Linux系统中配置Nat转发-配合Zerotier进行异地组网-实现外网访问内网真实IP地址

需要注意的是:当完成下面的配置之后,外网设备(例如手机)在连接了zerotier的vpn后,手机的真实主路由(例如手机也连接了wifi)不能与内网的主路由网段相同,会出现污染。例如本例,内网主路由为192.168.0.0,那么手机在外网连接内网时的网络主路由网段不能为192.168.0.0

主要分为两步:

1,在linux设备上配置Nat转发与网卡的设置。

2,在zerotier官网进行路由的配置。

此处的192.168.0.103的设备就是内网的linux设备,由它来进行转发。主要的设置也是在这台设备上。

在树莓派上或其他Linux设备启用IP转发

1,您需要编辑/etc/sysctl.conf文件  开启内核转发,并取消注释以下行

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

然后,使用以下命令重新加载sysctl配置:

sudo sysctl -p

2, 在树莓派上配置iptables规则以实现网络转发。您可以使用以下命令:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o zt+ -j ACCEPT
sudo iptables -A FORWARD -i zt+ -o eth0 -j ACCEPT
iptables-save <span class="hljs-comment">#保存配置到文件,否则重启规则会丢失.#其中的 ztyqbub6jp 在不同的机器中不一样,你可以在路由器ssh环境中用 zerotier-cli listnetworks 或者 ifconfig 查询zt开头的网卡名
</span>
 其中“zt+”的意思为自动匹配到zerotier的虚拟网卡,默认网卡名称都为zt开头。

这将允许从zerotier网络转发到树莓派的以太网接口(eth0),以及从树莓派的以太网接口转发到zerotier网络。

完成上述步骤后,您的树莓派将作为旁路由器,并且可以通过zerotier访问内部网络的其他设备。请注意,这些步骤可能需要根据您的网络配置进行调整。

 

第二步:在zerotier的官网进行如下图的设置。

在Linux系统中配置Nat转发-配合Zerotier进行异地组网-实现外网访问内网真实IP地址

192.168.0.0是内网家用路由器的网段。

192.168.193.163是zerotier分给内网Linux的虚拟ip。

192.168.193.0 是用户选择的zerotier的虚拟ip网段。

 

 


wr的小窝 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在Linux系统中配置Nat转发-配合Zerotier进行异地组网-实现外网访问内网真实IP地址
喜欢 (1)
[1528532472@qq.com]
分享 (0)

您必须 登录 才能发表评论!

wpChatIcon
wpChatIcon