找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 20257|回复: 171

natmap内网穿透让内网实现公网IP,远程访问异地组网,做frps,ssh ,web,wireguard..

  [复制链接]
发表于 2023-5-12 17:21 | 显示全部楼层 |阅读模式
本帖最后由 8267 于 2023-12-10 10:03 编辑

对于没有公网ipv4 也没有IPV6地址,有内网穿透需求,而免费的服务器速度太慢的,可以借助这个程序让自己的宽带实现为动态公网IP的效果。访问速度是自己宽带的速度。但并不是所有的宽带都可以用。看个人运气了,可以用的话很稳定。(@xf110测试过,移动宽带)

这个方案也是从@xf110学来的,我也不太懂这些,纯小白一个,请教他怎么使用frp的时候学来的这个natmap插件,可以内网进行打洞成为动态公网的效果,搭配frp之类的可以跑满宽带。这个只能实现一个端口开放,如果访问多个端口,可以尝试多开natmap,生成多个公网ip端口配合cf的ddns域名进行访问。目前有论坛网友测试六开natmap 生成6个公网ip和端口配合cfddns实现了frps 和frpc 还有4个端口用来远程ssh 成功访问。512M的新三开机可用440M六开natmap后剩余三百多M可用内存。六开仅占用约100M内存。运程访问速度取决你的宽带速度,比免费的内网穿透限速又限端口的好多了,

natmap项目地址:https://github.com/heiher/natmap
作者的介绍:

