找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1557|回复: 32

突破大内网封锁的利器——natmap 内网穿透 无公网ip

[复制链接]
本帖最后由 liaohcai 于 2024-4-23 13:32 编辑

一、前言
我发现有很多品牌的路由器,默认是不开启IPV6功能的。
同时,一些企业和单位基本上是没有IPV6网络。

即使开启IPV6功能后,他们会发现,网络异常的卡,对IPV6网络支持不太好,干脆就关了,又不会什么影响。
直到有一天,要传一个大文件,想通过QQ和微信传过去速度太慢了,文件有100个g,通过frp反向代理速度太慢了,企业那边也没有IPV6网络,距离又太远,不可能通邮寄一个硬盘过去。


二、过程
我找遍了整个互联网,试用过各种工具,速度都很不理想,而且很不稳定,毕竟是会用到别人服务器的带宽


我终于在恩山论坛里看到了一篇@8267 大佬的帖子


natmap作者的介绍:
NATMap实现与拥有动态公网IP同等的访问效果,它通过打通完全锥型(Full cone)类型NAT的TCP、UDP端口,实现访问侧任意主机在无需客户端的情况下进行直连访问。



类似于这样的插件还是很多 @古大羊 大佬开发的lucky

但natmap体积小,配置简单,可在弱设备运行

三、原理

作者在githut介绍:


NATMap实现与拥有动态公网IP同等的访问效果,它通过打通完全锥型(Full cone)类型NAT的TCP、UDP端口,实现访问侧任意主机在无需客户端的情况下进行直连访问。

四、步骤
1.在电脑搭建web服务,我用的是CuteHttpFileServer/chfs,带有图形界面,在windows上不用敲打命令


2.登录路由器,做端口映射了,在大内网里,做端口映射毫无用处!
用浏览器在Releases · heiher/natmap · GitHub上下载natmap-linux-mips32el
用winSCP登录padavan路由器,将其保存在可读写目录/etc/storage并命名为natmap,并赋予运行权限





3.登录SSH终端:
如果的windows 10,直接运行 cmd


再输入下面命令:
  1. ./natmap -s stunserver.stunprotocol.org -h example.com -b 89 -t 192.168.60.190 -p 89 >/tmp/89.txt &
复制代码



192.168.60.190 是我电脑的内网ip

89 是电脑用CuteHttpFileServer搭建web服务端口

4.用winSCP打开/tmp目录中的89.txt


得到的是125.94.157.178:43055
5.开流量用手机浏览器,访问http://125.94.157.178:43055
成功访问,接着这个网址发同事



五、效果
对端下载速度,取决于这边宽带的上行速率。
我这边的上行速率是50M,他那边达到7.5mB/s (50M)的下载速率,比QQ微信快!基本上是一直线,非常稳定。
接着来搭建iperf3服务跑下速度


这是真正点对点直接,达到了真正公网ipv4效果!


natmap是可多开的,这样padavan可以开多个端口,可以承载多个服务,web FTP 远程桌面 n2n服务 vnts服务 wrieguard ......
  1. /etc/storage/natmap -s stunserver.stunprotocol.org -h example.com -b 90 -t 192.168.60.1 -p 80 >/tmp/80.txt &
  2. #远程登录路由器web
  3. /etc/storage/natmap -s stunserver.stunprotocol.org -h example.com -b 222 -t 192.168.60.1 -p 22 >/tmp/22.txt &
  4. #远程登录路由器终端
  5. /etc/storage/natmap -u -s stun.qq.com -b 51821 -t 192.168.60.1 -p 51820 >/tmp/51820.txt &
  6. #搭建wrieguard服务
复制代码
想搭建什么都可以!
  1. ./natmap -u -s stun.qq.com -b 绑定端口 -t 内网ip -p 内网端口  >/tmp/内网端口.txt &
  2. #UDP协议用这条
复制代码
  1. ./natmap -s stunserver.stunprotocol.org -h example.com -b 绑定端口 -t 内网ip -p 内网端口 >/tmp/内网端口.txt &
  2. #TCP协议用这条
复制代码

运行参数的详细说明GitHub - heiher/natmap: TCP/UDP port mapping for full cone NAT

可以自定义stun服务器 不同有不同打洞效果
其中 作者也分享了 公共 STUN 服务器 public STUN servers · Issue #18 · heiher/natmap · GitHub







