n2n是一款轻型P2P VPN软件,可轻松创建绕过中间防火墙的虚拟网络。
- 下载源码
#master不是最新版本,需要-b 2.8-stable指定版本
git clone -b 2.8-stable https://github.com/ntop/n2n.git n2n
- 安装工具
工具使用brew安装,如果没有brew 参考:https://brew.sh/index_zh-cn
brew install --cask tuntap
brew install openssl
brew install cmake
- 编译n2n
#在n2n目录中创建build目录
mkdir build
cd build
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl ../
#macos Catalina 10.15 make install 会出现错误 file cannot create directory: /usr/share/man8. Maybe need administrative
#需要手动将cmake_install.cmake 文件中的/usr/share/替换为/usr/local/share/
sudo make install
sudo chmod -R 777 /usr/local/sbin
#添加环境变量
export PATH=$PATH:/usr/local/sbin
4、安装成功
$ edge
Welcome to n2n v. for Darwin-19.6.0
Built on Jan 30 2021 16:55:19
Copyright 2007-2020 - ntop.org and contributors
edge <config file> (see edge.conf)
or
edge -a [static:|dhcp:]<tun IP address> -c <community> [-k <encrypt key>]
[-s <netmask>] [-u <uid> -g <gid>][-f][-n cidr:gateway] [-m <MAC address>] -l <supernode host:port>
[-p <local port>] [-M <mtu>] [-r] [-E] [-v] [-i <reg_interval>] [-L <reg_ttl>] [-t <mgmt port>] [-A[<cipher>]] [-H] [-z[<compression algo>]] [-h]
-a <mode:address> | n2n网卡的ip地址,即本机的n2n的ip。直接填写IP或者使用 DHCP '-r -a dhcp:0.0.0.0'
-c <community> | n2n组,只有相同组的edge之间才能进行通讯
-k <encrypt key> | edge的加密密码
-s <netmask> | 子网掩码 可选 (255.255.255.0).
-l <supernode host:port> | supernode的ip和端口
-i <reg_interval> | 注册时间间隔,用于NAT打洞(默认为20秒)
-L <reg_ttl> | 当通过超级节点UDP NAT打洞时,注册数据包的TTL(默认0不设置)
-p <local port> | 固定本地UDP端口
-u <UID> | 如果不想用root来运行edge,则可指定本机账号的uid,windows下可忽略
-g <GID> | 如果不想用root来运行edge,则可指定本机账号的groupid,windows下可忽略
-f | 带-f时前台运行,不添加-f 参数时作为守护进程运行
-m <MAC address> | n2n虚拟网卡的MAC地址,默认随机设置
| eg. -m 01:02:03:04:05:06
-M <mtu> | MTU 值,默认1290
-r | 启用数据转发功能,当需要访问该设备的局域网时需要设置
-A1 | 禁用载荷加密。不能与key 同时使用(默认为Twofish)。
-A2 ... -A5 or -A | 选择有效载荷加密的密码,需要一个密钥:-A2 = Twofish(默认),
| -A3 or -A (deprecated) = AES-CBC, -A5 = Speck-CTR.
-H | Enable full header encryption. Requires supernode with fixed community.
-z1 ... -z2 or -z | Enable compression for outgoing data packets: -z1 or -z = lzo1x (default=disabled).
-E | 接受多播MAC地址(默认=drop)
-S | 不要连接P2P ,总是使用超级节点转发数据
-n <cidr:gateway> | 通过gw路由IPv4网络。使用0.0.0.0/0作为默认gw。可多次设置。
-v | 详细日志
-t <port> | 管理UDP端口(用于机器上的多个edges)。
环境变量:
N2N_KEY | 加密密钥(ASCII)
4、客户端配置
supernode.ml 提供了公开N2N中心节点http://www.supernode.ml/
A设备启动
sudo edge -a 172.0.0.2 -c community -k encryptKey -l n2n.laiyx.win:10086 -f
B设备启动
sudo edge -a 172.0.0.3 -c community -k encryptKey -l n2n.laiyx.win:10086 -f
基本组网完成
N2N 编译说明文档:https://github.com/meyerd/n2n/wiki
网友评论