基于NAT1的内网穿透方案的实现
因为搬家,导致ISP给我分配的IPV4公网地址没有了,因此我开始在网上寻找其他的内网穿透方案。使用过FRP以及基于IPV6的内网穿透方案,要么就是速度实在是太慢,要么就是需要的前置条件太多,最近在研究bt打洞的过程给了我穿透的灵感,我就去网上搜索了一下,果然有相关的穿透方案,以下就是我整理的一些方案的实现。
前提
此方案需要你的网络环境为NAT1(Full cone NAT)
STUN的穿透工具有很多,例如Natter、NATMap、Lucky,在这里我以Natter和Lucky为例,实现STUN的穿透
防火墙规则
使用端口转发或者DMZ开放需要打洞的端口,在这里我使用类似DMZ的方式,编辑/etc/config/firewall
文件,添加以下配置到末尾,将其中的ip替换为你的:
1 | config redirect |
运行脚本
将natter仓库中的python文件克隆到本地,然后使用以下命令运行:
1 | python natter.py -t 3456 |
如果你防火墙规则设置正确,并且你的网络环境为NAT1,那么你应该会看到以下结果
访问http://xxx.xxx.xxx.xxx:1163
出现这样的页面说明穿透成功了
接下来你就可以转发你想穿透出去的端口了
比如我想把80端口穿透出去那么就去掉-t
,输入以下命令
1 | python natter.py 80 |
使用Lucky(推荐)
Lucky这个工具集成了DDNS,STUN,端口映射等功能,还能自动开放防火墙的端口,部署的过程请参考官方文档
在STUN内网穿透中,我们可以很方便的添加我们想要STUN出去的端口
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 finalpi开发日记!
评论