六、注意
其实不是100%都能成功,这跟运营商的大内网类型有关,如果尝试了还是无法访问,就不要继续了。
但是这个公网ip和端口是随机的,关掉natmap,这个访问地址有可能关闭,重新运行natmap,端口已经不是原来的端口了。如果不重启natmap,这个端口可以随公网ip更改而改变。
-b 绑定端口 是可自定义的,同时不要与其他端口冲突,若不知用哪个绑定端口,那就设置为0。
如果padavan是二级路由,那么一定要关闭padavan上的防火墙,开启主路由器上的dmz。
要达到100%穿透效果,最好是padavan作为主路由,同时要关闭padavan上的防火墙!


kill 对应的PID 这样结束,才可以马上进行重新启动,不然启动报错,killall natmap是不行的。

只想结束特定的进程,可以先输入ps
返回进程



想结束哪条,kill 对应的 PID ,
kill 8520就可以结束掉/etc/natmap -s stunserver.stunprotocol...这条进行


本编不涉及到域名绑定,只想到最简单的方法获取能在外网访问公网ipv4和端口,能在外网临时访问
其实natmap加上参数-e可以带动脚本进行域名绑定ip和端口,能将公网ip和端口进行编码以2001::开头的ipv6地址AAAA记录和还能以ipv4:端口的TXT记录!

下一编,我可能会出域名绑定ip和端口,然后用脚本访问域名还原出公网ip:端口。



















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
我发现在3.4内核的padavan里是可以用lucky进行stun内网穿透的  





不过体积比较大 不太适合padavan用,而natmap在padavan里可以小到22k

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

在 H 大的 PADAVAN 上无论如何不行,没有成功过一次。  详情 回复 发表于 2024-4-28 08:46
感谢大佬分享的padavan专用版,体积上更小  详情 回复 发表于 2024-4-23 09:58
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

精华  !顶
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 短头花 于 2024-4-23 07:28 编辑

感谢大佬的分享  
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主发贴辛苦了!谢谢楼主分享,论坛有你更精彩
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 来自手机 | 显示全部楼层
8267 发表于 2024-4-23 07:51
我发现在3.4内核的padavan里是可以用lucky进行stun内网穿透的  



感谢大佬分享的padavan专用版,体积上更小
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

没看明白,是需要动态公网ip吗

点评

主要的是没有动态公网IP,才通过这个natmap直接创建一个能被外网访问的"隧道","隧道"有自己的IPV4地址和端口,外网访问这些ipv4:端口,就可以访问到内网搭建的服务了。  详情 回复 发表于 2024-4-23 11:38
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 来自手机 | 显示全部楼层
xzgjw 发表于 2024-4-23 10:39
没看明白,是需要动态公网ip吗

主要的是没有动态公网IP,才通过这个natmap直接创建一个能被外网访问的"隧道","隧道"有自己的IPV4地址和端口,外网访问这些ipv4:端口,就可以访问到内网搭建的服务了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

lucky pc版本用了一段时间,现在内网跑bt很爽
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

有个需求,,内网内不同网段,没权限设置路由器,防火墙。A主机能访问B节点上的数据库服务(仅有服务访问权,没有主机访问权),A主机可以访问C主机,但C主机不能访问A主机,C主机也不能访问B节点的服务(地址不可达,端口不可达),对A主机和C主机有管理权,有办法让C主机访问B节点的数据库服务吗

点评

无法访问,,感觉要在A主机和C主机搭建跳板,A主动跟C建立连接,然后C内通过这个连接与A通信,然后A把请求转发到B主机。实际需求就是C主机访问B节点(只有数据库的IP和端口,账号密码)的数据库服务。如果C能直接访  详情 回复 发表于 2024-4-24 12:56
在C主机上添加一条到B节点的路由表  详情 回复 发表于 2024-4-24 10:22
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
aming.ou 发表于 2024-4-24 08:56
有个需求,,内网内不同网段,没权限设置路由器,防火墙。A主机能访问B节点上的数据库服务(仅有服务访问权 ...

在C主机上添加一条到B节点的路由表
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
aming.ou 发表于 2024-4-24 08:56
有个需求,,内网内不同网段,没权限设置路由器,防火墙。A主机能访问B节点上的数据库服务(仅有服务访问权 ...

无法访问,,感觉要在A主机和C主机搭建跳板,A主动跟C建立连接,然后C内通过这个连接与A通信,然后A把请求转发到B主机。实际需求就是C主机访问B节点(只有数据库的IP和端口,账号密码)的数据库服务。如果C能直接访问A,我就可以在A主机搞个端口转发到B数据库端口。这里有个难点就是,A只可以单向访问B或者C;C主机无法访问A。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
58998789999888789977889
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

大内网,无路由器权限
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好东西谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-4 09:46

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表