美文网首页
使用N2N搭建虚拟局域网联机游戏

使用N2N搭建虚拟局域网联机游戏

作者: 7f4cf71ba8f6 | 来源:发表于2018-10-25 17:00 被阅读411次

    日前在折腾的一件事:怎么样在没有公网IP的情况下进行局域网游玩?

    多少年前,一伙同窗约战网吧,CS、红警之类的联机游玩玩的不亦乐乎,当今再想找回昔时的感触已经异常不轻易。就中1个比较直接的缘故是,不在1个局域网内。

    前段时间不知怎地的,一群奔三的人居然想要联机CS。第一代间想到的是对战平台,不过总有几个逼迫症,不想让电脑里再多部署1个软体。没法子,转而考虑很古旧的虚拟局域网软体Hamachi与LAN Bridger。Hamachi的小问题许多,个别机子没法成功连接,就算能ping通敌手,延迟也是奇高。而LAN Bridger痛快是客户端都没法下载……接着就是各类尝试不一样的计划,最终找到了1个比较完美的搞定计划:N2N

    —————————————

    style="font-size: 30px;">傻瓜教程:

    微软下使用N2N搭建虚拟局域网联机游玩(重写)

    —————————————

    今日就介绍一下使用Linux做服务端,微软使用客户端建立N2N网络的方式。以下途中均基于CentOS 7 64bits

    规律

    与传统的中转传输不太一样的是,n2n的非常节点(能看作是服务器)在边沿节点(Edge)完成初次握手后,中间节点不再起主要功能,edge之间的通讯产生在两个edge node之间,不经过supernode中转。

    筹办

    1台有公网IP的服务器、云主机等,作为服务端,也能使用伏笔VPS自建的N2N服务端(supernode)

    n2n.s1.bugxia.com:9527( v2s版本)

    n2n.s2.bugxia.com:9527( v2s版本)

    n2n.s3.bugxia.com:9527( v2s版本)

    N2N的服务端与客户端的编译,见:https://bugxia.com/327.html

    服务端(Linux)

    率先搭建服务端,编译方式不再啰嗦。Linux下建服的方式很简单,一行command的事

    supernode -l 端标语 -f

    参数说明

    -f 前台启动(此参数除非N2N v2版本有效,若不加该参数,则为前台启动)

    -u 指定启动所用的UID(可选)

    -g 指定启动所用的GID(可选)

    -v 出口比较详细的log(可选)

    补充:服务端如开启iptables\firewalld\ufw等防火墙,需要放行supernode所设置的端口,否则客户端没法连接

    #firewalld

    firewall-cmd --zone=public --add-port=9527/udp --permanent

    firewall-cmd --reload

    #iptables

    iptables -I INPUT -p udp --dport 9527 -j ACCEPT

    service iptables save

    service iptables restart

    #ufw

    ufw allow 9527/udp

    windows下的服务端搭建方式差不多,不再啰嗦,服务端下方链接有供给。

    客户端

    更新:

    因为伏笔VPS伏笔VPS也需要用到N2N,因而写了个微软下的N2N客户端GUI工具,微软下的N2N 客户端启动器

    win下的客户端(包罗服务端)下载:https://file.bugxia.com/s/b6MAp6LS78b6XBp

    压缩包中包罗了v1、v2版本的客户端(edge_v1\edge_v2)与服务端(supernode_v1\supernode_v2),另有客户端必需部署的虚拟网卡TapV9

    注:如果之前使用过其他TAP类软体,已经部署过TAP-微软 Adapter V9,则直接跳过本步骤

    部署虚拟网卡

    部署的时候仅挑选第一项便可,部署途中中可能会有safe提示,挑选[部署]

    部署终了后会在网络适配器界面出现TAP-微软 Adapter V9

    启动客户端

    客户端(edge_v1与edge_v2)均需要给与管理员权限启动

    以管理员权限启动CMD

    在command行下启动N2N客户端(edge), 如果出现错误,见本文末说明

    注意:

    1.不一样的客户端需要指定不一样的IP,但需要同段,譬如有4个客户端,则能分别指定192.168.100.100~104,成功连接到中间节点(supernode)后4个客户端能任性互通。如果连接成功,但是ping不通或者搜索不到敌手建立的游玩,请确认能否关闭防火墙。

    2.客户端需要管理员权限执行,由于要给虚拟网卡写入网络信息

    3.需要与服务端版本连结划一,如:服务端使用supernode_v2,则客户端也需使用edge_v2

    4.确保需要组网的客户端所设置的小组称号与密钥划一

    edge.exe -a 指定的虚拟局域网IP -c 小组称号 -k 小组密钥 -l 服务器:端口

    #如:

    C:\desktop\edge_v2.exe -a 192.168.100.100 -c bugxia -k 123456 -l n2n.s1.bugxia.com:9527

    参数说明

    -d 虚拟网卡名

    -a [static:|dhcp:]虚拟网段(IP),static形式实则能不用加这个static: 直接写IP就行

    -c 用于区别节点的社区(组)名

    -k 用于加密的字符串

    -K 用于加密的Key文件,与-k不能共存

    -s 子网掩码

    -l supernode的IP:端口,能指定多个supernode的

    -i NAT打洞距离

    -b 当使用DHCP时按期革新IP

    -p 指定本地端口

    -u 指定启动所用的UID(windows不适用)

    -g 指定启动所用的GID(windows不适用)

    -f 前台启动(windows不适用)

    -m 为虚拟网卡指定MAC地址

    -r 启用包转发,当-a指定DHCP时需要启用

    -E 接收组播MAC地址

    -v 出口比较详细的log

    -t 指定用于管理的UDP端口

    PING

    本机是192.168.100.100,friend是192.168.100.101

    CS

    常见的连接提示

    v1

    没法连接服务器时会反复提示: Registering with supernode

    成功连接: Received REGISTER_ACK from remote peer

    v2

    没法连接服务器时会反复提示: WARNING:Supernode not responding – moving to 0 of 1

    成功连接: Rx REGISTER_SUPER_ACK myMAC=

    常见问题搞定方式

    1.没法ping通

    如果出现一方能ping通,另一方没法ping通,则很有可能为敌手开启了防火墙,关闭防火墙便可

    2.没法连接到服务器

    检查客户端填写的服务器端口能否准确

    检查服务器端口能否在iptables等防火墙中放行

    检查客户端能否以管理员权限启动

    3.客户端不断反复ERROR等信息

    若能一般联机,则能疏忽错误提示

    4.待补充

    参考文献: https://vps.fubi.hk/foreshadowingvps/zhishiku/20181025/6225.html

    相关文章

      网友评论

          本文标题:使用N2N搭建虚拟局域网联机游戏

          本文链接:https://www.haomeiwen.com/subject/ensctqtx.html