利用N2N 搭建windows 和 windows 的异地组网环境(异地局域网)(未完)

一、搭建server

1、安装n2n 服务端

如果是ubuntu 直接使用

apt install -y n2n

可看见此处版本为v1.31

尝试使用 which 命令来查找 n2n 的位置:

which n2n

emmm,which n2n指令没反应,检查下 n2n 是否真的安装在了系统上

dpkg -l | grep n2n

软件包的状态为 "ii",表示它已经安装并且处于可用状态。再试试看

急了,搜一下

还是没找到可执行文件,决定重装

apt install git ,下载一个git仓库

下载n2n源码

git clone https://github.com/meyerd/n2n.git

输入ll n2n ,查看当前目录,发现会出现名为 n2n 的文件夹:

 

2n文件夹中同时包含了 n2n_v1 和 n2n_v2 两个文件夹。使用 cmake编译n2n_v2

sudo apt install cmake

 

成功下载,版本为3.16.3

切到n2n目录

cd n2n

创建一个build文件夹,专门用于存放编译生成的文件和目录

mkdir -p build_n2n_v2

cmake

cd build_n2n_v2
cmake ../n2n_v2 

编译安装

make && make install

编译完成,版本此时为2.7.测试一下

root@iZ0jlf2bnnhzr2ebbi11ngZ:~/n2n/build_n2n_v2# supernode -h
supernode usage
-l <lport>      Set UDP main listen port to <lport>
-f              Run in foreground.
-u <UID>        User ID (numeric) to use when privileges are dropped.
-g <GID>        Group ID (numeric) to use when privileges are dropped.
-v              Increase verbosity. Can be used multiple times.
-h              This help message.

root@iZ0jlf2bnnhzr2ebbi11ngZ:~/n2n/build_n2n_v2# edge -h
Welcome to n2n v.2.1.0 for Linux-5.4.0-169-generic
Built on Mar  2 2024 11:51:41
Copyright 2007-09 - http://www.ntop.org

edge -d <tun device> -a [static:|dhcp:]<tun IP address> -c <community> [-k <encrypt key> | -K <key file>] [-s <netmask>] [-u <uid> -g <gid>][-f][-m <MAC address>]
-l <supernode host:port> [-p <local port>] [-M <mtu>] [-r] [-E] [-v] [-t <mgmt port>] [-b] [-h]

-d <tun device>          | tun device name
-a <mode:address>        | Set interface address. For DHCP use '-r -a dhcp:0.0.0.0'
-c <community>           | n2n community name the edge belongs to.
-k <encrypt key>         | Encryption key (ASCII) - also N2N_KEY=<encrypt key>. Not with -K.
-K <key file>            | Specify a key schedule file to load. Not with -k.
-s <netmask>             | Edge interface netmask in dotted decimal notation (255.255.255.0).
-l <supernode host:port> | Supernode IP:port
-L <local_ip>            | Add local ip to bypass between same nat problem
-i <interval>            | Set the NAT hole-punch interval (default 20seconds)
-b                       | Periodically resolve supernode IP
                         : (when supernodes are running on dynamic IPs)
-p <local port>          | Fixed local UDP port.
-u <UID>                 | User ID (numeric) to use when privileges are dropped.
-g <GID>                 | Group ID (numeric) to use when privileges are dropped.
-f                       | Do not fork and run as a daemon; rather run in foreground.
-m <MAC address>         | Fix MAC address for the TAP interface (otherwise it may be random)
                         : eg. -m 01:02:03:04:05:06
-M <mtu>                 | Specify n2n MTU of edge interface (default 1400).
-r                       | Enable packet forwarding through n2n community.
-E                       | Accept multicast MAC addresses (default=drop).
-v                       | Make more verbose. Repeat as required.
-t                       | Management UDP Port (for multiple edges on a machine).

Environment variables:
  N2N_KEY                | Encryption key (ASCII). Not with -K or -k.

成功。启动supernode。

 

2、启动服务器
8888 是端口,后面

nohup supernode -l 86 &

二、防火墙规则允许 ipv4\ipv6 入站
输入快捷键windows + x + a 以管理员模式打开powershell,执行下面命令就可以开启v4 和v6 的入站规则,出站默认就开启的不需要操作

如果快捷键windows + x + a打不开,试图直接windows+x然后手动选中powershell,并选择以管理员身份运行

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

 

 

三、客户端设置

解压安装包,一路默认,最终得到此面板

完成之后,在网络连接处会添加一个如图的虚拟网卡

从网上下载windows客户端(建议去 这里 下载),然后解压,安装,一路默认安装,特别是最后几个选择项,必须都按默认的来选上,安装过程中,如果有什么提示,也一概确认安装(当然你可以睁大眼睛认真看一下每一项,到底都说了什么)。安装完成以后,它会在网络连接里,产生一个“TAP-Win32 Adapter V9”的虚拟网卡,今后在后台就是靠它来工作的。虽然显示的是10M,但经过后续的验证,其实是虚拟的,并不受此限制(实际测得速度已经达到了 2.94MB/s),实际速度受物理网卡及其他因素决定(例如整个通道的上下传带宽、edge的加密解密速度、物理网卡速度等等)。正常工作时,这里会呈现“已连接”状态,显示“未识别的网络”,但是不影响使用。

安装好以后,点击程序中的“n2n Gui”,运行该程序,如下图所示,最上面的一行填写超级节点的信息,包括IP地址(也可以用域名)和端口。下面三行分别设置的是你将要设置的N2N局域网中本机的IP地址(一般用内网地址,例如:10.0.0.100),接下来填写组名和密码,可以是任意的东西,只要是英文、数字之类的,不与别人的相同即可,建议适当复杂一点。

在 N2N (NAT-to-NAT) 的 GUI (图形用户界面) 中,"Assigned IP" 通常指的是你想要为某个特定的 N2N 连接或隧道分配的本地 IP 地址。这个 IP 地址应该是你在本地网络中可用的,并且你希望该隧道使用的 IP 地址。

此处win+r打开cmd,输入ipconfig查看本机ip

在本例子,本地网络是192.168.0.0/24网络,这意味着任何以192.168.0.开头的IP地址都是可用的,只要它们不超过192.168.0.255。

因此,如果想要为N2N隧道分配一个本地IP地址,可以选择一个在192.168.0.2到192.168.0.254范围内的地址(假设192.168.0.1是默认网关,通常不可用作设备地址)。例如,此处可以选择192.168.0.107作为N2N隧道的本地IP地址,只要确保该地址没有被其他设备使用。

组名夜阑,密码夜阑风起

插播一句,Abort是放弃,Advanced是应用

应该是成功了?今天太晚了,明天再尝试

2024.3.2 继续 修正补充了一些上叙信息

四、n2n配置

首先打开n2nguien文件位置,找到edge.exe,右键属性找到其路径,复制

管理员权限打开powershell或者cmd,输入以下命令如:

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

 

并且发现问题

版权声明:
作者:夜阑
链接:http://yelan.xyz/index.php/2024/02/29/%e5%88%a9%e7%94%a8n2n-%e6%90%ad%e5%bb%bawindows-%e5%92%8c-windows-%e7%9a%84%e5%bc%82%e5%9c%b0%e7%bb%84%e7%bd%91%e7%8e%af%e5%a2%83%ef%bc%88%e5%bc%82%e5%9c%b0%e5%b1%80%e5%9f%9f%e7%bd%91%ef%bc%89/
来源:夜阑的小站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>