EasyN2N\小黄鸭组建虚拟局域网

N2N, 折腾 2018/08/02

最近在折腾的一件事:朋友天南海北,如何进行局域网游戏?

若干年前,一伙同学约战网吧,CS、红警之类的联机游戏玩的不亦乐乎,如今再想找回当年的感觉已经非常不容易。其中一个比较直接的原因是,不在一个局域网内。

捣鼓了一些很古老的虚拟局域网软件Hamachi和LAN Bridger。问题很多,延迟奇高,放弃……

接着就是各种尝试不同的方案,最终找到了一个比较完美的解决方案:N2N

相对于其他虚拟局域网方案,N2N在网络环境良好的情况下,能够实现P2P直连,有效的降低虚拟局域网的延迟,即便无法直连,通过服务器中转,也能获得不错的延迟

只要支持局域网的联机游戏,N2N几乎都支持。目前我个人已测试成功的有:

CS、红警2、红警3、星际争霸1、魔兽争霸3、DOTA、方舟生存进化、文明6、群星Stellaris

流星蝴蝶剑、人类一败涂地、百战天虫、求生之路1&2、我的世界、火炬之光2、帝国时代2……

下载客户端

EasyN2N

Windows Defender 可能误报,可以选择 关闭Defender ,用 火绒 替代它

首次运行可能会弹出Windows防火墙的提示,请放行

使用方法

1.解压上述下载的压缩包

2.运行EasyN2N.exe(部分版本为n2n.exe)

初次运行时,启动器会自动安装所需要的虚拟网卡驱动

如果安装失败,请手动执行程序toolkit\tap-windows\目录下的.exe文件进行安装

手动安装虚拟网卡的最后一步有可能会报错,请根据安装日志进行搜索解决

3.启动

需要选择或输入的几个选项

服务器:提供N2N组网的服务器(EasyN2N内置,请根据软件内指引免费获取)

小组名称:使用预设的名称或自定义一个虚拟网小组名称(可点击问号查阅更多说明)

虚拟IP:使用自动分配或自定义一个虚拟的局域网IP(可点击问号查阅更多说明)

准备就绪后,点击启动

4.查看状态

如果勾选了自动分配IP,连接成功后会自动分配一个虚拟局域网IP,界面上出现绿色对勾

其他客户端

当需要让更多朋友加入你的虚拟小组时,可以使用以下方法

方法1:快捷加入

点击分享图标,EasyN2N将把当前连接的服务器、虚拟IP、小组名称等导出为专用分享链接

如:easyn2n://bjJuLnMxLmJ1Z3hpYS5jb206OTUyN0B6U213VUg0VldiQGF1dG9A

将上述链接复制粘贴给朋友,在朋友的客户端上,点击菜单导入

注:如果导出端为手动指定虚拟IP,则导入端需要手动填写虚拟IP的最后一位

方法2:手动加入

新加入的客户端,

如果是自动分配IP,只需要保持服务器和小组名称一致即可

如果是自定义虚拟IP,除虚拟IP的最后一位不同而外,其他设置均需保持一致即可

朋友A:IP地址:192.168.66.1,组名称:zSmwUH4VWb,服务器:n2n.test.com
朋友B:IP地址:192.168.66.2,组名称:zSmwUH4VWb,服务器:n2n.test.com
朋友C:IP地址:192.168.66.3,组名称:zSmwUH4VWb,服务器:n2n.test.com
……

测试

关于延迟

目前常见的N2N传输,有两种方式

中转

当参与方网络环境相对复杂(比如校园网,或存在多层交换),无法建立P2P连接时,所有的数据传输都会经过服务器中转

中转模式下,A到B的延迟 ≈ A到服务器的延迟 + B到服务器的延迟

直连

当组网参与方网络环境比较纯净,NAT状态良好的情况下,N2N会在参与方之间建立P2P连接

此时所有的数据传输不会经过服务器中转,延迟能够极大程度降到最低

常见问题

常见问题汇总

 

本文标签:


