这个开源项目很腻害的样子!Natter:在 NAT1 下开放公网 TCP 端口

V2看到的,很厉害的样子,转来万事屋收藏收藏~

Natter

GitHub地址:https://github.com/MikeWang000000/Natter


目前公网 IP 越来越稀缺,有些地区已经无法申请公网 IP 了。
不过,在 NAT 1 网络下,我们可以通过一种 “打洞” 的方式,将本地的 TCP 端口暴露至公网上,运行 HTTP 服务等。
经过一番研究,我使用 Python 写了一个工具,起名叫 Natter 。

简洁地说,Natter 的原理就是端口重用:

  1. 由本地端口 A 向外发起 TCP 长连接,维持 NAT 端口映射关系;
  2. 同时监听端口 A ,对外提供服务。

Natter 应当运行于路由器上,因为这样只经过一层 NAT 。不过,正确设置 DMZ 主机,经过多层 NAT 也是 OK 的。

好消息是国内运营商级 NAT 多数已经转为 NAT 1 了,因此开放公网 TCP 端口应该是比较容易的。
目前我在中国移动的家庭宽带上已经成功使用 Natter 开放公网 TCP 端口。

对了,slack 有个类似的项目 Nebula

https://github.com/slackhq/nebula

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
吐槽 抢沙发

请登录后发表评论

    暂无评论内容