前言
原本我家里和公司都已经在路由上装了Zerotier实现了异地局域网的互联,但最近家里换了移动的宽带,没有了公网IP,有时候在外面要访问就要安装zerotier,比较麻烦,就想着直接用《腾讯云200M拉满11年,溢价方案》服务器,实现局域网也具备公网IP。其实我是想写端口转发,当前置
的,比较敏感就用这说词,但思路是一样的
条件
- 内网(落地鸡)已加入Zerotier ,内网IP:192.168.195.223 端口:80
- 服务器(前置)已加入Zerotier ,内网IP:192.168.195.X(不重要),服务器公网IP:8.130.11.1X 端口:35522
- 内网能互通
- 服务器安全组放行端口
实现
访问服务公网IP+35522,自动转发到内网(落地鸡)的80端口,别跟我说frps+frpc可以实现,我这个主要是加密隧道,可以代替gost或者realm。
过程
第一步:组内网(不是本文重点)略
第二步:服务器开启了 IP 转发
echo 1 > /proc/sys/net/ipv4/ip_forward
如果希望永久生效,编辑 /etc/sysctl.conf
:
net.ipv4.ip_forward = 1
把前面的#号去掉,保存
使配置生效:
sysctl -p
第三步:添加 iptables
转发规则
在 8.130.11.1X
上执行以下命令:
PREROUTING 规则(将外部的 35522
端口流量转发到内网的 192.168.195.223:80
)
iptables -t nat -A PREROUTING -p tcp --dport 35522 -j DNAT --to-destination 192.168.195.223:80
POSTROUTING 规则(修改源地址,使其看起来来自本机)
iptables -t nat -A POSTROUTING -p tcp -d 192.168.195.223 --dport 80 -j MASQUERADE
第四步: ufw
允许端口
允许 35522 端口:
ufw allow 35522/tcp
ufw reload
第五步:允许ufw
转发流量
编辑 /etc/default/ufw
:
vi /etc/default/ufw
找到:
DEFAULT_FORWARD_POLICY="DROP"
修改为:
DEFAULT_FORWARD_POLICY="ACCEPT"
保存
第五步:重启ufw
ufw disable
ufw enable
第六步:检测
在外部使用 telnet
或 curl
:
bash
telnet <外网IP> 35522
curl -v http://<外网IP>:35522
在win10上使用CMD测试

有结果返回,成功
在v2上测试,有真延时,也能出去了

总结
利用Zerotier的加密隧道可以实现Gost或者Realm的功能,可以省下一笔中转费用,真香!不但能给内网实现公网IP,还能解救被墙的了落地鸡端口。
暂无评论