如何让N2N虚拟局域网走P2P?简单测试

N2N 2020/09/21

废话就不展开说了。开始!

家里台式机A:192.168.123.1

公司台式机B:192.168.123.2

测试

通过 EasyN2N 自带的NAT类型测试,分别测的:家里、公司的网络NAT类型均为 Symmetrict NAT

PING延迟

分析

N2N是可以进行P2P通信的,在P2P连接下,虚拟局域网下的客户端连接延迟和稳定性都很不错,但前提是客户端所在网络NAT类型符合条件才可以实现P2P连接。

网络上关于NAT和P2P的关系这里就不啰嗦了,可以参考这篇文章 :NAT的四种类型及类型检测(详细介绍)

简单学习后,可以了解到P2P建立条件:

当联机的双方NAT类型有一方为Cone NAT时(以下前三种)才 有概率 建立P2P连接,如果双方都是Symmetric NAT,必然无法成功建立P2P连接

几种常见的NAT类型:

1.Full Cone
2.Restricted Cone
3.Port Restricted Cone
4.Symmetric NAT

结合上面的P2P条件,由于家里和公司的NAT类型均为 Symmetric NAT,所以无法建立P2P连接,只能通过N2N服务器中转通信

引用一段恩山论坛大佬总结的:

1.双方中只要有一方是Full Cone,可以直连
2.双方都是Restricted ConePort Restricted Cone,这种情况可以打洞,通过N2N服务器握手以后,双方的数据不再经过服务端
3.一方为Restricted Cone,另一方为Symmetric NAT,可以打洞,通过N2N服务器握手以后,双方的数据不再经过服务端
4.一方为端口Port Restricted Cone,另一方为Symmetric NAT,这种情况无法打洞,数据要走N2N服务器中转
5.双方都为Symmetric NAT,这种情况也是无法打洞的,数据要走N2N服务器中转

折腾

如果需要走P2P,则要调整当前网络的NAT类型,以符合P2P连接的条件

因为公司的网络比较固定(专线),并且上层交换设备无权操作,所以公司的网络这边只能放弃

同理,有些校园网、手机的4G\5G、公用WIFI等,都是这样的情况

方法1

来自 lucktu 大佬分享的方法:

方法1:edge使用固定端口,上级路由器使用端口转发过来
方法2:最新的支持upnp的edge下,打开路由器的upnp支持

方法2

打开路由器中的DMZ,将DMZ的IP指向台式机

注意:此步骤会将DMZ指向的设备完全暴露在公网下,易受到恶意攻击,请慎重开启

最后的效果:

再次测试

注意

本文所说的“有概率”,请看下图:

当我的NAT类型为Fullcone,公司是Symmetric,理论来说,是可以P2P的

但P2P不是一个开关(不是即开即生效)

在不断ping了200次左右时,NAT类型发生转变,延迟降低,可以判断为已建立P2P连接



100 条评论

  • simon 评论于 回复

    请教大佬, 单纯用天翼网关->网线->电脑, 超级管理员开启upnp之后, 如方法1, 运行日志有显示upnp added tcp port等
    但是我天翼网关->路由->网线->电脑的时候, 即使天翼网关和路由器都开启了upnp, 运行日志就没有upnp added tcp port相关的显示了, 请问要怎么弄呢?

  • tra 评论于 回复

    为什么检测显示blocked?

  • 多多钙 评论于 回复

    你好,我现在每天(不知道是不是,好像是)打开电脑都只有第一次连接成功服务器,之后再重新链接就连不上,一直说没有响应,看日志那里,重启电脑也是这样

  • zss 评论于 回复

    侠哥,两个手机都是热点怎么直连啊,都是sy那个

    • 嘉乐 评论于 回复

      @zss
      侠哥,+1,没有办法吗

  • 天宇 评论于 回复

    请问我和我朋友都是第一次测试restric nat,第二次测试full cone,然后一会再测又变成第一次restrict nat 第二次full cone,我连ping的延迟是20多ms,我俩是同城的,我感觉这不是p2p直连啊,我到服务器延迟是11ms左右,他也是,所以ping的20多ms好像是中转延迟,我想问一下为啥没有p2p直连上呢

    • 11 评论于 回复

      @天宇
      有个可能,手机有时会利用流量加速网络,尝试关闭流量仅使用wifi试下

  • 路人乙 评论于 回复

    站长,我是广电网络,没有公网IP。用super权限开启了upnp(可以在日志里看到)和正确设置了DMZ之后,仍然无法改变自己的NAT类型,还是NAT4,请问还有救吗?

  • Noso 评论于 回复

    感谢教程,在光猫设置DMZ指向主机后NAT变成了Full(我的是光猫→网线→主机)。联机不用中继,延迟一下子好了很多。
    目前正在不安的折腾防火墙和杀毒软件。 :笑哭:

  • wangwang 评论于 回复

    站长,我和朋友联机mc用我捐赠的服务器,莫名奇妙的我的服务器失败了,我看说是宽带占用多的会被拉黑名单,可我就玩mc了,他们谁也没事就我不行啊?

    • Bug侠 评论于 回复

      @wangwang
      先查查是不是服务器把你屏蔽了,如果没有,有可能是你的运营商屏蔽了你 :笑哭:
      https://bugxia.com/n2n_status

  • 路人乙 评论于 回复

    站长 一台电脑连接手机流量的热点,类型是Symmetric NAT, 另一台设备走的是路由器是full cone,这种情况可以p2p连接吗
    :害羞:

    • Bug侠 评论于 回复

      @路人乙
      必须可以啊,但是只能说P2P的成功率因为有full cone客户端的加入而提升了 :笑哭:

  • Gin 评论于 回复

    大佬您好,想请问一下,我朋友家的网络是restricted cone NAT(测试结果有时候会变成full cone ),我的是symmetric NAT的,为啥我们直接不能建立P2P,只能PSP,我看到您这边写的是有一方是restricted NAT的话 就可以建立成功P2P的啊。请问这个有没有解决方法呀,谢谢大佬

  • 评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)