在 Linux 上安装 n2n[转]

http://os.51cto.com/art/201501/463248.htm

在 Linux 上安装 n2n

若想用 n2n 构建一个 P2P VPN,你需要在每个节点上安装 n2n,包括超级节点。

由于它非常精简的依赖需求,在大多数 Linux 平台上 n2n 都能被轻松编译。

在基于 Debian 的系统上安装 n2n:

  1. $ sudo aptget install subversion buildessential libssldev
  2. $ svn co https://svn.ntop.org/svn/ntop/trunk/n2n
  3. $ cd n2n/n2n_v2
  4. $ make
  5. $ sudo make install

在基于 Red Hat 的系统上安装 n2n:

  1. $ sudo yum install subversion gccc++ openssldevel
  2. $ svn co https://svn.ntop.org/svn/ntop/trunk/n2n
  3. $ cd n2n/n2n_v2
  4. $ make
  5. $ sudo make install

用 n2n 配置一个 P2P VPN

如前文所述,我们需要至少一个超级节点,它将会作为一个初始化引导服务器。我们假设这个超级节点的 IP 地址是 1.1.1.1。

超级节点:

在一个作为超级节点的电脑上运行下面的命令。其中“-l <端口>”指定超级节点的监听端口。运行 supernode 并不需要 root 权限。

  1. $ supernode l 5000

边缘节点:

在每个边缘节点上,使用下面的命令来连接到一个 P2P VPN。edge 守护程序将会在后台运行。

边缘节点 #1:

  1. $ sudo edge d edge0 a 10.0.0.10 c mynetwork u 1000 g 1000 k password l 1.1.1.1:5000 m ae:e0:4f:e7:47:5b

边缘节点 #2:

  1. $ sudo edge d edge0 a 10.0.0.11 c mynetwork u 1000 g 1000 k password l 1.1.1.1:5000 m ae:e0:4f:e7:47:5c

下面是对命令行的一些解释:

  • “-d <接口名>”选项指定了由 edge 命令创建的 TAP 接口的名字。
  • “-a <IP地址>”选项(静态地)指定了分配给 TAP 接口的 VPN 的 IP 地址。如果你想要使用 DHCP,你需要在其中一台边缘节点上配置一台 DHCP 服务器,然后使用“-a dhcp:0.0.0.0”选项来代替。
  • “-c <组名>”选项指定了 VPN 组的名字(最大长度为 16 个字节)。这个选项可以被用来在同样一组节点中创建多个 VPN。
  • “-u”和“-g”选项被用来在创建一个 TAP 接口后降权放弃 root 权限。edge 守护进程将会作为指定的用户/组 ID 运行。
  • “-k <密钥>”选项指定了一个由 twofish 加密的密钥来使用。如果你想要将密钥从命令行中隐藏,你可以使用 N2N_KEY 环境变量。
  • “-l <IP地址:端口>”选项指定了超级节点的监听 IP 地址和端口号。为了冗余,你可以指定最多两个不同的超级节点(比如 -l <超级节点 A> -l <超级节点 B>)。
  • “-m ”给 TAP 接口分配了一个静态的 MAC 地址。不使用这个参数的话,edge 命令将会随机生成一个 MAC 地址。事实上,为一个 VPN 接口强制指定一个静态的 MAC 地址是被强烈推荐的做法。否则,比如当你在一个节点上重启了 edge 守护程序的时候,其它节点的 ARP 缓存将会由于新生成的 MAC 地址而遭到污染,它们将不能向这个节点发送数据,直到被污染的 ARP 记录被消除。

关于xmsg

技术面前人人平等.同时技术也不分高低贵贱.正所谓学无大小,达者为尊.
此条目发表在Linux, RPi分类目录,贴了, , , , 标签。将固定链接加入收藏夹。