通过natmap打洞实现在私网IP中运行Web服务

Auth:陈俊杰       Date:2025/04/29       Cat:电脑应用       Views:36

本文主要解决在家庭宽带中没有公网IPV4,但需要将家里的比如群晖等Web服务映射到公网中供大家访问,通过nat打洞的方式可以吃满家里的上行带宽,以下教程是基于我光猫桥接,路由器系统是openwrt24.10.1。

前提条件

确保你这条宽带非NAT4,怎么判断宽带是否NAT4下载NatTypeTester运行,选择RFC 3489,STUN服务器选择miwifi那个,单击测试按钮,NAT类型只要不是Symmetric即可打洞。如果你natmap装在路由器上,开不开启FullCone NAT均可打洞成功

NAT类型检测

软件下载地址:123云盘NatTypeTester下载链接  提取码:3rxY

安装natmap软件包

进入openwrt路由器后台,依次点击系统-软件包,在过滤器中搜索 natmap,由于我这里已经安装好,我们安装第三个natmap中文汉化包会自带安装前面两个软件;

安装好后我们刷新路由器界面,在服务菜单就能看到NATMap插件了。

openwrt搜索natmap软件

配置natmap

这里有两种配置方法,第一种是利用openwrt的防火墙规则将打洞后获取到的公网IP和端口映射出去;第二种是利用natmap自带的转发功能映射,通过第二种转发出去会对路由器有额外开销,优先使用第一种。

防火墙中转

NATMap设置

我们通过服务-NATMap 进入到NATMap插件,点击 添加 按钮,按下图依次填写参数,填写完成后单击保存

natpmap防火墙转发配置

协议:TCP  //你要穿透的协议是TCP还是UDP,如果两者都要的话在新建一条记录即可,我们这里是需要将群晖映射到外网,所以选择TCP

地址族限制:仅IPv4  //你想监听IPv4还是IPv6,目前家宽一般都有公网IPv6,我这里选择仅IPV4;

接口:wan  //选择你路由器拨号的接口

keep-alive间隔:  //这里可以留空

STUN 服务器:turn.cloudflare.com  //输入公用STUN服务器,不知道写这个即可

HTTP 服务器:qq.com  //输入一个国内稳定的域名即可

绑定端口:9001  //随意输入高位端口,不要和内网其他端口冲突

所有参数填写完成后我们单击保存,稍等片刻NATMap界面就会出现外部IP地址以及外部端口;

natmap打洞后的公网IP和端口号

防火墙设置

依次单击网络-防火墙-端口转发,添加一条记录

natmap打洞后防火墙配置

名称: //这里可以随意填写

地址族限制:仅IPv4 //和上面natmap保持一致

协议:TCP //和上面natmap保持一致

源区域:wan

外部端口:9001 //填写natmap中绑定端口

目标区域:lan

内部IP地址: //填写提供Web服务的IP地址,我这里是要将群晖映射出去,所以我选中的是群晖的IP

内部端口:5001  //填写内网端口号,群晖默认https端口就是5001

测试

以上步骤操作完成后我们通过natmap提供的外部IP+外部端口即可访问群晖页面。

natmap中转

NATMap设置

通过natmap中转设置方法和natmap一样,只是需要勾选“转发模式”

转发目标:192.168.100.100  //输入你提供Web服务的IP地址,我这里是要将群晖映射出去,所以我选中的是群晖的IP

转发目标端口:5001  //填写内网端口号,群晖默认https端口就是5001

通知脚本:  //可以留空,也可以自动添加其他脚本

防火墙设置

依次单击网络-防火墙-通信规则,添加一条记录

natmap转发模式下防火墙设置

名称: //这里可以随意填写

协议:TCP //和上面natmap保持一致

源区域:wan

目标区域:设备(输入)

目标端口:9001 //填写natmap中绑定端口

操作:接受

其他保持默认即可

测试

以上步骤操作完成后我们通过natmap提供的外部IP+外部端口即可访问群晖页面。

后记

针对家庭宽带运营商会定期强制重拨(一般不会超过7天),当路由器重新拨号后外部IP和端口号就会发生变化,这时我们需要输入新的IP和端口号才可以访问Web服务,如果想做到类似DDNS的话可以参考natmap作者在Github上的分享。

参考文献

natmap作者:https://github.com/heiher/natmap

⚑Tags:      

除非注明,陈俊杰的博客文章均为原创,本文地址 https://www.chenjunjie.com/natmap-private-ip-run-web-service,转载请以链接形式注明出处。

作者: 简介:

《通过natmap打洞实现在私网IP中运行Web服务》留言数:0

发表留言