NPS内网穿透之p2p连接
使用场景
NPS的P2P点对点穿透,大文件传输,如在内网架设NAS,流量不经过公网服务器转发
要求
目标内网设备(被访问端)与访问端都需要运行npc客户端,且二者NAT类型不能同时为对称型网络
NPS服务器基本配置不再介绍,可参考此文nps 内网穿透 – e-8bit – 博客园 (cnblogs.com)。本文只介绍P2P如何配置。
P2P配置方法
1、在公网服务器配置nps.conf文件,添加如下两行:
p2p_ip=
#上面填写公网IP或动态域名,不能填写127.0.0.1
p2p_port=8081
#设置公网服务器的P2P端口,如8081需要公网服务器防火墙开放8081-8083端口用于P2P服务
重启服务器上nps。
2、在公网服务器的WEB网页端设置
P2P连接页面-点击新增
输入被访问端的客户端ID,目标端口,例如远程桌面3389端口,唯一标识密钥(可以自定义密码,每一条P2P连接密码不能重复)。
3、被访问端npc.conf文件不需要设置;
4、访问端设置
在npc.conf文件,添加如下4行:
[p2p_ssh]
local_port=2000
#访问端的默认本地端口,可修改成别的端口(此处是访问端的端口)
password=AAccdd1234
#填写网页端P2P链接列表唯一标识密钥(即被访问端的密码)
target_addr=127.0.0.1:3389
#地址填写网页端P2P链接列表的目标IP:端口(即被访问端的IP:端口)
保存好npc.conf文件后,重启访问端的NPC客户端。
5、现在即可在访问端使用P2P连接到被访问端,本次远程桌面应用如下:
注意:由于P2P穿透和NAT类型关系较大,不保证100%成功,支持大部分NAT类型。可使用NPC命令行检测nat类型检测。
npc.exe nat -stun_addr=stun.stunprotocol.org:3478
#stun_addr可以指定stun服务器地址
如果P2P访问端和被访问端双方都是symmetric NAT,肯定不能成功,其他组合都有较大的成功率。
Emo:检测返回错误,直接看日志判断P2P是否成功。