SlapOS Home SlapOS

    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
    • 法国