zerotier进行net流量转发(内网访问)
dlcy08
2024年06月02日 12:09

有2个网段内网,需要通过外网访问。

已zerotier为例:

一、安装zerotier

win 直接下载就行,linux apt install zerotier  或者 yum install zerotier 有或者curl -s https://install.zerotier.com |  bash   详情看官网https://www.zerotier.com/download/

二、zerotier配置

参考文档https://docs.zerotier.com/

1、官网注册

2、加入网络

3、软件开启转发配置(linux)

代码块
JavaScript
自动换行
复制代码
zerotier-cli set 网络id allowGlobal=1   #全局
zerotier-cli set 网络id allowDefault=1   #默认开启
zerotier-cli set 网络id  allowDNS=1     #转发的使用服务器DNS
复制成功

会返回

代码块
JavaScript
自动换行
复制代码
{"allowDNS":true,"allowDefault":true,"allowGlobal":true,"allowManaged":true,"assignedAddresses"…………
复制成功

三、linux设置

1、开启ipv4和v6的转发

在/etc/sysctl.conf   里面把#去掉 net.ipv4.ip_forward=1和net.ipv6.conf.all.forwarding=1

或者:

代码块
JavaScript
自动换行
复制代码
sysctl net.ipv4.ip_forward=1
sysctl net.ipv6.conf.all.forwarding=1
复制成功

 完成后进行 sysctl -p 生效 

2、配置规则

代码块
JavaScript
自动换行
复制代码
iptables -I FORWARD -i ztbto252yi(zero网卡) -j ACCEPT
iptables -I FORWARD -o ztbto252yi(zero网卡) -j ACCEPT
iptables -t nat -I POSTROUTING -o ztbto252yi (zero网卡)-j MASQUERADE
iptables -t nat -A POSTROUTING -o vmbr0(真实网卡1)  -j MASQUERADE
iptables -t nat -A POSTROUTING -o vmbr1(真实网卡2)  -j MASQUERADE
复制成功

四、客服端路由表配置

1、win设置进入cmd

代码块
JavaScript
自动换行
复制代码
ROUTE.EXE add 192.168.1.0(需要访问的网段1#) mask 255.255.255.0 10.147.19.55(zero服务器地址)
ROUTE.EXE add 192.168.2.0(需要访问的网段2#) mask 255.255.255.0 10.147.19.55(zero服务器地址)
复制成功

2、linux设置

代码块
JavaScript
自动换行
复制代码
route add 192.168.5.0/24(需要访问的网段) gw 10.147.19.22 (zero地址)dev vmbr0(网卡)
route add 192.168.5.33(需要访问的ip也可) gw 10.147.19.22 (zero地址)dev vmbr0(网卡)
复制成功

自此可以通过外网访问内网(可以多个网段)