SlapOS教程 - 安装SlapOS (Comp-0)节点

终版 - 如何在SlapOS上安装第一个节点 (COMP-0)
  • Last Update:2020-04-16
  • Version:002
  • Language:zh

安装SlapOS节点

本教程将指导您在计算机上安装SlapOS节点。该节点是安装SlapOS Master( COMP-ROOT )之后要创建的第一个节点( COMP-0 )。此节点为主节点和网络中的其他节点( COMP-123 )提供以下服务:

  • Re6st注册表 - 用于管理节点网络,提供IPv6和发出访问令牌的寄存器;
  • Frontend (Caddy) - 用户请求的网关,允许通过浏览器访问网络内部服务;

为完成本教程,您需要一个SlapOS Master和(第一个)用户帐户。你可以使用您自己安装的SlapOS Master ,也可以使用像Vifib这样的商业服务器 ,来注册您的节点。另外还需要另一台计算机来安装SlapOS节点。本教程将使用来自云供应商的任意安装了wget 的GNU / Linux服务器(OVHOnline.net的Debian )。

目录

  • 安装SlapOS节点;
  • 提供Frontend(Caddy);
  • 提供Re6st注册表;
  • 在SlapOS节点上安装Re6st。

安装SlapOS节点

本节将介绍在SlapOS COMP-0节点上安装软件的步骤。大多数步骤与安装其他节点类似;但由于安装此节点时尚没有所需的服务,安装步骤的顺序则有所不同。

SlapOS仪表盘 - 登录

SlapOS接口 -  SlapOS仪表盘

在SlapOS Master仪表盘登录:

[master-instance-IPv4]/erp5/web_site_module/hostingjs/
使用第一个用户凭据登录。单击侧面的“ Servers(服务器)”链接转到服务器列表。

 

SlapOS服务器列表 - 请求令牌

SlapOS节点安装 - 请求关联令牌

将新的节点添加到网络需要访问令牌。所需令牌是X509安全令牌,可通过SlapOS Master识别您的新节点,并使其能够在网络中对节点进行管理。要获得此类令牌,请在子标题中单击“ Token(令牌)”

请注意 :这是一次性令牌。也就是说如果SlapOS的安装由于某些原因未能成功,则需要请求新令牌。

保存SlapOS关联令牌

SlapOS节点安装 - 关联令牌

单击Proceed(继续)请求令牌。一旦生成后,请复制令牌以便日后使用。

添加临时IPv6地址

sudo su

# include temporary IPv6 on lo
ip -6 addr add fc01::1/32 dev lo

前往终端并访问您的服务器。 由于COMP-0安装完成后才能向SlapOS网络提供Re6st和IPv6,因此此时尚不可以使用IPv6。您需要添加临时IPv6地址范围,正如上面的代码所示。

原理:SlapOS内部运行需要IPv6和Re6st。之后会安装Re6st ,以便在异构环境(分布式机器,不同类型)中使用IPv6。

稍后您将在COMP-0上部署并实例化Re6st注册表,以提供IPv6和Re6st访问令牌。但是,为了部署它,需要安装SlapOS;且安装SlapOS,需要IPv6。因此,我们将使用临时IPv6地址范围,直到注册表可用。在正确安装Re6st并自动添加IPv6之前会将其删除。

单线安装程序

sudo su
# wget deploy.erp5.net/slapos && bash slapos

...

