N2N组建虚拟局域网联机遇到搜不到房间的问题一例(网卡优先级)
一个更好的方法:
以下方法对部分游戏无效,仅供参考,推荐使用上述方法
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建立的房间
55 条评论
你这种方式跟我的很相似。
ping通了但是延迟一直高 上一个版本都没这问题 是得给包华子才能解决吗【狗头】
@qweqweqwerfaw
@qweqweqwerfaw
哈哈哈,华子的话,意思意思就行,不强求~
如果走不了P2P的话就只能是中转了,我这边用内置的服务器中转延迟在100ms左右,感觉也能接受。
@qweqweqwerfaw
哦对,当前1.9版本相对之前的版本,没有对核心功能做修改,是不是你之前网络环境良好,走的P2P啊……
@Bug侠
对哇 上一个版本 我同样用的学校的网络 就是走的P2P ping通就只有30ms左右
@Bug侠 我和好友联机方舟 好友能通我的ping 但我不通 这是为什么
@夏殇
嗯,可能对方没有关闭防火墙吧
@Bug侠
谢谢,我朋友已经找到问题了
@Bug侠
所有方法都试了 没用
大佬,两边都ping的通,折越端口数也改了,但是游戏里看不见对方,还有对方的虚拟网卡显示网络电缆已拔出
@shuiping233
几个思路:
1.N2N的虚拟网卡显示“电缆已拔出”(红叉),大概率表示N2N没成功启动,正常情况下,虚拟网卡上应该是“未识别的网络”,你可以试试
2.本文主要是以CS,解决了一例无法看到对方的问题,但是游戏里看不见对方的原因可能很多,这个还得具体分析
@Bug侠
他那边的n2n我确认过已经开启了,就是不知道为何虚拟网卡显示拔出,寻思了半天没想明白,更奇怪的是这种情况下也能联机,不过我看不见他房间他看得见我
大佬,显示了p2p连接建立,也关掉了防火墙,但两边还是ping不通是怎么回事?
@111的321
这个,没法准备的判断到底是哪的原因,只能逐个分析:
1.更换不同版本的edge及其对应的节点,v2、v2s都试一下
2.检查组名称、组密码,IP段是否一致
3.客户端A和B无法互通的话,尝试再加入一个C客户端,ApingC,BpingC
4.因素比较多,只能逐一分析
@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群,没有回应,希望可以加入学习。谢谢您。
@111的321
不用客气
1.【这个最重要】测试工具的用法是:A的启动器开启一个UDP端口,然后在B的启动器里进行UDP Ping,TCP Ping同理,如果TCP\UDP均能正常Ping到对方(收发正常,有返回延迟),那就有可能是ICMP协议的问题
2.如果怀疑是节点的问题,可以用启动器内置的几个节点相互做一下排除法,ubuntu如果不影响,也可以尝试关闭ufw、清空iptables等操作,ipsec有没有影响就不太清楚了。
3.那个群不是我的……忘了作说明……
@Bug侠
大佬,局域网内可以建立P2P信道,相互可以ping通。使用不同手机开放热点分别连接则无法建立p2p信道,相互也无法ping通,但都可以连接上服务器,防火墙已经关闭。
@111的321
手机端我还没试过,没法给你参考建议
根据你的情况,我感觉还是首先得让双方ping通,然后再研究P2P。
因为即便不走P2P,如果双方都成功连接到服务器,并且成功组网,那依然可以通过走服务器中转的方式连接到对方,虽然延迟大一点
博主你好,我和朋友用n2n可以泰拉瑞亚联机,但是我的世界就是不能联机,我的世界连房间都搜不到
@dbkc
我的世界我还没研究过,不过根据你的情况,说明N2N是没问题的,我的世界有输入类似CS这样直接输地址就能加入房间的方法吗?可以试一试,然后逐一排查排查原因
@Bug侠
希望尽快出我的世界教程,我的世界的联机方式很少了…谢谢楼主了
@tyopxn360
你楼上的那位朋友已经反馈了,你可以参考一下:
「找到问题了,我的世界1.7.10版本以上的局域网联机会有正版验证,必须用 [简单联机] 模组关了Mojang的验证才可以」
@Bug侠
这个问题我知道的,我会去试试的。因为实在没有什么联机方式的