美文网首页
n2n实现内网穿透

n2n实现内网穿透

作者: Li_MAX | 来源:发表于2020-07-22 13:51 被阅读0次

简介

在内网穿透中,N2N做为一个点对点的穿透工具,非常适合用来远程办公。原版的n2n github地址为:https://github.com/ntop/n2n,一个较好的维护版本是:https://github.com/meyerd/n2n
n2n设计的初衷,是为了通过中心节点的牵线搭桥,建立连接以后,不再依靠中心节点的帮助,让连接的两端直接通讯,此种状态叫住直连。然而,实际情况是,使用以前的官方程序,即使是最好的网络环境,也很难直连,实际上多半还是通过中心节点的转发。除了直连和转发,还有一种情况,就是借道,顾名思义,借用别的通道,实现更快传输。注意,为了以示区别,我们把 github 上 meyerd 的 v2 版叫住 v2s,也叫新版(之前叫v2.1),其需要新的中心节点支持,其他的中心节点都不可用。这个新版,用作者的话说,是为 n2n v3 而生的。也许 n2n v3 就要来了!

N2N 的工作原理是什么?特点是什么?

打个比喻:需要买、卖牛的 A、B 互不认识,他们还可能不在一起。他们虽然都有了这个想法,但是对方并不知道,那该怎么办?此时他们都找到了百事通能人 S,在他的帮助下,A、B 就联系上了。如果他们之间语言相通,那么他们就可以撇开 S 直接交流实现买、卖牛的过程,如果不通,那么他们就只好请 S 帮忙翻译了。这次生意结束后,他们就要分手了,可是他们可能连名字、住址都没有,分了手就又成了路人不再相识,下次他们有想法还得找 S。S 是一个大好人,免费帮忙,毫无索取。

这个思想就是 N2N 的工作原理:可能没有外网IP,处于大内网的 A、B,通过中心节点 S 的帮助,建立起“虚拟局域网”,实现了通讯,如果他们之间的网络结构比较好,那么他们之间就建立起直连关系,速度、保密性大大的,如果不好,就只好通过 S 转发了。并且中心节点 S 可以服务许多相互隔离的虚拟局域网,他们互不干扰,独立运行,中心节点也不会知道组内的人在干什么,所以中心节点可以共享给别人使用。N2N 软件免费、开源,布置简单(一行代码即可),缺点就是所有的终端必须运行客户端软件 edge。

N2N 目前有几个版本?

目前有三个版本,他们互不相容,必须分开独立使用。每一个版本都有两个主程序,一个是 edge (客户端),一个是 supernode(服务器端)。edge 和 supernode 必须成对使用,不能用 v1 的 edge 连接 v2 的 supernode。推荐你使用官方新版 V2(2019-6-10 以后的):速度最快、直连率高,最重要的是,官方正在更新,你也可以参与进来,帮助完善。
V1 : https://github.com/meyerd/n2n/tree/master/n2n_v1 (版本号是 v.1.x.x)(使用 edge -h 可见,下同)
V2 : https://github.com/ntop/n2n ---------------------------------(版本号是 v.2.x.x)
V2s: https://github.com/meyerd/n2n/tree/master/n2n_v2 (版本号是 v.2.1.0;V2s 是我们为便于区分,给它取的别名,它其实是一个德国网友写的 n2n v2 分支,非官方版本。曾经在三个版本中,它的直连率和稳定性是最高的)

搭建过程

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

supernode(服务端运行)

前提:外网ip,放开端口,udp可连通

supernode -l 5000 -v -f

-l 指定服务端口
-v -f 调试模式

image.png

服务端也可以同时当做客户端使用,将服务端加入到虚拟网络中。

edge -a 10.0.0.10 -c lgy -k lgy -l 1.2.3.4:5000 -v -f

-a 指定的虚拟ip
-c 组名
-k 组密码 -K 可指定秘钥文件
-l supernode 地址加端口、v2版本可指定两个,高可用

win10使用edge

Windows下的N2N 客户端启动器下载:https://file.bugxia.com/s/FFMfeHrn7geyRPP

image.png

打开n2n.exe。安装虚拟网卡,安装完毕后会在网络适配器界面出现TAP-Windows Adapter V9


image.png image.png

需要注意的是无论是edge 还是supernode,必须是同一个版本。跨版办不兼容

相关文章

  • n2n实现内网穿透

    简介 在内网穿透中,N2N做为一个点对点的穿透工具,非常适合用来远程办公。原版的n2n github地址为:htt...

  • Springboot实现跨域

    为了实现内网穿透,使用的frp。 请求链路:localhost前端—>云端服务器—>经frp穿透内网到localh...

  • localtunnel 实现内网穿透

    20180303 localtunnel 自行搭建服务器的请继续往下翻 简介 由于 ipv4 地址的数量不足,大部...

  • ngrok 实现内网穿透

    最近新买了一台服务器放在家里跑各种杂七杂八的服务,需整一个内网穿透的服务通过外网也能远程登录服务器。很久之前就听闻...

  • frp 实现内网穿透

    一、准备 公网服务器 内网服务器(自己本地服务器) 二、安装frp服务端 2.1 公网服务器执行下面四条命令 2....

  • ngrok实现内网穿透

    什么是内网穿透 内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有...

  • Frp 实现内网穿透

    首先你要有一台公网服务器如果没有公网服务器,可以用NATAPP,请参见这篇教程之前一直想用ngrok来实现,奈何交...

  • frp实现内网穿透

    因为有在外面访问家里 NAS 的需求,群晖自带的动态域名解析访问又太慢。所以需要用内网穿透技术来实现通过其他公网 ...

  • Ngrok实现内网穿透

    先决条件: 云服务器一台 域名 Linux 下载源码和生成证书 编译 先自行安装Go 出现下载失败的,先 再使用g...

  • frp实现内网穿透

    frp简介 FRP 项目地址https://github.com/fatedier/frp/blob/master...

网友评论

      本文标题:n2n实现内网穿透

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