内网穿透工具之n2n

0    155    1

Tags:

👉 本文共约7932个字,系统预计阅读时间或需30分钟。

简介

N2N 是一款开源的P2P VPN软件,其作者是著名的开源网管软件ntop的作者Luca Deri。

N2N 是一个双层架构的VPN,它让用户可以在网络层上开发P2P应用的典型功能,而不是在应用层上开发。这意味着用户可以获取本地IP一样的可见度(比如说,同一个n2n网络内的两台PC机可以相互ping通),并且可以通过n2n虚拟网内的IP地址相互访问,而不必关心当前所属的物理网络地址。可以这样说,OpenVPN是把SSL从应用层转移到网络层实现(比如说实现https协议),而n2n则是把P2P的实现从应用层转移到网络层。

https://github.com/ntop/n2n

https://www.ntop.org/products/n2n/

N2N设计的主要功能

  • N2N 是基于P2P协议之上的两个私有网络间的加密层

  • 加密是在edge节点上执行的,使用开放的协议,用户自己定义密钥:你自己控制自己的安全,不需要委托给第三方公司

  • 每个n2n用户可以同时隶属于多个网络

  • 有NAT和穿越防火墙的功能,即使n2n节点位于私网中,也能够访问,防火墙不再是在IP 层的直接沟通和交流的障碍

  • N2N 网络不是独立的,它是能够跨越N2N和非N2N网络路由的

N2N架构组件

  • Edge 节点:用户PC机上安装的用于建立n2n网络的软件。几乎每个edge节点都会建立一个tun/tap设备,作为接入n2n网络的入口。

  • Supernode 超级节点:它在edge节点间建立握手,或为位于防火墙之后的节点中转数据。它的基础作用是注册节点的网络路径,并为不能直通的节点做路由,能够直通的节点间通信,是P2P的。

Edge 节点间通过虚拟的tap网卡交互。每个tap网卡都是一个n2n edge节点。每台PC机可以有多个tap网卡,所以,在n2n网络中,同一台PC机可以属于多个网络。

其中super node 提供场所,让两个位于NAT/防火墙之后的edge node进行会面,一旦双方完成首次握手,剩下的数据流就之发生在两个edge node之间,如果有一方的NAT属于对称型(symmetrical),super node则还需继续为双方提供数据包的转发;edge node负责数据流的加解密,原理很简单。

与传统的v+p+n的优点

大部分v+p+n,都是通过服务器中转,而n2n是通过udp协议,在两边edge的NAT情况比较好的情况下,会建立两个edge之间的 直接连接,一个北京和一个重庆的两个edge服务器,如果直连成功,之间的下载速度可以达到 n MB/s;当网络条件比较恶劣的时候,数据会从supernode中转,速度就靠到supernode的速度决定;

官网

n2n is a light VPN software which makes it easy to create virtual networks bypassing intermediate firewalls.

In order to start using n2n, two elements are required:

  • A supernode: it allows edge nodes to announce and discover other nodes. It must have a port publicly accessible on internet.
  • edge nodes: the nodes which will be a part of the virtual networks

A virtual network shared between multiple edge nodes in n2n is called a community. A single supernode can relay multiple communities and a single computer can be part of multiple communities at the same time. An encryption key can be used by the edge nodes to encrypt the packets within their community.

n2n tries to establish a direct peer-to-peer connection via udp between the edge nodes when possible. When this is not possible (usually due to special NAT devices), the supernode is also used to relay the packets.

IMPORTANT It is generally recommended to use the latest stable release . Please note that the current dev branch usually is not guaranteed to be backward compatible neither with the latest stable release nor with previous dev states. On the other hand, if you dare to try the bleeding edge features, you are encouraged to compile from dev – just keep track of sometimes rapidly occuring changes. Feedback in the Issues section is appreciated.

N2N网络构架图

内网穿透工具之n2n

其中super node提供场所,让两个位于NAT/防火墙之后的edge node进行会面,一旦双方完成首次握手,剩下的数据流就之发生在两个edge node之间,如果有一方的NAT属于对称型(symmetrical),super node则还需继续为双方提供数据包的转发;edge node负责数据流的加解密,原理很简单。

对于一个VPN而言,主要涉及封装和加解密两个步骤,edge node使用UDP协议进行封装,目的是为了更好的兼容防火墙的策略,因为很多防火墙禁用了非TCP/UDP协议禁用。加密算法则采用了twofish,开源、简便,处理速度快。

N2N安装

地址

通过网友的测试,n2n_v2s直连概率比较高,所以本文暂时只介绍n2n_v2s的安装及使用方法

安装方法

详见 https://github.com/meyerd/n2n/wiki

常用参数说明:

-d:虚拟网卡名称

-a:n2n网卡的ip地址,即本机的n2n的ip

-c:n2n组,只有相同组的edge之间才能进行通讯

-u:如果不想用root来运行edge,则可指定本机账号的uid,windows下可忽略

-g:如果不想用root来运行edge,则可指定本机账号的groupid,windows下可忽略

-k:edge的加密密码

-l:supernode的ip和端口

-m:n2n虚拟网卡的MAC地址

-r:运行edge进行数据转发

-L:本机的内网地址,可以帮助同一个内网之间的通讯为直连,目前是v2s版本特有参数,官方版本暂无

-b:解析域名对应的ip,适用于supernode的ip使用域名来进行连接

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
内网穿透工具之n2n后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部