What is the url to the SlapOS Master API? [https://slap.vifib.com/]: 
What is the url to the SlapOS Master Website? [https://slapos.vifib.com/]: 
What is this computer name? [noname]:
If you have slapos token if you have? [notoken]:

继续并使用单行安装程序。安装过程中会有几个问题选项。您正在连接到自己的主节点,所以对于第一个问题选项,请选择您主节点IPv4地址的端口5443https:// [IPv4]:5443 );至于第二个问题,请添加您的SlapOS Master仪表盘URL https: // [IPv4的]:443 / ERP5 / web_site_module / hostingjs /

为您的计算机命名以便在网络中方便识别,最后输入您之前收到的关联令牌。如果出现问题或者您想要更改一些已输入的参数,您可以重复安装过程。

一旦安装准确完成,您应该看到:

...
PLAY RECAP *********************************************************************
127.0.0.1                  : ok=12   changed=4   unreachable=0   failed=0

如果安装失败并且您想重新开始,则需要如上所述请求新令牌。若是已创建配置,在重新启动之前请删除/etc/opt/slapos/slapos.cfg中的现有任何配置。

您可以通过以下方式确认是否已成功安装SlapOS:

# slapos node
watchdog                   RUNNING   pid 13270, uptime 0:00:03

并且(重新)格式化SlapOS节点:

# slapos node format --now
2018-04-21 13:07:29 slapos[13279] INFO Updating Computer
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart0
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart1
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart2
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart3
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart4
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart5
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart6
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart7
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart8
2018-04-21 13:07:30 slapos.format[13279] INFO Partition resources saved to slappart9
2018-04-21 13:07:30 slapos[13279] INFO Posting information to 'https://54.37.31.108:
  5443/'
2018-04-21 13:07:30 slapos[13279] INFO slapos successfully prepared the computer.

SlapOS仪表盘 - 已注册的服务器

SlapOS  - 服务器列表

返回到SlapOS仪表盘的服务器列表,它现在已包含您的新节点,这个节点您已用刚创建的令牌使其与网络相关联。现在您需要刷新页面,以显示新添加的服务器。

请注意 :服务器条目 (entry) 有三个可点击区域:

  • 该行本身(例如:单击server name(服务器名称) )。它连接服务器配置;
  • 电脑 (Computer) 按钮。监视器开关 - 绿色表示服务器处于活动状态并与Master联系;
  • 分区按钮。由于尚未使用分区服务,该按钮仍处于未激活状态。

关于有色指标:

  • 绿色 - 服务器/分区定期联系SlapOS Master;
  • 黄色 - 其中一个服务器/分区进程遇到问题;
  • 红色 - 服务器不再连接SlapOS Master。

提供Frontend(Caddy)

在COMP-0节点上安装的第一个软件是Frontend(Caddy)。要实例化前端,需要使用通配符SSL证书。如果没有证书, 请按照如何申请通配符SSL证书(letsencrypt)的步骤进行操作,然后再继续。

SlapOS中前端的使用:

  • 对不使用IPv6的最终用户提供解决方案;
  • 使用有效证书提供安全的https连接;
  • 通过中央可审计的入口点进行路径访问;
  • 在内部提供URL而不是显示IPv6地址。

提供服务前端

Slapos仪表盘 - 在COMP-0上提供服务前端Apache

选择任何可用的从节点并单击Server(服务器)(不是绿色的“计算机(Computer)”或“分区(Partitions)”按钮)。在我们的示例中,我们当前只注册了一个没有激活分区的节点,选择此节点,打开它的配置。您可以在界面底部Supplied Software(软件提供)中看到此节点当前没有安装任何软件。

继续,请单击子标题中的“ Supply(供应)”,打开可在此节点上安装的可用软件(版本)列表。

选择前端软件版本

SlapOS仪表盘 - 选择需要提供的软件版本

选择预装在SlapOS上的Frontend(Caddy)软件版本(有关详细信息,请参阅如何将软件添加到SlapOS Master )。

选择前端软件发行版

SlapOS仪表盘 - 选择软件版本

选择最新版本。

启动前端软件版本安装

SlapOS仪表盘 - 启动软件版本安装

以下对话框总述了要安装的软件版本,包括将安装这些软件的计算机。单击Proceed(继续)

等待前端安装

SlapOS仪表盘 - 访问计算机

您将转到安装状态页面。安装将花费一些时间,具体取决于您要安装的软件。因此请先刷新当前页面或直接检查安装状态,方法是转到“ Server(服务器)”列表,然后选择在安装过程中选用的计算机或直接单击“ Computer Reference(计算机参照)”

您可以在您的终端使用以下命令查看slapos-node-software.log,进行编译和安装。

# tail /opt/slapos/log/slapos-node-software.log -f
或直接使用# slapos node software

确认前端安装

SlapOS仪表盘 - 确认安装成功

您可以在底部列表中看到已安装的服务现在可用。 指示灯将保持红色,直到软件完成编译和安装。 一旦刷新页面,安装状态栏变为绿色,安装就完成了。此节点现在可以提供Frontend(Caddy)实例。

实例化服务列表

SlapOS仪表盘 - 添加服务

单击侧面菜单上的“ Services(服务)”按钮,转到服务列表。该列表将显示当前实例化的所有服务(不是当前安装的软件!)。要创建已安装软件的实例,请单击子标题中的“ Add(添加)”按钮。

选择前端服务

SlapOS仪表盘 - 选择服务

可用服务列表与先前安装服务时使用的可安装软件版本列表相同。选择Frontend(Caddy),即我们想要的服务。

选择前端服务版本

SlapOS仪表盘 - 选择服务版本

在安装过程中,请选择最新版本。

前端服务配置

SlapOS仪表盘 - 前端实例配置

您将进入前端配置菜单。它包含一种特定于软件的参数以及通用XML配置字段(默认隐藏 - 显示请单击“Show Parameter XML(显示XML参数)”按钮)。

Software-Type请选择custom personal ,然后填写表单。不要忘记给前端命名,并确保在表单末尾选择的计算机是您创建的计算机。否则,SlapOS Master将自行查看应该在哪个节点上创建实例(与当前情况不相关,因为只有一台计算机)。

如下填写表格:

  • 标题:FRONTEND
  • 软件类型:Custom Personal
  • 公共IPv4:[IP_OF_YOUR_SERVER]
  • IPReadLimit:40
  • 测试验证url: https://www.erp5.com/getId
  • Caddy密钥:[AAA]
  • Caddy证书:[BBB]
  • Caddy CA证书:[CCC]
  • 域名:[域名]
  • 电脑:[COMP-XXXX]

或者,您可以选择单击“Show parameter XML(显示XML参数)”并填写以下XML配置参数:

<?xml version="1.0" encoding="utf-8"?>
<instance>
    <parameter id="public-ipv4">[IP_OF_YOUR_SERVER]</parameter>
    <parameter id="ip-read-limit">40</parameter>
    <parameter id="re6st-verification-url">https://www.erp5.com/getId</parameter>
    <parameter id="apache-key">[AAA]</parameter>
    <parameter id="apache-certificate">[BBB]</parameter>
    <parameter id="apache-ca-certificate">[CCC]</parameter>
    <parameter id="domain">[domain]</parameter>
    <parameter id="-frontend-quantity">1</parameter>
    <parameter id="-frontend-type">custom-personal</parameter>
    <parameter id="-sla-1-computer_guid">[COMP-XXXX]</parameter>
</instance>

使用:

  • [IP_OF_YOUR_SERVER] :从属服务器的IPv4地址(debian@xxx.this.one.xxx)
  • [AAA] :ssl密钥(privkey.pem)
  • [BBB] :ssl证书(cert.pem)
  • [CCC] :ssl ca证书(chain.pem)
  • [domain] :您正在使用的域名(此处: slaptest.erp5.net
  • [COMP-XXXX] :将创建此前端分区的计算机。

单击Proceed(继续)开始实例化。

实例化和端口转发

SlapOS仪表盘 -  Socat端口转发

刷新当前服务列表以显示新服务和状态。

您可以使用以下命令在slapos-node-instance.log查看编译进度:

# tail /opt/slapos/log/slapos-node-instance.log -f
或直接在终端中调用# slapos node instance

前端将安装在计算机分区内,并将侦听端口80804443 。由于Linux系统中的权限阻止用户访问小于1024的端口,因此必须将公共端口80443上的输入流量转发到前端正在侦听的正确端口。

可以使用带NAT遍历的防火墙或使用Socat完成 。这里将使用Socat(用于两个独立流量通道之间双向流量传输的继电器)。流量通道可以是文件,管道,设备(终端或调制解调器等)或套接字(Unix,IP4,IP6 - raw,UDP,TCP)等。详细信息,请参阅Free Software Directory(自由软件目录) )。

要安装socat,请前往您的终端:

sudo su
# sudo apt-get install socat

在其配置文件夹中找到前端使用的IPv6地址:

root@slapostest2:/# cat /srv/slapgrid/slappart*/etc/apache_frontend.conf | grep "Listen"
Listen 10.0.176.4:8080
Listen 10.0.176.4:4443
Listen [fc01::xxxx]:8080
Listen [fc01::xxxx]:4443


Use the IPv6 adresses for ports 8080 and 4443.
Listen [fc01::e5d4]:8080
Listen [fc01::e5d4]:4443

然后调用socat:

root@slapostest2:/# socat  TCP4-LISTEN:80,fork TCP6:[fc01::xxxx]:8080 &
socat TCP4-LISTEN:443,fork TCP6:[fc01::xxxx]:4443 &

查看绑定是否处于激活状态,您可以

root@slapostest2:/# ps aux | grep socat
debian    4299  0.0  0.0  12728  2208 pts/0    S+   11:04   0:00 grep socat
root     24449  0.0  0.0  19644  2696 ?        S    Mar20   0:00 socat 
  TCP4-LISTEN:80,fork TCP6:[fc01::xxxx]:8080
root     24674  0.0  0.0  19644  2604 ?        S    Mar20   0:00 socat 
  TCP4-LISTEN:443,fork TCP6:[fc01::xxxx]:4443

您还可以在浏览器中访问您的前端URL foobar.slaptest.erp5.net来验证端口转发是否正常。如果成功,侦听器应转发到前端正在侦听的IPv6地址,可能出现以下内容:

此实例尚未找到。

如果此错误仍然存在,请检查您在SlapOS Master上实例的URL和状态。

 

如果前端不可访问或不可再访问,您可以通过以下方式检查您的节点:

 

sudo su
# slapos node
slappart8:bootstrap-monitor                EXITED    May 22 04:16 PM
slappart8:certificate_authority-on-watch   RUNNING   pid 891, uptime 16:51:03
slappart8:crond-on-watch                   RUNNING   pid 883, uptime 16:51:03
slappart8:frontend-apache-safe-graceful    EXITED    May 22 04:16 PM
slappart8:frontend-nginx-safe-graceful     EXITED    May 22 04:16 PM
slappart8:frontend_apache-on-watch         RUNNING   pid 887, uptime 16:51:03
slappart8:frontend_nginx-on-watch          RUNNING   pid 889, uptime 16:51:03
slappart8:monitor-httpd-graceful           EXITED    May 22 04:16 PM
slappart8:monitor-httpd-on-watch           RUNNING   pid 885, uptime 16:51:03
slappart8:trafficserver-on-watch           RUNNING   pid 888, uptime 16:51:03
slappart8:trafficserver-reload             EXITED    May 22 04:16 PM
slappart9:bootstrap-monitor                EXITED    May 22 04:15 PM
slappart9:certificate_authority-on-watch   RUNNING   pid 681, uptime 16:52:02
slappart9:crond                            RUNNING   pid 684, uptime 16:52:02
slappart9:monitor-httpd-graceful           EXITED    May 22 04:15 PM
slappart9:monitor-httpd-on-watch           RUNNING   pid 680, uptime 16:52:02
watchdog                                   RUNNING   pid 26276, uptime 17:53:03

如果前端正在运行,请检查socat是否正在运行:

# ps aux | grep "socat"
root      3234  0.0  0.0  12728  2180 pts/0    S+   09:02   0:00 grep socat

如果socat不再运行,则重新和socat绑定以再次和前端连接。

监控URL连接参数

SlapOS仪表盘 - 服务前端Apache连接参数

在仪表盘上设置端口转发后,单击“ Services(服务)”菜单并选择前端项来重新打开其配置页面。

如果端口转发已正确设置,您的实例现在应该是绿色状态。

验证服务前端是否可访问

监视器接口 - 添加OPML

一旦状态变为绿色并且实例化成功完成,这时,应该有许多连接参数可用。单击monitor-setup-url ,然后点击Save(保存)

监控界面 - 托管订阅列表

单击“ Hosting Subscription(托管订阅) ” 查看您正在监视的所有实例的列表。单击“ Synchronize(同步)”来刷新列表以及所有受监视实例的状态。

监控界面 - 托管订阅详细信息

如果单击您的实例,您将得到此实例详细信息。请注意,“SlapOS instance”(您在“Hosting Subscriptions(托管订阅)”列表中可以看到)是SlapOS一项服务的实例,可以由几个较小,被称为“软件实例”的实例组成。

监控界面 - 实例视图

单击某个软件实例,您将看到该实例的所有可用信息。您需要单击“Synchronize(同步)”才能获得最新状态。单击“Synchronize(同步)”时,监视器将获取所有已订阅实例的最新信息。当订阅实例数量过多时,这个过程可能需要很长时间。

实例化服务列表

SlapOS仪表盘 - 添加服务

接下来,我们将创建前端的第二个实例,一个更易使用URL来访问SlapOS仪表盘的实例。返回“ Services(服务)”菜单,然后单击“ Add(添加)”。

选择前端服务实例

SlapOS仪表盘 - 选择服务

再次选择前端 (Frontend)。

选择前端服务版本

SlapOS仪表盘 - 选择服务版本

请选择最新版本。

从属前端配置参数

SlapOS接口 - 前端从节点配置参数

Software-Type 请选择Custom Personal(Slave)并为您的从属前端提供一个可识别的名称。添加您希望此前端连接的后端URL 。如图所示,这是连接SlapOS Master仪表盘的URL。后端URL:

https://54.37.31.10/erp5/web_site_module/hostingjs/

连接仪表盘。将Custom Domain(自定义域)Server Alias(服务器别名)设置为要使用的通配符域

master.slaptest.erp5.net

然后向下滚动到页面底部,(不要忘记)选择提供从属前端的计算机。

单击Proceed(继续)并请求实例化。

从属前端实例化

SlapOS Interface - Instantiate Service Frontend Slave

您将转回已部署的服务列表。可能需要刷新页面才能显示新实例。一旦可以看到新实例,单击此条目打开连接参数。

从属前端连接参数

SlapOS接口 - 服务前端从节点连接参数

实例可能需要几分钟才能使用。不时刷新页面,直到连接参数表显示参数。 一旦 Secure Access(安全访问)条目显示您正在等待的url,从属前端已完成设置并开始正常工作。

从属前端正在运行

SlapOS接口 - 确认前端从节点可访问

如果您前往所请求的URL( master.slaptest.erp5.net ),您可以看到它连接所选的后端URL。

如果您在加载页面时遇到问题,请尝试通过ssh协议连接到您的节点来重新启动前端,找到frontend_apache-on-watch进程并重新启动它。

sudo su
# slapos node 
slappart8:bootstrap-monitor                EXITED    Mar 20 02:28 PM
slappart8:certificate_authority-on-watch   RUNNING   pid 12137, uptime 0:33:54
slappart8:crond-on-watch                   RUNNING   pid 12125, uptime 0:33:54
slappart8:frontend-apache-safe-graceful    EXITED    Mar 20 02:28 PM
slappart8:frontend-nginx-safe-graceful     EXITED    Mar 20 02:28 PM
slappart8:frontend_apache-on-watch         EXITED    Mar 20 02:28 PM
slappart8:frontend_nginx-on-watch          RUNNING   pid 12136, uptime 0:33:54
slappart8:monitor-httpd-graceful           EXITED    Mar 20 02:28 PM
slappart8:monitor-httpd-on-watch           RUNNING   pid 12128, uptime 0:33:54
slappart8:trafficserver-on-watch           RUNNING   pid 12134, uptime 0:33:54
slappart8:trafficserver-reload             EXITED    Mar 20 02:28 PM
slappart9:bootstrap-monitor                EXITED    Mar 20 02:29 PM
slappart9:certificate_authority-on-watch   RUNNING   pid 11866, uptime 0:36:16
slappart9:crond                            RUNNING   pid 11867, uptime 0:36:16
slappart9:monitor-httpd-graceful           EXITED    Mar 20 02:29 PM
slappart9:monitor-httpd-on-watch           RUNNING   pid 11865, uptime 0:36:16
watchdog                                   RUNNING   pid 24426, uptime 7 days,...

要重新启动服务,您可以使用slapos node restart slappart8:frontend_apache-on-watch

提供Re6st注册表

本节将介绍供应和实例化Re6st 注册表所需的步骤。

Re6st在SlapOS中用于创建网状网络并通过可用节点路由流量。在配置COMP-0时设置Re6st。首先需要实例化Re6st注册表,它是管理网络中所有Re6st节点的寄存器,并发出令牌以便新节点加入( 注意:Re6st令牌不是SlapOS X509令牌)。

在节点上安装Re6st软件版本

Slapos仪表盘 - 在COMP-0上提供服务Re6st注册表

选择任何可用的从节点。您可以在界面底部“ Supplied Software(软件提供)”中看到此节点现在已安装Frontend(Caddy)软件版本。我们将以相同的方式添加Re6st。

单击“ Supply (供应)”

选择Re6st软件版本

SlapOS仪表盘 - 选择需要提供的软件版本

选择Re6st软件版本。

选择Re6st软件发行版

SlapOS仪表盘 - 选择软件版本

选择最新版本。

启动Re6st软件版本安装

SlapOS仪表盘 - 启动软件版本安装

以下对话框总结了要安装的软件版本以及将要安装软件的计算机。单击Proceed(继续)以启动实例化。

等待Re6st安装

SlapOS仪表盘 - 访问计算机

安装需要一些时间,具体取决于您要安装的软件。因此,请先刷新当前页面或直接检查安装状态,方法是转到“ Servers(服务器)”列表,然后选择安装期间选用的计算机或直接单击“ 计算机参照”

确认安装Re6st

SlapOS仪表盘 - 确认安装成功

您可以看到已安装的服务中现在包含Re6st。指示灯将保持红色,直到软件完成编译和安装。 一旦刷新页面,安装状态栏变为绿色,安装就完成了。

您可以在您的终端使用以下命令在slapos-node-software.log查看编译进度:

# tail /opt/slapos/log/slapos-node-software.log -f

或直接调用slapos node software

实例化服务列表

SlapOS仪表盘 - 添加服务

一旦完成安装,点击在侧边菜单中的Service(服务),转到服务列表。然后单击添加

创建新的Res6st注册表实例

SlapOS仪表盘 - 选择服务

可用服务列表与先前安装服务时使用的可安装软件版本列表相同。选择我们想要的Re6st服务。

选择Re6st服务版本

SlapOS仪表盘 - 选择服务版本

在安装过程中,请选择最新版本。

Re6st注册表配置

SlapOS仪表盘 -  Re6st注册表服务配置参数

添加可识别名称后,software-type请选择Default ,然后提供以下参数:

IPv6 prefix: fc01::/7
Default length of allocated prefix: 16

不要忘记在表单末尾选择您的计算机,以防止SlapOS Master在其选择的计算机上分配注册表。

单击Proceed(继续)开始实例化。您将转到当前的服务列表。

Socat端口转发

SlapOS接口 - Re6st服务实例化

刷新页面以显示您的实例和安装状态。

您可以通过以下命令在slapos-node-instance.log来查看编译进程:

# tail /opt/slapos/log/slapos-node-instance.log -f
或直接使用slapos node instance

 

由于注册表正在侦听端口19201,并且Linux系统中的权限阻止用户访问1024以下的端口,因此必须转发流量。

可以使用带NAT遍历的防火墙或使用Socat来完成 。这里将使用Socat(用于两个独立流量通道之间双向流量传输的继电器)。流量通道可以是文件,管道,设备(终端或调制解调器等)或套接字(Unix,IP4,IP6 - 原始,UDP,TCP)等。有关详细信息,请参阅自由软件目录 )。

要安装socat,请前往您的终端:

sudo su
# apt-get install socat

仍在您的终端中,开始查看注册表是否已完成安装(使用# slapos node instance查看安装进度):

# netstat -natp | grep 9201
tcp   0  0 10.0.27.44:9201       0.0.0.0:*          LISTEN       26027/python2.7
tcp   0  0 10.0.27.44:40706      10.0.27.44:9201    TIME_WAIT    -
tcp   0  0 10.0.27.44:40699      10.0.27.44:9201    TIME_WAIT    -
tcp   0  0 10.0.27.44.9201       10.0.27.44.:40655  TIME_WAIT    -
tcp   0  0 :::9201               :::*               LISTEN       26027/python2.7

使用以下方式查找IP:

# ifconfig eth0 | grep inet
            inet addr:167.114.246.26  Bcast:167.114.246.26  Mask:255.255.255.255

然后使用侦听tcp条目和inet addr调用Socat:

# socat TCP4-LISTEN:9201,fork,bind=167.114.246.26 TCP4:10.0.27.44:9201 &

请注意 :示例中的注册表master-url是167.114.246.26:9201保存#此URL 。只要您想将新节点连接到网络,您就需要提供此URL。

要验证端口转发是否有效,您可以:

# ps aux | grep socat

root 1954  0.0  0.0  19648  1748 pts/1 S  12:46 0:00 socat TCP4-LISTEN
  :9201,fork,bind=167.114.246.26 TCP4:10.0.232.26:9201
root 1963  0.0  0.0  12728  2224 pts/1 S+ 12:46 0:00 grep socat
root 3309  0.0  0.0  19648  2688 pts/0 S  09:03 0:00 socat TCP4-LISTEN
  :80,fork TCP6:[fc01::b566]:8080
root 3310  0.0  0.0  19648  2740 pts/0 S  09:03 0:00 socat TCP4-LISTEN
  :443,fork TCP6:[fc01::b566]:4443

在完成之前,请确保已删除在安装SlapOS节点期间添加的任何临时IPv6地址空间 。 在您的终端上,请运行:

sudo su
# ip -6 addr del fc01::1/32 dev lo

创建第一个(网关)节点时将重置IPv6。

验证Re6st是否可访问

SlapOS Re6st注册表服务可访问性

设置端口转发后,尝试通过Registry master-url 167.114.246.26:9201访问注册表。记下此URL,每次要在新的网络新服务器上安装Re6st时都需要提供此URL。

在SlapOS节点上安装Re6st

在节点上实例化注册表之后,现在是时候在SlapOS节点上安装Re6st了。包括获取Re6st访问令牌并运行单行安装程序。

实例化服务列表

SlapOS仪表盘 - 添加服务

点击在侧边菜单中的Service(服务)键,转到服务列表。再点击自标题中的Add(添加)

创建新的Res6st令牌实例

SlapOS仪表盘 - 选择服务

选择我们想要Re6st服务。通过Software-Type参数配置,注册表和令牌之间将有所不同。

选择Re6st服务版本

SlapOS仪表盘 - 选择服务版本

在安装过程中,请选择最新版本。

Re6st注册表配置

SlapOS仪表盘 -  Re6st令牌服务配置参数 k

Software Type(软件类型) 请选择 Re6st Token ,加载具有特定于实例的参数表单。如上所述,令牌实际上是注册表的从实例(在COMP-0的情况下,它则是第一个网关节点)。

每个新节点都需要一个令牌,因此请为此令牌指定一个可识别的名称(例如:Re6st-COMP-0 )。

在页面底部选择要安装SlapOS Master注册表的 Computer(计算机) ,然后单击Proceed (继续)以实例化该服务,并转发到当前服务列表。刷新页面,可能需要几分钟才能实例化节点并显示令牌。这是一种单次使用令牌,用来添加一个新的节点至网络。

实例化Re6st令牌

SlapOS仪表盘 - 服务Re6st令牌实例化

单击Proceed(继续)实例化新令牌。刷新实例化服务列表以显示令牌。单击访问连接参数。

令牌连接参数

SlapOS接口 -  Re6st令牌连接参数

在“连接参数”中找到令牌。可能需要几分钟才能显示出来。刷新页面以查看令牌是否已实例化。

您现在可以在此计算机上安装Re6st。再次删除临时IPv6后,将添加真正的的IPv6。

安装Re6st

sudo su
# wget https://deploy.erp5.net/re6st && bash re6st

通过ssh协议连接到COMP-0终端并使用wget安装Re6st,如上所示。脚本可能会要求您:

What is the Url of the Re6st registry [https://re6stnet.nexedi.com]:
Please insert your re6stnet token [notoken]:

提供前面提到的master_urlhttp://[your_IPv4]:9201 )以及在前面步骤中创建的令牌并继续。请正确完成设置:

...
PLAY RECAP *********************************************************************
127.0.0.1                  : ok=24   changed=7   unreachable=0   failed=0

验证创建的文件

sudo su
# ls /etc/re6stnet/
ca.crt     cert.cert     cert.key     re6stnet.conf     README

确认配置文件是否已创建。

更新Re6st配置文件

sudo su
# nano /etc/re6stnet/re6stnet.conf
registry http://167.114.246.26:9201/
ca ca.crt
cert cert.crt
key cert.key
# increase re6stnet verbosity:
#verbose 3
# enable OpenVPN logging:
#ovpnlog
# increase OpenVPN verbosity:
#O--verb
#O3
O--socket-flags
O"TCP_NODELAY"
...

您需要将master_url IPv4地址添加到Re6st配置文件中,因为它是第一个网关节点。在此示例中,添加:

# added the following to the end of the file first node
ip 167.114.246.26
gateway

然后使用service re6stnet restart 来重启 Re6st。

确认Re6st正在运行

sudo su
# service re6stnet status

您可以使用上面的命令查看Re6st是否正常工作。输出应类似于:

● re6stnet.service - (null)
   Loaded: loaded (/etc/init.d/re6stnet)
   Active: active (running) since Fri 2018-03-09 16:43:23 UTC; 6min ago
   Process: 26395 ExecStop=/etc/init.d/re6stnet stop (code=exited, status=0/SUCCESS)
   Process: 26423 ExecStart=/etc/init.d/re6stnet start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/re6stnet.service
           ├─26431 /opt/re6st/parts/python2.7/bin/python2.7 /usr/sbin/re6stnet 
@re6stnet.conf
           ├─26437 openvpn --dev-type tap --dev re6stnet-tcp --persist-tun --per
sist-key --script-security 2 --up /opt/re6st/eggs/re6stnet-0.485-py2.7.egg/re6st
/ovpn-client --tls-server --mode server --clien...
           ├─26444 babeld -h 15 -H 15 -L /var/log/re6stnet/babeld.log -S /var/li
b/re6stnet/babeld.state -I /var/run/re6stnet/babeld.pid -s -C ipv6-subtrees true
-C default max-rtt-penalty 5000 rtt-max 500 rt...
           ├─26537 openvpn --dev-type tap --dev re6stnet1 --persist-tun --persis
t-key --script-security 2 --up /opt/re6st/eggs/re6stnet-0.485-py2.7.egg/re6st/ov
pn-client --nobind --client --remote 163.172.45...
           └─26862 openvpn --dev-type tap --dev re6stnet2 --persist-tun --persis
t-key --script-security 2 --up /opt/re6st/eggs/re6stnet-0.485-py2.7.egg/re6st/ov
pn-client --nobind --client --remote 52.36.124....

  Mar 09 16:43:23 slapostest2 systemd[1]: Started (null).

此时,COMP-0节点已完全设置好并正常工作。 您现在可以继续向网络添加其他节点

十分感谢!

图片Nexedi办公室
  • Nexedi SA
  • 147 Rue du Ballon
  • 59110 La Madeleine
  • 法国