NATMap实现与拥有动态公网IP同等的访问效果,它通过打通完全锥型(Full cone)类型NAT的TCP、UDP端口,实现访问侧任意主机在无需客户端的情况下进行直连访问。
在4种典型NAT实现中,完全锥型(Full cone)类型NAT(也简称为NAT-1,是访问限制较为宽松的NAT实现。具体定义为:所有从同一个私网IP地址和端口(IP1 : Port1)发送过来的请求都会被映射成同一个公网IP地址和端口(IP2 : Port2)。并且,任何外部主机通过向映射的公网IP2和端口Port2发送报文,都可以实现和内部主机IP1 : Port1进行通信。所以从技术原理上,当NATMap从内网侧主动建立一路TCP连接或发起UDP访问,就能触发NAT建立私网侧与公网侧地址间的端口映射关系。在NATMap的维护下,NAT会话将能持续保持,也就能持续允许公网侧任意主机访问内部主机。访问效果上等同于拥有了一组公网IP:端口。

其实就是需要网络类型是NAT1的,大部分宽带只要光猫桥接,路由器拨号,开启upnp基本也是nat1  但也不是nat1就一定可以成功。
可以下载NatTypeTester软件进行测试,

  我的移动大内网测试是Full cone

也可以直接下载 程序在路由器里运行测试
下载后解压出natmap  用 winscp之类的软件上传  如winscp 选scp协议   



上传到路由里 ,比如我上传到 /etc/storage/bin/natmap  并赋予执行权限 当前版本为 20230820
如果想要新版本 可自行前去heiher/natmap 查看  如有新版本 可下载新版本 natmap-linux-mips32el 程序 并改名natmap上传到这个文件夹 并赋予执行权限



测试你的网络可不可以用的话 首先关闭防火墙 再打开ttyd 或者 ssh 用命令启动   输入刚刚上传的程序 加启动命令
  1. /etc/storage/bin/natmap -d -s stunserver.stunprotocol.org -h qq.com -b 6336 -t 192.168.2.1 -p 80
复制代码
其中qq.com 是公网地址 也可以用baidu.com    6336 为侦听端口 与外网通信的端口 不能和路由器里其他端口冲突   192.168.2.1 是路由器lan地址修改为你的   80 是路由器管理端口
执行后,会出现以下信息  然后不要进行任何操作 不要关闭窗口



会生成一个 公网IP端口 IP4P 地址,这时 你用手机流量 输入生成的这个公网IP:端口36.157.141.216:11991 试试能不能访问到路由器,如果可以访问 恭喜你!你的网络打洞成功了可以用,如果不能访问那说明你的网络打不了洞,没戏了,不一定所有网络都成功的,只有路由器拨号的 关闭防火墙 开启upnp (奇怪的是有个别用户需要关闭UPNP才能打通)才能测试准确, 测试完再关闭防火墙。

如果可以的话,那就相当于你是公网IP了 ,可以继续往下看了,由于这个插件生成的公网ip是动态的,会变化所以需要配合ddns才行

写了个启动脚本( 只能padavan固件用,非专业的不太完美 有什么问题的话可以自行修改) 下载脚本解压 上传到/etc/storage/natmap.sh 并赋予执行权限



然后编辑这个脚本  修改里面的参数,你的ddns服务商是哪个 就把下方的#去掉 三选一  不能都去掉  再修改脚本的路径


natmap程序和ddns脚本的 路径名称 必须和上传的保持一致 不然启动错误的
然后在路由器里 外网WAN - 端口映射(upnp) 里 打开手动映射  添加一条规则  端口范围填上面脚本里的那个wanport 端口号一致  内网ip 和上面那个lanip地址一致   本地端口和上面脚本里的 lanport 一致  协议选择both 添加即可

接下来选择ddns脚本 上传吧,  三个ddns 任选一个吧   免费的有dynv6  付费的有阿里云 cloudflare      我推荐使用cfddns

阿里云ddns 脚本 下载解压并用winscp之类的软件上传到闪存里就是上面脚本里修改的ddns路径 例如/etc/storage/bin/aliddns.sh 并赋予执行权限
然后编辑这个脚本 修改里面的参数为你自己的



阿里云的Access Key 不懂获取的  自行搜一下教程吧 简单讲一下吧
首先进入阿里云 主页 点右上角有个 Access Key管理 点进去 然后新建一个 子用户 需要添加的权限如下


后 生成key密钥 填写到脚本里
填写好你的阿里云密钥后  把这个aliddns.sh 重命名为aliddns 不要后缀了

二 、cloudflare的 cfddns 下载解压并用winscp之类的软件上传到闪存里 上面脚本修改的ddns路径 例如/etc/storage/bin/cloudflare.sh 并赋予执行权限  想用免费的域名去欧盟申请 几分钟就可以了 dns记录添加cf的
然后编辑脚本里的token 域名为你的


这个host0=“” 需要在cf官网dns解析那里添加一个随意的ip开启代理解析 这个就是用来外网直接访问设备用的域名
保存后 重命名为cfddns  不要后缀
如果你有其他ddns服务商的域名也可以添加到cloudflare 解析 (cloudflare不再支持添加免费域名到cf解析了)
我以阿里云添加为例  进入cloudflare主页 点右上角 切换为中文 (看得懂英文忽略)



然后在主页添加网站   网站必须填顶级域名   如阿里云申请的  abc.com
添加好后会提示dns服务器不是他的  需要修改为他的服务器才能享受服务
这时候进入阿里云主页 点左上角导航栏 找到 域名   点进去



再点域名列表   找到你的域名  再点管理



进去后 找到



点进去修改dns 为cf要求的那个 就行了  提交后 在cf那里点击查询应该是还更新  会让你等结果 检测是否更改   过半个小时一个小时再进去看
成功了会显示你添加的域名  点你这个域名进去  在右下角有个获取API令牌



点进去后 再点  创建令牌  选自定义令牌

然后添加规则 选项

大概需要这些 红圈的必须要有 这么填   最后 部署保存



token就是第一个 API令牌  点右边的...选项   再点投放 就可以查看token    下方的是api key
然后去cf添加一个页面规则

上面的abc.com填你的域名

最后在cf脚本里填写好你的token   key   账户邮箱  即可    就会自动更新ip4p到你的域名     也会把域名重定向 转发到公网ip   之后直接域名即可访问
保存即可    这样运行natmap那个脚本就可以绑定到域名直接访问了
脚本会自动更新ip 更新规则  重定向转发url    需要手动创建的就是那一个 host0 你用来外网访问的域名  其他都不用创建   脚本会自动帮你新建 自动更新 自动删除重复的域名
如果不能正常解析 留言评论 我帮你看看
如果提示重定向规则失败  注意检查api令牌的权限是否添加了重定向权限  再尝试在页面规则那里的重定向规则   手动新建一个重定向规则  随意填写 只要新建成功就好   再删除即可  因为从来没用过重定向规则的 脚本有可能无法获取你的重定向ID 这个功能  所以如果重定向失败 就需要手动新建一个重定向规则 删除后 就可以更新了

目前发现大家反馈natmap好像只能开放一个端口用来外网访问,哪怕搭配frp也是只能访问一个设备,不方便,于是可以多开natmap实现生成多个端口用来访问不通端口应用,修改natmap里的启动脚本natmap.sh 里面的  启动命令   增加一条就是多开一个进程 如下图
"$natmap" -d -s stunserver.stunprotocol.org -h qq.com -b 外网端口 -t 设备ip -p 设备端口 -e 动态ddns脚本路径
如改为 "$natmap" -d -s stunserver.stunprotocol.org -h qq.com -b 7888 -t 192.168.123.1 -p 5244 -e /etc/storage/bin/cfddns2
每一开的端口 ip  ddns路径 都不能相同  最后的  /etc/storage/bjn/cfddns2 为ddns脚本 需要复制  比如一开 /etc/storage/bin/cfddns  二开 就要复制一个为/etc/storage/bin/cfddns2 的文件  三开就/etc/storage/bin/cfddns3  保持和启动命令里的ddns脚本路径对应即可
每一开的ddns脚本文件也需要修改 不能相同  除了 token   key  邮箱可以相同  域名不能相同  如下图
多开的话还有下面的转发规则也要修改不一样的名称,不然第一开更新好了。第二开的时候就删掉第一开的规则 导致第一开失效  如下图  第一开是natmap的名称  第二开可以改为natmap2  每一开保持不一样即可
  
最后保存 赋予执行权限
最后启动脚本就可以了      外网访问的域名就ddn脚本里的host0=的域名  如果开启了防火墙,那么多开的话就需要放行相关端口(就是-b 端口号)
三、 dynv6 ddns  下载解压并用winscp之类的软件上传到闪存里 上面脚本修改的ddns路径 例如/etc/storage/bin/dynv6.sh 并赋予执行权限
然后编辑脚本里的密钥域名为你的  这个怎么注册 获取token 自行找一下教程吧 我的登录不上 无法截图示例了



保存后 重命名为dynv6ddns  不要后缀

以上三个ddns用一个就行了  包括natmap脚本里的 ddns 代码去掉# 只能启用一个
部分ddns可能需要先添加一条记录才能用   那就去添加一个AAAA 记录  随便填个值 如 2001::18cc:7018:0017

然后hiboy版的padavan在路由器里的 参数设置-脚本-在路由器启动后执行里 填入启动命令 并应用保存设置 其他版的padavan不需要添加下方命令也能开机自启
  1. #natmap开机自启
  2. /etc/storage/natmap.sh start &
复制代码
在系统管理-配置管理里 点 两个提交保存到内部闪存

最后在ssh输入脚本启动 /etc/storage/natmap.sh start &

路由器日志就会提示了

目前只有cf的ddns脚本  可以直接用域名访问  比如 natmap脚本里修改 用cfddns    wanport 随便填   lanport填5244  就是alist的端口 host0填想用来外网访问alist的域名
在cfddns脚本里填好token 邮箱  api key  和 两个域名 例如cloudflare_host填123 cloudflare_domian=abc.com 还有访问alist的域名 host0=alist.
abc.com(host0这个域名需要手动添加A记录并开启cf代理)  启动natmap脚本后会自动解析ip和端口到域名 这样外网输入alist.abc.com 就可以直接访问你的alist了
只有cf ddns可以这样 直接域名访问    其他域名商需要备案才能这么做 也就是url转发  

最后,开启防火墙的话 需要放行端口,  在外网wan-端口映射里  打开手动映射  随便填写一个名称  端口范围填脚本里你设置的wanport端口     内网ip  填脚本里你设置的内网设备ip   端口范围   填脚本里你设置的lanport端口   然后添加  应用保存设置



ip4p 不是ipv6地址!是把十进制的公网ip:端口转换成十六进制 也就是ip4p    例如 2001::f21:78e5:2cdc  其中f21  转换成十进制就是3873  78转换后是120  e5转换后是229 2c转换后是44   dc转换后是220    其实natmap生成的  就是120.229.44.220 3873 2001::f21:78e5:2cdc     padavan十六进制转换十进制命令是 echo $((0xf21))   其中f21是十六进制  就会得到十进制的数值    或者 用printf %d 0xf21  其中f21是十六进制  也会得到十进制数值     用printf %x 120  是把十进制转换回十六进制  其中120是十进制 就会得到十六进制的数值f21

所以如果域名没有备案的话,是不能绑定ip加端口 直接用域名访问,一般的插件也无法识别ip4p的地址,那就可以把ip4p绑定到域名,用命令设置定时解析这个域名的ip4p地址有没有变化,然后用命令把ip4p这个十六进制转换成十进制的公网ip+端口  这样让其他插件可以用。此方法也是由论坛用户xf110提供!


注意
frpc需要下载作者的frpc才行 https://github.com/heiher/frp
https://github.com/heiher/frp/re ... linux_mipsle.tar.gz 解压出里面frpc

因为natmap是生成IP4p 只有他的frpc才能识别IP4P地址   而官方的frpc无法识别域名的IP4P地址而无法连接到frps
  

frps可以用官方的frps  

不太懂的 可以看看 作者的natmap教程:https://github.com/heiher/natmap/wiki/NATMap  

本教程从论坛用户 xf110 那里学来的 https://www.right.com.cn/forum/space-uid-347621.html  

这种玩法可以跑满你的宽带速度

1.如果你只需要把本机的一些应用用来外网访问 只需要多开natmap 配合cfddns即可  例如 本机的alist 5244端口  下面的nas 5288端口(自行映射到路由器) 两个应用就两开natmap 配合cf  对应5244 5288 即可  这样cf域名就可以直接访问alist 和内网nas了

2.如果你需要本机和异地的机器一些应用来外网访问  需要本机安装natmap 和frps  例如本机的alist 5244   异地的nas 5288 (异地自行映射到路由器或者nas直接装frpc)  这样alist和异地只是两个端口 就需要本机两开natmap 一个给本机的 5244(cfddns)    一个给本机frps (这个阿里和dy6ddns都可以因为frp只需解析2001而已)(不过有个bug在这里 本机运行了natmap就不能用frps了 只能本机下面的其他设备装frps  把端口给下面的机器)下面的机器安装frps 即可
异地机器需要安装 natmap作者提供的frpc 上面提供了下载地址 必须用作者的   启动frpc  frpc.ini里面  服务器地址   填解析带2001的域名 不要填端口  域名已经包括端口了   下面的配置和你日常使用frp一模一样自行填写需要的配置  
这样用cf的域名可以访问本机的alist    frp的域名(阿里 cf  dy6都可以)就可以访问异地的nas

3.异地组网 两端内网设备互相访问
只需要本机一开natmap (ddns哪家都可以 只需要解析2001 即可) 7000开放端口给frps 7000端口 由于本机不能安装frps  就给本机下面的设备安装frps 7000端口  本机安装作者的frpc 服务器地址填域名  不要端口  type = stcp(本机中继所有流量访问) 或者 xtcp(p2p直连不通过本机中继流量)   

例如 本机内网192.168.20.1  启动natmap   给内网7000端口  配合ddns 解析2001地址  转发7000端口给下面的  192.168.2.5设备   192.168.2.5开启frps      

本机开启作者的frpc   frpc.ini 服务器地址填 上面的natmap启动域名   不要端口
[common]
server_addr = 123.abc.com
#你的natmap的域名
[alist]
type = xtcp
# 只有 sk 密码一致的用户才能访问到此服务
sk = abcdefg
local_ip = 192.168.2.1
local_port = 5244

[web]
type = xtcp
# 只有 sk 密码一致的用户才能访问到此服务
sk = abcdefg
local_ip = 192.168.2.1
local_port = 80

对端设备192.168.123.1开启作者的frpc  服务器地址填natmap的域名 不要端口
[common]
server_addr = 123.abc.com
#你的natmap的域名
[alist_tisitor]
type = stcp
role = visitor
server_name = alist

sk = abcdefg
# 绑定本地端口用于访问 alist 服务
bind_addr = 127.0.0.1
bind_port = 6000

[web_tisitor]
type = stcp
role = visitor
server_name = web

sk = abcdefg
# 绑定本地端口用于访问 web 服务
bind_addr = 127.0.0.1
bind_port = 5000
这时在192.168.123.1 内网中 输入127.0.0.1:6000 即可访问那边的alist    输入127.0.0.1:5000即可访问那边的路由器web
frp更多玩法配置说明自行参考:frp官方文档  

利用natmap的公网ip搭建自己的服务器?frps可以那么同理其他应用需要公网服务器的也可以,比如n2n   在安装natmap的那个机器上启动n2n服务器   natmap只需要解析2001到域名即可

另外一端启动n2n客户端 使用natmap的域名即可使用自己的服务器
原理是利用natmap 的2001  转换成ip和端口  上面说到的 2001::f21:78e5:2cdc  其中f21  转换成十进制就是3873  所以只要定时检查域名的ip是否变动如果变动就把新的2001地址转换成ip:端口再重新启动客户端就能连接到服务器了脚本如下  这种玩法来自于 论坛大佬@xf110 感谢他的研究与分享

  1. bijiao () {
  2. # 获取域名的2001地址 其中123.abc.com改为你的域名即可 后面那个233.5.5.5是解析服务器的DNS
  3. eval $(nslookup 123.abc.com 223.5.5.5 | awk '/2001/' |cut -d ':' -f 2-6 | awk -F: '{print "port="$3" ipa="$4" ipb="$5 }')
  4. #转换为ipv4地址
  5. port=$((0x$port))
  6. ip1=$((0x${ipa:0:2}))
  7. ip2=$((0x${ipa:2:2}))
  8. ip3=$((0x${ipb:0:2}))
  9. ip4=$((0x${ipb:2:2}))
  10. ipv4="${ip1}.${ip2}.${ip3}.${ip4}:${port}"
  11. lastIP="$(cat /tmp/var/natmapIP.txt)"
  12. #检查ip是否变动
  13. if [ "$lastIP" != "$ipv4" ] ; then
  14. #ip变动了 重新启动客户端
  15. killall edge
  16. echo ${ip1}.${ip2}.${ip3}.${ip4}:${port} >/tmp/var/natmapIP.txt
  17. /tmp/edge -d edge -a 192.168.2.2 -c test -l $ipv4 -r >/tmp/var/edge.log 2>&1 &
  18. fi
  19. }
  20. while true; do
  21. bijiao
  22. #每120秒执行比较,服务器ip变动则重启edge
  23. sleep 120
  24. done
复制代码
这是使用natmap自建vnts,vnt-cli连接vnts的脚本,可以参考下

上面的命令就是转换域名为ipv4地址 如果不一致就重新启动n2n客户端 只是示例 具体自行修改为你的参数   n2n如此 其他插件 也是一样

脚本用起来麻烦,我也是小白,于是叫Ai写了个c代码   ,用来解析域名输出ip:端口,我编译了padavan的 也可以自己编译
下载解压,里面的ip是解析域名的重定向地址 并解析出ipv4地址:端口 ,主要用在上面的cf域名重定向解析(只能用于解析使用了重定向的域名),  -s 域名 -d 脚本路径 -t 循环时间, -d -t 可不加  


例如 /etc/storage/ip -s wo.8267.cn -d /etc/storage/n2n.sh -t 120  这样就是每120秒循环检测一次wo.8267.cn域名的重定向地址 如果与旧的地址不一致 则输出 例如173.125.26.23:3655     我加了-d 所以它不会输出信息了 而是直接运行-d的脚本   /etc/storage/n2n.sh 173.125.26.23:3655    只要在n2n.sh脚本里  把edge的-l参数改成$1 就会自动识别这个服务器地址和端口了 ,只要域名的ip变动,就会自己运行n2n.sh脚本更改服务器地址



这个v6是直接转换2001::那个地址,没有使用到cf的重定向功能的(只能用于解析2001地址的),可以用这个,只需要将natmap的2001这个AAAA记录地址解析到阿里云 cf dyn6 这些域名,使用这个程序可以解析出ipv4地址:端口  

例如 /etc/storage/v6 -s wo.8267.cn -d /etc/storage/n2n.sh -t 120  这个命令就是每隔120秒检测一次wo.8267.cn域名的2001地址(只检测2001地址不解析其他v6地址)然后转换成ipv4:端口,如果不一致 就执行n2n.sh  173.125.26.23:3655 这样也相当于变更n2n的服务器地址了



本帖子中包含更多资源

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

×

点评

何必呢?少说几句吧,网络这么大,聚到一起也不容易!: 5.0
何必呢?少说几句吧,网络这么大,聚到一起也不容易!: 5
大佬,你太牛了,直接C说语言写出二个转换运用  发表于 2023-11-28 01:50
如果有浏览器能支持直接访问就更好,或者是开发一个浏览器插件,让浏览器直接访问  发表于 2023-8-27 11:33
把动态的公网ipv4加动态的端口号记录成ipv6的形式提交给ddns,对端访问该域名时还原出,原来的ipv4和端口号  发表于 2023-8-27 11:28
大佬能不能提供一下视频啊 这样方便学习  发表于 2023-6-5 18:02

评分

参与人数 3恩山币 +3 收起 理由
z50 + 1 学习了
短头花 + 1 有视频教程就好了
liaohcai + 1 虽然设置麻烦,但这个方案值得推广.

查看全部评分

发表于 2023-5-12 18:54 来自手机 | 显示全部楼层
本帖最后由 xf110 于 2023-5-12 19:00 编辑

如果使用frp,要 type = stcp 才可以。

点评

大佬能出个frp服务端和客户端有关的设置教程吗?  详情 回复 发表于 2023-8-7 10:37
IP4P在frpc.ini中怎么设置端口,又怎么访问代理的服务,请大神指点。  详情 回复 发表于 2023-6-4 13:56
感谢大佬的提供的方案,这个比免费的frps好用多  详情 回复 发表于 2023-5-12 19:10
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-4 23:12 | 显示全部楼层
frps


如果想要利用natmap 运行frp 给个简单的示例吧  

比如A地可以用natmap,B地不能用natmap
想要外网访问B地的 访问  如alist   路由管理界面 等等


假设 A地路由管理地址(lan的ip):192.168.2.1 路由管理界面80端口

       B地路由管理地址(lan的ip):192.168.3.1  里面开启了 alist 5244端口    路由管理界面80端口

你的域名abc.com
假设想用  A.abc.com访问A地的路由管理界面  

             B.abc.com 访问B地路由管理界面

             alist.abc.com 访问B地alist服务
             frps.abc.com 作为frpc的服务器地址




首先先按帖子里的教程   上传好程序natmap    启动脚本natmap.sh      解析脚本 cfddns  到A地的路由器里 并赋予执行权限

由于想访问上述3个服务  其中A地还需运行frps作为服务器  用来B地连接 那么就是4个服务了,那就需要上传4cfddns脚本到A地的路由器里 分别命名为cfddns1 cfddns2 cfddns3 cfddns4


首先以上3个服务是想在外网用域名访问,那么必须用到cfddns脚本里host0必须要填了,(cfddns脚本里的 host0="域名" 的作用就是外网访问用)



第一个需要在A地启动frps,用来作为B地的frpc的服务器,那么就将cfddns1作为这个frps服务访问的解析脚本,frps我们用默认的7000端口吧
在cfddns1脚本里填写好token 邮箱 key (这个三个cf账户参数所有脚本保持一致)


因为是frps服务器地址,所以不需要外网访问,就只填上图中红框里的域名即可



第二个服务用A.abc.com域名访问A地的路由管理界面 那么将cfddns2作为这个服务访问的解析脚本
在cfddns2脚本里填写好token 邮箱 key (这个三个cf账户参数所有脚本保持一致)

其中上面的红框里 A1 是解析公网地址的,(不能与其他cfddns脚本里的相同),下方的host0 填的就是想要访问的A.abc.com访问A地的路由管理界面

host0 必须手动去cf官网新建一个A的记录,ip随便填,但是要开启代理才行,而A1不需要新建。这样服务1的解析脚本完成了,不需要填v6那个域名

只要用到host0  就必须有这个重定向规则名称  默认是natmap  对开必须要修改 不能一致!  这是第一次使用host0,可以不用修改默认即可



第三个服务用alist.abc.com 访问B地alist服务,那么将cfddns3作为这个服务访问的解析脚本
在cfddns3脚本里填写好token 邮箱 key (这个三个cf账户参数所有脚本保持一致)


上图中的alist00 还是用解析公网ip地址的,任意填写即可,用不到这个域名,不要和其他域名重复即可,也不需要记住
下方红框里的 host0=alist.abc.com 这个就是用来外网访问的域名,还是需要手动去官网新建这个alist的记录 ip地址随意写一个,开启代理,保存

这是第二次用到host0,因为之前已经用过一次host0了,这里就要修改了 我改成natmap2,只要不与其他host0脚本里的规则名一致即可,你也可以改为alist



第四个服务用B.abc.com 访问B地路由管理界面那么将cfddns4作为这个服务访问的解析脚本
在cfddns3脚本里填写好token 邮箱 key (这个三个cf账户参数所有脚本保持一致)

上图中还是和上面填法一致,外网访问必须要host0,不需要填v6那个域名
B0还是任意填写的子域名,不要和其他重复,也不需要去cf官网新建,脚本会自动创建的
host0="B.abc.com"这个需要去官网新建一个B的记录,ip随意写,必须开启代理也就是小橙云


这是第三次用到host0,因为之前已经用过两次次host0了,这里还是要修改, 我改成natmap3,只要不与其他host0脚本里的规则名一致即可,你也可以改为web反正你喜欢的即可
只有多开natmap和多个cfddns脚本而且还使用到了host0才需要改这个规则名





现在每个访问的解析脚本已经完成了
接着我们修改启动脚本natmap.sh

首先要理解natmap的参数原理 其中-b 是natmap用来和外网通讯的端口(不能和路由里其他已使用的端口重复)必须没有被使用的端口,-p是映射到路由的端口
那么启动脚本natmap.sh修改就是修这个了,不同服务,端口不能相同
先启动一个natmap作为本机的frps打洞吧
之前我们frps服务用的是默认端口7000,那么就-p 7000


修改脚本 比如wanport就是-b 我填的7600 是natmap用来和外网通讯的端口(防火墙需要放行这个端口)
lanport对应映射到服务的端口,我们是用来映射frps的 所以对应frps的端口就是7000
lanip就是本机设备ip,也就是运行frps的设备ip
以上是第一开 用来frps服务器


接下来往下继续编辑第二开,脚本往下滑

第二开我们用来访问A.abc.com域名访问A地的路由管理界面,那么也就是本机80端口,如图,第一个红框里是第一开
第二个红框里是我刚刚加的第二开,-b 9527 外网通讯的端口(防火墙要放行此端口),-p 80就是为了对应本机的web管理界面, -e /etc/storage/bin/cfddns2就是对应的上面的cfddns2脚本路径




接下来编辑第三开用来访问B地的alist服务,也就是B地的5244端口
那么假如B地的frpc的配置文件如下,(服务端只填写地址,不能写端口号了,frpc程序必须下载natmap作者的)
[common]
server_addr = frps.abc.com

[alist]
type = tcp
remote_port = 6500
token = abcdefg
local_ip = 192.168.3.1
local_port = 5244
正常使用frp 这时是使用域名:6500访问的

那么第三开就是再复制一条命令 修改-b 端口号 不要相同,-p 对应6500即可


-e /etc/storage/bin/cfddns3就是对应的上面的cfddns3脚本路径

接下来编辑第四开用来访问B地的路由界面,也就是B地的80端口
那么假如B地的frpc的配置文件如下,(服务端只填写地址,不能写端口号了,frpc程序必须下载natmap作者的)
[common]
server_addr = frps.abc.com

[alist]
type = tcp
remote_port = 4567
token = abcdefg
local_ip = 192.168.3.1
local_port = 80
正常使用frp 这时是使用域名:4567访问的

那么第四开就是再复制一条命令 修改-b 端口号 不要相同,-p 对应4567即可



-e /etc/storage/bin/cfddns4就是对应的上面的cfddns4脚本路径


最后完成 如果开启了防火墙的 则需要放行对应的-b端口即可
外网域名访问 就是用对应的cfddns脚本里的host0 即可访问服务。不需要加端口!


不需要有ipv6,这个natmap只能ipv4使用。所以frpc的宽带网络环境不需要v6
















本帖子中包含更多资源

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

×

点评

谢谢大神辛苦付出,最好出一期视频教程,这个最看得清楚懂了,可以在B站或者出教程,我会第一时间点赞收藏,谢谢大神!!!!  详情 回复 发表于 2024-5-28 10:58
回复 支持 反对

使用道具 举报

发表于 2023-5-12 18:54 来自手机 | 显示全部楼层
楼主真强,很全面,实测是可以跑满上传的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-12 19:10 | 显示全部楼层
xf110 发表于 2023-5-12 18:54
如果使用frp,要 type = stcp 才可以。

感谢大佬的提供的方案,这个比免费的frps好用多
回复 支持 反对

使用道具 举报

发表于 2023-5-13 11:12 | 显示全部楼层
真想试试,可是条件不允许了。装了padavan固件可以自行安装程序的有ipv6地址,没有ipv6地址的,路由器又装不了程序。这个TL-WR886N打开ssh都找不到路口。
回复 支持 反对

使用道具 举报

发表于 2023-5-14 00:54 | 显示全部楼层
大佬 咨询下,   如果想把  电信公网A B,  移动内网CD, 四处组成局域网. 一般推荐什么软件呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-14 06:59 | 显示全部楼层
121592512 发表于 2023-5-14 00:54
大佬 咨询下,   如果想把  电信公网A B,  移动内网CD, 四处组成局域网. 一般推荐什么软件呢 ...

我也是新手,不懂,很多插件不会弄,我知道的就是听论坛大佬说的 像那些frp   softether n2n应该可以吧?你搜一下这些看看,我只会用zerotier 和tailscale这种傻瓜式的插件,下载安装就用的,那些还需要配置,看教程也没弄懂,目前在用的是zerotier,三个地方,两个电信,一个移动,都有ipv6 地址,互相延迟20ms以内,zerotier看地区的应该,我这里很稳定,从论坛看 有些地区不稳定。
回复 支持 反对

使用道具 举报

发表于 2023-5-15 22:35 | 显示全部楼层
试试
回复 支持 反对

使用道具 举报

发表于 2023-5-19 22:33 | 显示全部楼层
DDNS解析不出

点评

你直接使用natmap生成的动态ip 加端口可以访问吗? 可以的话才能用这个软件 在配合ddns 你用的哪个ddns token 域名 之类的参数填对了吗 日志提示什么  详情 回复 发表于 2023-5-19 22:37
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-19 22:37 | 显示全部楼层

你直接使用natmap生成的动态ip 加端口可以访问吗?    可以的话才能用这个软件   在配合ddns  你用的哪个ddns  token 域名 之类的参数填对了吗  日志提示什么
回复 支持 反对

使用道具 举报

发表于 2023-5-20 10:20 | 显示全部楼层
可以
回复 支持 反对

使用道具 举报

发表于 2023-5-20 10:22 | 显示全部楼层


本帖子中包含更多资源

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

×

点评

你有在阿里云 添加过一个AAAA记录吗 把这个IP4P地址 先添加一个记录到阿里云  详情 回复 发表于 2023-5-20 10:24
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-20 10:24 | 显示全部楼层

你有在阿里云 添加过一个AAAA记录吗  把这个IP4P地址 先添加一个记录到阿里云

点评

AAAA记录是ipv6 A记录才是ipv4  详情 回复 发表于 2023-5-20 10:48
回复 支持 反对

使用道具 举报

发表于 2023-5-20 10:48 | 显示全部楼层
8267 发表于 2023-5-20 10:24
你有在阿里云 添加过一个AAAA记录吗  把这个IP4P地址 先添加一个记录到阿里云 ...

AAAA记录是ipv6
A记录才是ipv4

点评

这个IP4P 不是ipv4 地址 必须AAAA记录  详情 回复 发表于 2023-5-20 10:50
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-20 10:50 | 显示全部楼层
ageyou 发表于 2023-5-20 10:48
AAAA记录是ipv6
A记录才是ipv4

这个IP4P 不是ipv4 地址  必须AAAA记录

点评

哦,看错了。。。。  详情 回复 发表于 2023-5-20 11:12
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-6-21 16:13

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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