利用服务器自带iptables实现内网具备公网IP

文章目录[隐藏]

前言

原本我家里和公司都已经在路由上装了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

第六步:检测

在外部使用 telnetcurl

bash
telnet <外网IP> 35522
curl -v http://<外网IP>:35522

在win10上使用CMD测试

image-20250325104831154

有结果返回,成功

在v2上测试,有真延时,也能出去了

image-20250325105429942

总结

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

生成海报
点赞 0

暂无评论

发表评论

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

相关推荐

Alist开启搜索功能

前言 最近把一万六千多首的KTV解压后,上传到我的Alist网盘上,发现没有搜索功能,要找首歌还是挺麻烦的,摸索了一下, ...