最近想玩一下《文明6》 并且进行联机,文明6支持局域网联机。于是想着如果自己和远在其它城市的朋友一起玩的话就更好了,因为自己有一台公网上的云服务器,于是想到异地组网。

其原理就是通过公网服务器 将两台 windows 电脑放入同一个局域网中,局域网采用的是mac地址通信,所以公网服务器就起到了连接客户端和转发mac地址的作用。于是根据网上的资料找到了n2n的方式进行组网。经实验成功了!

本教程进行异地组网前提条件:有一台公网服务器做server

一、搭建server

1、安装n2n 服务端

  1. 如果是
    centos: 使用下面的步骤进行安装​​n2n​

git clone https://github.com/meyerd/n2n.git
cd n2n/n2n_v2
yum install -y openssl-devel
yum install -y cmake
yum install -y net-tools
yum install -y git
yum install -y gcc gcc-c++
mkdir build
cd build
cmake ..
make && make install
  1. 如果是
    ubuntu 直接使用​​推荐!使用ubuntu,因为博主我就是使用的ubuntu做服务器,直接一行命令安装一下,启动一下supernode就行了​

apt install -y n2n

2、启动服务器

8888 是端口,后面

nohup supernode -l 8888 &

二、防火墙规则允许 ​​ipv4\ipv6​​ 入站

输入快捷键​​windows + x + a​​ 以管理员模式打开powershell,执行下面命令就可以开启v4 和v6 的入站规则,出站默认就开启的不需要操作

netsh advfirewall firewall add rule name= "All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh advfirewall firewall add rule name= "All ICMP V6" protocol=icmpv6:any,any dir=in action=allow

亦或者 下面在防火墙中找到入职和出站的规则进行开启即可,为了方便建议输入上面2行命令就行了

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_n2n

三、客户端,windows版本下载安装

百度网盘:​​n2nguien.exe​​ 提取码: i7wu

csdn:​​站内0积分下载​

安装完后,右键图标打开n2nguien的安装位置,会发现有 ​​edge.exe​​ 这个命令一会用的到

./edge -c community名称 -k 加密的密钥 -a 输入网段ip -f -l 服务器ip:端口

管理员权限打开powershell 或者 cmd,然后cd切换路径到上述的安装路径,找到这个edge.exe所在文件夹

例如:

加入网段

windows1:

./edge -c mynet -k mypass -a 192.168.100.5 -f -l yumbo.top:8888

windows2:

./edge -c mynet -k mypass -a 192.168.100.5 -f -l yumbo.top:8888

2台机器都收到 注册ACK并且都获取到了配置的对应ip时就成功了

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_ubuntu_02

这个时候发现 用 192.168.100.3 的windows1去ping 192.168.100.5的时候能ping通就说明成功了,完成了异地组网。

此时就可以进行愉快玩耍了

就可以直接打开文明6进行局域网联机,太爽了,这个方法以适合其它局域网联机。

三、简化的步骤

安装完​​n2nguien​​后,找到安装目录(不要安装到C盘),安装完后会多一张网卡,如下名称,后面运行起程序后这张网卡的 × 就会消失,网络就通了。如果过程中没有发现这张网卡,软件卸载后重新安装即可

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_组网_03

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_ubuntu_04

新建一个文本文件​​startup.bat​​,如下

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_组网_05

用编辑器打开填入下面内容,修改对应的

-a 自己的ip

-l supernode的ip和端口

-c 是网络连接名称

-k 是加密的key

cmd /k "%~dp0edge.exe" -c mynet -k mypass -a 192.168.100.5 -f -l yumbo.top:8888

下次再运行的时候,只需要右键已管理员身份运行这个​​startup.bat​

必需是管理员身份,因为这行命令会需要修改网卡的配置。

失败案例

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_ubuntu_06

成功案例

利用N2N 搭建windows 和 windows 的异地组网环境(简称异地 局域网,软件的方式实现)_n2n_07


测试

进行互相的ping对方的ip会发现ping通了,也可以直接远程桌面连接啥的。

此时两台服务器已经在同一个局域网中。