409 条评论

  • mumu 评论于 回复

    无法获取虚拟局域网IP怎么解决

    • Bug侠 评论于 回复

      @mumu
      没法自动分配的话,可以手动自定义。
      局域网IP段:
      10.0.0.0~10.255.255.255(A类)
      172.16.0.0~172.31.255.255(B类)
      192.168.0.0~192.168.255.255(C类)

  • Titi_k 评论于 回复

    大佬你好,我最近使用遇到一个问题。想请教一下
    先说环境:
    一台winserver2019宿主机,vmware 17.6.1。通常作为客户端连接使用
    一台运行在宿主机上的ubuntu-24.04.2虚拟机。桥接到本地网络,只作为服务端使用。
    一台笔记本,主要用于在公司(外网)远程宿主机。因担心安全问题所以没有把宿主机的相关端口直接转发出来,故此使用n2n组网后再用mstsc远程。
    使用的软件:
    服务端软件:bug侠的再发行版服务端和GitHub原版v3.0服务端
    客户端软件:小黄鸭v3.3和happynet v1.9

    网络环境:有活动公网ip

    具体表现为我使用n2n相关软件在本地宿主机的linux虚拟机作n2n服务器,宿主机和我的笔记本作为客户端组虚拟网,通常用使用windows远程桌面(mstsc)远程宿主机和smb协议传输文件。而这个系统在半年前搭建完成后,直到上个月还能正常使用,但上周开始用虚拟网远程时,带宽肉眼可见的下降,并且会以数秒为周期断连。查看日志我发现断连时除了正常的包传输信息外,就只有向n2n服务器重新注册的信息。长ping也并未发现断连丢包,在问题发生后,朋友们用我的服务器和小黄鸭组网后也可以正常联机求生之路,并未出现异常。
    以下是我尝试过的方向:
    系统方面,我用新装的windows10系统安装组网软件,仍然有问题。
    服务端方面,我尝试用新装的linux主机装bug侠的再发行版和GitHub原版排查过服务端,仍有问题。
    客户端方面,我用过小黄鸭和happynet,任有问题。
    网络方面,我公司的网络和我朋友的网络用虚拟网远程我本地的机器均有问题。同时,我将我本地的机器的3389端口映射到公网上,通过公网ip+端口的形式直连,则没有上述问题。
    目前,我测试的结果是似乎只要走了n2n环境,不管是哪个客户端或是服务器都有这个问题。任何通过公网ip或是反代域名连接的服务则没有问题。
    想请教各位,是否遇见过类似的情况,或是有何其他可能需要排查的地方?实在是有些万策尽了。

    • Bug侠 评论于 回复

      @Titi_k
      感谢长文反馈。我阅读后第一感觉是遭遇【UDP阻断(QOS)】
      首先,公网IP+3389,走的是TCP协议传输,运营商一般不会去针对,所以正常
      而N2N默认走的是UDP协议,即便通过N2N连接3389,它仍然是TCP over UDP的方式传输,UDP传输大流量易触发运营商的限制。
      如果你有自建服务器,可以使用伪装UDP(UDP2raw)的方式来进一步判断是否遭遇UDP阻断
      具体可见常见问题页 https://bugxia.com/2518.html 【连接正常,但容易中断】部分

  • asuna 评论于 回复

    你好,请问一下服务器在linux环境下怎么搭建,以前我记得https://bugxia.com/336.html网站有教学,现在404了

    • Bug侠 评论于 回复

      @asuna
      这里:https://github.com/ntop/n2n?tab=readme-ov-file#manual-compilation

  • jetkun 评论于 回复

    大佬,3.2是不支持linux下的supernode服务端了吗,我看之前帖子好像删了?

  • skadi 评论于 回复

    win系统打开深色模式导航栏不显示文字

    • Bug侠 评论于 回复

      @skadi
      已知悉,下个版本修复

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

    评论将在审核后展示,精力有限,站长无法做到实时回复,请谅解

    可以使用AI工具解决部分问题(通义千问豆包百度文心ChatGPT