N2N组建虚拟局域网联机遇到搜不到房间的问题一例

N2N, Windows, 折腾 2020/04/04

N2N搭建虚拟局域网联机玩游戏,朋友老是说搜不到我建的房间,但是我这边却可以搜到他的。

环境

电脑A:192.168.10.1

电脑B:192.168.10.2

这里以CS为例,其他游戏通用

A建好房间以后,B通过CS的控制台命令 connect 192.168.10.1 可以正常连接到A的房间,但是服务器列表里是空的,搜不到

分析

B控制台命令进入A房间后,打开服务器信息菜单,可以看到主机A的IP地址和B不在同一个IP段内

A的IP:192.168.56.1

B的IP:192.168.10.2

当只有A和B同时处在同一个IP段内,游戏内才能相互搜索到对方

造成上述问题的原因,基本上和主机有多个网卡(网络适配器)有关,比如电脑A上就有如下网卡

Win10进入此页面:

开始菜单 — 设置 — 网络和Internet — 更改网络适配器选项

Win7进入此页面:

开始菜单 — 控制面板 — 网络和共享中心 — 更改网络适配器选项

上图可以看到,有本机的物理网卡(互联网)、N2N使用的Tap虚拟网卡、虚拟机(VirtualBox)创建的网卡,一共三个

而N2N使用的TAP网卡优先级小于虚拟机创建的网卡或者本机的物理网卡

CS在建房的时候优先使用了VirtualBox的网卡的IP段,所以电脑B使用N2N的IP段自然就搜索不到对方。

所以就要保证N2N使用的TAP虚拟网卡的 优先级 要大于其他的任何网卡

解决

修改网卡的接口跃点数来实现优先级的调整

跃点数越低,网络优先级越高,反之跃点数越大,其优先级越低

虚拟局域网

因为N2N虚拟局域网需要同时启用至少两个网卡,一个是物理网(互联网),一个是N2N的虚拟网卡

所以为了正常联机,N2N虚拟网卡的优先级要高于物理网卡才可以

我们先将 N2N使用的TAP虚拟网卡 的跃点数 调整为 1

然后再将其他网卡的跃点数 调整为 比 1 大的任何数值

两种修改方法

1.使用N2N启动器(需要启动器v1.6以上)

按图步骤,找到N2N使用的虚拟网卡(Tap-Windows Adapter),修改其跃点数为 1 ,保存即可

2.在Windows网络适配器页面下修改

物理局域网

如果是物理局域网联机遇到搜不到的情况,将除过物理网卡而外的其他全部网卡禁用即可

测试

折腾完毕,无需重启,打开N2N并组网,打开游戏重新建房即可

B端这次能够正常搜索到A建立的房间

本文标签:


