Windows 下的 N2N 客户端和服务器端的设置及检测方法

Windows下的N2N设置比较简单,包括服务器端和客户端两个的设置方法。一般情况下,如果我们只是为了实现点对点的远程连接,那么我们只需要设置客户端就行了。免费的 N2N 超级节点(又叫中心节点)信息,请先准备好,可以在网上搜索得到,也可以看看本站 这篇文章。下面先介绍客户端的使用方法(以 Windows7 为例)。

一、客户端的设置(很遗憾只有英文的)

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

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

然后按“Advanced”键,如下图所示,只修改一下最下面的是“Use n2n v1”还是“Use n2n v2”?以对应你所使用的超级节点版本即可,其他的都可以不设置。

有人说将MTU设置为1300比较稳定,你可以试试:勾选“Specify n2n MTU”,并设置后面的数字为1300即可。(这个很重要!根据后面的经验,实际上windows7X32下这样设置了,并不生效,合适的 MTU 及怎么让他生效,等会请参看本站的 这篇文章 的第14条经验)

当完成上面的设置以后,将右下角的那个 N2N Gui 的图标退出来(鼠标放到那个图标上,按鼠标右键,选择“Quit”),然后再次启动程序中“n2n Gui”以启动刚才设置的N2N客户端(不这样退出重启,刚才的设置不会生效),即可建立与超级节点的连接。此时,如果再有一台计算机也按照上面的方法设置好了(只是内网信息中的IP地址最后一位不同),并且两边都保存、退出并再次进入了,只要超级节点是有效的,那么这两台电脑就处于同一个局域网中了。其他的电脑,也可以按照同样的方法加入该内网(局域网)。

上面的设置中,怎么知道我们的客户端工作是否正常呢?由于N2N的 windows 客户端没有提供这样的反馈信息,这给我们很盲目的感觉。

其实,办法也是有的:首先将 Windows 下的那个N2N客户端退出。然后在 windows 自带的 DOS 窗口下,进入我们安装的N2N目录(例如:C:\Program Files\n2n Gui\),可以看到里面有 edge.exe 和 edge2.exe (edge2代表N2N_V2)等文件。输入 edge (或 edge2)即可看到帮助信息。输入下面的类似信息即可进行调试(对应上面的客户端的设置):

edge -a 10.0.0.111 -c test -k mima -l 114.215.92.90:8080

输入上面的信息后(建议你复制、粘贴过去,再修改最后的超级节点及端口等信息,因为仅仅是测试嘛,前面的用户名和密码之类的可以不修改),如果得到这样的信息开头,就表示你这台计算机已经与超级节点连接好了(每1分钟会显示一条)。

Received REGISTER_ACK from remote peer ... ...

如果没有连接成功,则会重复显示这样的信息:

Registering with supernode

上面测试的是N2N_V1的情况,N2N_V2的测试方法类似(多加了一个 -f 的参数,表示前端显示,其意义正好与 V1 的相反),输入:

edge2 -f -a 10.0.0.111 -c test -k mima -l 106.196.30.16:8964

如果连接成功,则显示(每 2 分钟显示一条):

Rx REGISTER_SUPER_ACK myMAC= ... ...

失败则重复显示:

WARNING:Supernode not responding - moving to 0 of 1


76.36%(42)

23.64%(13)
发表评论?

23 条评论。

  1. N2N试验不成功

    数据连接成功了,但PING 对方IP不成功 ipconfig查看没有分配到IP, telnet对方IP端口也不成功,总之无法连接成功 ,另外客户端运行在windows 2008 64bit上会异常退出,在对方连线以后就闪退

    • ping不通对方可能是因为需要关闭对方的防火墙,或者你当前使用的中心节点无效;

      windows下的n2n,有些系统下不稳定,特别是supernode。我一般使用windows下的客户端,仅做测试之用。

  2. 请问大神,两个装了edge的路由器所构成的两个局域网,可以实现两个局域网里的机器互相访问吗?

    • 这是跨网段访问的问题,可以实现,但需要设置,可以百度一下“跨网段访问”,以找到答案。

  3. 请问博主,windows端的server配置里,如何设置用户名和密码?

  4. v2的服务端哪里能下载,多谢?

    • 没有V2服务器windows版本,实在需要除非自己编辑。

      V2 主要在于加强了保密性,但是实际上使用起来较慢。所以大家主要使用的是V1。

  5. 你好:看到了博主的文章,我最近在使用v2N,看了你的文章,有一点疑惑,我现在有两台服务器,SQLserver2016,安装了故障转移集群,想通过这个软件实现虚拟IP转移,看了你的文章,不知道服务节点和边界节点要如何去分配??服务节点和边界节点可以装在一个服务器上么?不明白你的实际环境是如何的?谢谢

    • 不好意思,回复晚了,最近家里有事,上网少。
      你可以不用自己的服务节点,完全用别人的,要联网的机器都处于边缘节点上即可,组成对等局域网即可。

  6. 在局域网了,怎么测试两个有没有连接啦

    • 直接ping对方的n2nIP,或者访问对方——就像你在公司局域网内,怎么探知对方开机没有一样。

  7. 感谢博主,有没有教程提供配置n2n啊,因为我这里ubuntu安装apt-get install n2n,然后客户端一直提示Registering with supernode。

    • 我不知你还要什么教程呢?你都会安装N2N了,应该也会很多东西了。百度等搜索引擎有很多啊。

      至于N2N的用法,你输入 edge 或 Supernode 就能得到许多帮助信息(这是针对V1版的N2N;如果你要使用V2版的N2N,那么输入的是 edge -h 或 Supernode -h ),再结合别人的使用示例去理解,基本也够了。

      • 博主新年快乐。我尝试了百度的各种方法,比如svn仓库编译,git仓库的编译,包括apt-get都尝试过了,都连接不上,存在问题。v1 v2版本都尝试过了我找不到关于错误提示对应的解决办法。请教楼主有什么提议嘛。

        • 新年快乐!

          刚才认真看了一下,我发现成功时,第一句也是“Registering with supernode”,关键是有没有“Received REGISTER_ACK from remote peer … …”这样的语句。

          不管如何,你做两个edge端,互相ping一下就知道了。另外,如果还不行,多试几个中心节点试试。

        • 还有,你使用某条语句的时候,最好复制粘贴我文章里的语句,然后简单修改成自己的,首先调试通了再说。

  8. 首先感谢,按照博主的方法已经使得两个不同局域网的的电脑互联,可以互相ping通,并且可以访问其中一台电脑假设的局域网网站。有个问题想请问一下博主,n2n是否可以实现其中一台机器访问另外一台机器所在的局域网的其他资源?

    • 可以访问另外一台也安装了N2N,并且拥有共同的超级节点、用户名和密码的电脑上的资源,此时这两台电脑就像是在有线局域网一样的(当然速度没有那个快)。

      • 这个我晓得,我的意思是能不能访问另一台机器B所在的真实局域网的其他资源?当然其他机器是没有安装n2n的。

        • 原则上其他没有安装N2N的机器上的资源是不能被访问的,因为其他机器与你的机器既不在一个真实的局域网内,也不在一个虚拟的局域网内(N2N),所以不能。

          当然,你可以通过装了N2N的那台机器以它的身份来访问其他机器,也是可能的。

发表评论

*