27条评论

  • qweqweqwerfaw 评论于

    ping通了但是延迟一直高 上一个版本都没这问题 是得给包华子才能解决吗【狗头】

      • Bug侠 评论于

        @qweqweqwerfaw 哈哈哈,华子的话,意思意思就行,不强求~
        如果走不了P2P的话就只能是中转了,我这边用内置的服务器中转延迟在100ms左右,感觉也能接受。 :笑哭:

      • Bug侠 评论于

        @qweqweqwerfaw 哦对,当前1.9版本相对之前的版本,没有对核心功能做修改,是不是你之前网络环境良好,走的P2P啊……

        • qweqweqwerfaw 评论于

          @Bug侠 对哇 上一个版本 我同样用的学校的网络 就是走的P2P ping通就只有30ms左右

  • 夏殇 评论于

    @Bug侠 我和好友联机方舟 好友能通我的ping 但我不通 这是为什么

    • Bug侠 评论于

      @夏殇 嗯,可能对方没有关闭防火墙吧 :咧嘴:

      • 夏殇 评论于

        @Bug侠 谢谢,我朋友已经找到问题了

      • 夏殇 评论于

        @Bug侠 所有方法都试了 没用

  • shuiping233 评论于

    大佬,两边都ping的通,折越端口数也改了,但是游戏里看不见对方,还有对方的虚拟网卡显示网络电缆已拔出 :二哈:

    • Bug侠 评论于

      @shuiping233 几个思路:
      1.N2N的虚拟网卡显示“电缆已拔出”(红叉),大概率表示N2N没成功启动,正常情况下,虚拟网卡上应该是“未识别的网络”,你可以试试
      2.本文主要是以CS,解决了一例无法看到对方的问题,但是游戏里看不见对方的原因可能很多,这个还得具体分析

      • shuiping233 评论于

        @Bug侠 他那边的n2n我确认过已经开启了,就是不知道为何虚拟网卡显示拔出,寻思了半天没想明白,更奇怪的是这种情况下也能联机,不过我看不见他房间他看得见我 :二哈:

  • 111的321 评论于

    大佬,显示了p2p连接建立,也关掉了防火墙,但两边还是ping不通是怎么回事?

    • Bug侠 评论于

      @111的321 这个,没法准备的判断到底是哪的原因,只能逐个分析:
      1.更换不同版本的edge及其对应的节点,v2、v2s都试一下
      2.检查组名称、组密码,IP段是否一致
      3.客户端A和B无法互通的话,尝试再加入一个C客户端,ApingC,BpingC
      4.因素比较多,只能逐一分析

      • 111的321 评论于

        @Bug侠 大佬,谢谢你的回复。
        1.edge版本应该相同,为官方上下载并编译的最新版本,所用客户端也是大佬你开发的1.4版本。后面更新了1.5版本,仍然无法ping通,但是使用自带的工具中的udp检测却显示连接已建立。
        2.这些信息均一致。检查了掩码均为255.255.255.0,故设置的前三段IP均相同,具体为192.168.42.10与192.168.42.11
        3.明白,将进行尝试。
        4.目前有几个可能出现问题的地方,请大佬提供意见:所用服务器是位于硅谷的vultrVPS,系统为ubuntu18.04,防火墙已开放对应节点。一台客户端使用的电脑为win10系统的苹果电脑。没有进行端口映射的设置。已经搭建了一条IPSECVPN。
        5.昨晚申请加入了于大佬网站处发现的内网穿透QQ群,没有回应,希望可以加入学习。谢谢您。

        • Bug侠 评论于

          @111的321 不用客气 :大笑:
          1.【这个最重要】测试工具的用法是:A的启动器开启一个UDP端口,然后在B的启动器里进行UDP Ping,TCP Ping同理,如果TCP\UDP均能正常Ping到对方(收发正常,有返回延迟),那就有可能是ICMP协议的问题
          2.如果怀疑是节点的问题,可以用启动器内置的几个节点相互做一下排除法,ubuntu如果不影响,也可以尝试关闭ufw、清空iptables等操作,ipsec有没有影响就不太清楚了。
          3.那个群不是我的……忘了作说明……

          • 111的321 评论于

            @Bug侠 大佬,局域网内可以建立P2P信道,相互可以ping通。使用不同手机开放热点分别连接则无法建立p2p信道,相互也无法ping通,但都可以连接上服务器,防火墙已经关闭。

            • Bug侠 评论于

              @111的321 手机端我还没试过,没法给你参考建议 :汗:
              根据你的情况,我感觉还是首先得让双方ping通,然后再研究P2P。
              因为即便不走P2P,如果双方都成功连接到服务器,并且成功组网,那依然可以通过走服务器中转的方式连接到对方,虽然延迟大一点

  • dbkc 评论于

    博主你好,我和朋友用n2n可以泰拉瑞亚联机,但是我的世界就是不能联机,我的世界连房间都搜不到

    • Bug侠 评论于

      @dbkc 我的世界我还没研究过,不过根据你的情况,说明N2N是没问题的,我的世界有输入类似CS这样直接输地址就能加入房间的方法吗?可以试一试,然后逐一排查排查原因

      • tyopxn360 评论于

        @Bug侠 希望尽快出我的世界教程,我的世界的联机方式很少了…谢谢楼主了

        • Bug侠 评论于

          @tyopxn360 你楼上的那位朋友已经反馈了,你可以参考一下:
          「找到问题了,我的世界1.7.10版本以上的局域网联机会有正版验证,必须用 [简单联机] 模组关了Mojang的验证才可以」

          • tyopxn360 评论于

            @Bug侠 这个问题我知道的,我会去试试的。因为实在没有什么联机方式的

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