更新时间:2026-05-26 GMT+08:00
分享

向主机集群中添加主机的前置准备

前置准备

  • 已有目标主机或代理主机,若需要申请可参考申请弹性云主机(可选)。使用过程中可能产生费用,详情可参考ECS计费说明
  • 已有弹性公网IP,在申请ECS的过程中可同时申请EIP,若需要单独申请可参考申请EIP(可选)。使用过程中可能产生费用,详情可参考EIP计费说明
  • 申请ECS后需要配置安全组,可参考配置安全组
  • 为确保主机连通性验证通过,您需要对机器进行以下配置操作:
    • 若您的机器为刚申请的云主机,可参考配置安全组进行端口配置。
    • 若您的机器为自有主机,可参考配置防火墙进行端口配置。

配置安全组

请在进行主机连通性验证前配置安全组,将部分端口开放,否则会出现连通性验证失败的情况(以Linux系统机器为例)。

  1. 进入控制台,在页面左上角单击“服务列表 > 计算 > 弹性云服务器 ECS”,进入“弹性云服务器 ECS”界面。
  2. 单击目标弹性云服务器名称,进入弹性云服务器详情页面,选择“安全组”页签,单击目标安全组对应的“配置规则 > 入方向规则”配置入方向规则。

    图1 配置规则

  3. 单击“快速添加规则”,做如下设置:

    图2 快速添加规则

    • Linux系统机器需在入方向规则中开放22端口,Windows系统机器需在入方向规则中开放54、5985、5986端口,即添加目标主机/代理主机时添加的端口,远端设置为0.0.0.0/0(面向全IP开放以上端口)。

      如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,那您至少需要将这些IP地址(部署服务对外IP)加入安全组并放开端口限制,否则将无法进行主机连通性验证。

      这些IP地址均为部署服务默认资源池对外开放IP,用于与目标主机、代理主机通信。

    • 将主机部署的应用的端口的入方向放开限制(如Tomcat应用的8080端口,或者其他应用的所有端口的入方向必须打开),否则将访问不到该应用。
    • 出方向不做限制或者至少可以访问80端口和443端口。

配置防火墙

检查机器的防火墙配置,配置防火墙允许SSH协议端口被访问,否则会导致连通性验证失败,以下详细介绍不同操作系统的防火墙配置方式。

表1 Linux防火墙配置方式

操作系统系列

配置方式

CentOS/EulerOS系列/UnionTechOS

  1. 查看本机是否安装SSH软件包。
    rpm -qa | grep ssh

    若回显内容中包含openssh-server,则说明已安装。

  2. 如果没有SSH软件包,执行以下命令。
    yum install openssh-server
  3. 开启SSH服务。
    service sshd start
  4. 打开sshd的配置文件。
    vi /etc/ssh/sshd_config
  5. 删除 #Port 22 前的注释符号,按需调整端口号。
  6. 重启SSH服务。
    sudo service sshd restart
  7. 查看是否开放22端口。

    输入如下命令后,会显示当前 ufw 的状态(如 “active” 表示启用)及规则列表。若 22 端口已开放,规则中会明确标注 “22/tcp” 或 “ssh”(因 SSH 默认使用 22 端口)。

    netstat -ntpl | grep 22
    说明:

    如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,可配置访问IP白名单。

    在sshd_config文件末尾添加以下命令,并保存。

    其中User为自有主机白名单用户名,IP为白名单IP,白名单需包含CodeArts的IP网段:

    AllowUsers {User}@{IP}

    执行命令重启SSH服务:

    sudo service sshd restart

    全部区域(Region)请参见部署服务对外IP,这些IP地址均为部署服务默认资源池对外开放IP,用于与目标主机、代理主机通信。

Debian系列

  1. 以root身份登录系统,安装ufw。
    apt install ufw
  2. 开放22端口。
    ufw allow 22/tcp
  3. 查看是否开放22端口。
    输入如下命令后,会显示当前 ufw 的状态(如 “active” 表示启用)及规则列表。若 22 端口已开放,规则中会明确标注 “22/tcp” 或 “ssh”(因 SSH 默认使用 22 端口)。
    ufw status

    若ufw状态为inactive,则执行以下命令启动ufw。

    ufw enable
    说明:

    如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,可配置访问IP白名单。

    执行以下命令,添加ip白名单,其中IP为白名单IP,白名单需包含CodeArts的IP网段。

    ufw allow from {IP} to any port 22

    查看ufw的规则列表,且会为每条规则标注序号,方便后续删除或修改规则。

    ufw status numbered

    禁用SSH连接规则(将源Ip为Anywhere的规则禁用,达到白名单限制目的),其中Number为待禁用规则编号。

    ufw delete {Number}

    全部区域(Region)请参见部署服务对外IP,这些IP地址均为部署服务默认资源池对外开放IP,用于与目标主机、代理主机通信。

Ubuntu系列

  1. 查看本机IP。
    ifconfig

    在返回结果inet后面的数值即为IP地址。

  2. 查看22 端口是否被占用。
    netstat -nltp|grep 22

    若有输出,说明 22 端口被占用;若无任何输出,说明 22 端口当前未被任何进程监听。

  3. 若无端口进程,依次执行以下命令。
    sudo apt-get install openssh-server
    sudo apt-get install ufw
    sudo ufw enable
    sudo ufw allow 22
    说明:

    如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,可配置访问IP白名单。

    执行以下命令,添加ip白名单,其中IP为白名单IP,白名单需包含CodeArts的IP网段。

    sudo ufw allow from {IP} to any port 22

    查看ufw的规则列表,且会为每条规则标注序号,方便后续删除或修改规则。

    ufw status numbered

    禁用SSH连接规则(将源Ip为Anywhere的规则禁用,达到白名单限制目的),其中Number为待禁用规则编号:

    ufw delete {Number}

    全部区域(Region)请参见部署服务对外IP,这些IP地址均为部署服务默认资源池对外开放IP,用于与目标主机、代理主机通信。

本节操作以Windows2012操作系统为例。

  1. Windows目标主机的控制面板中选择“Windows 防火墙设置”

  2. 选择“高级设置”

  3. 选择“入站规则”

  4. 选择“新建规则”

  5. 规则类型选择“端口”,然后单击“下一步”

  6. 协议和端口分别勾选“TCP”“特定本地端口”,端口号设置为5986,然后单击“下一步”

  7. 操作选择“允许连接”,然后单击“下一步”

  8. 配置文件选择全部,然后单击“下一步”

  9. 最后,输入规则名称,单击“完成”。到此步骤,您已经完成对目标主机的防火墙配置。

  10. 如果您需要通过代理主机连接目标主机,则需要重复步骤1~步骤9对代理主机进行同样的防火墙配置。并按照步骤4添加代理机监听端口的入站规则,如54端口。
  11. (可选)如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,可在目标主机上配置访问IP白名单。

    1. Windows主机的控制面板中选择“Windows 防火墙设置”

    2. 选择“高级设置”

    3. 选择“入站规则”

    4. 选择“新建规则”

    5. 规则类型选择“自定义”,然后单击“下一步”

    6. 程序选择所有程序,然后单击“下一步”
    7. 协议类型和本地端口分别勾选“TCP”“特定本地端口”,端口号设置为5986,然后单击“下一步”

    8. 作用域设置中,此规则应用于任何本地IP地址,远程IP地址选择”下列IP地址”,添加白名单地址,然后单击“下一步”

    9. 操作选择“允许连接”,然后单击“下一步”

    10. 配置文件选择全部,然后单击“下一步”

    11. 最后,输入规则名称,单击“完成”。到此步骤,您已经完成对目标主机的IP访问白名单配置。

    12. 如果您需要通过代理主机连接目标主机,则需要重复步骤1~步骤11在代理主机上进行同样的IP访问白名单配置,并添加代理机监听端口的入站规则,如54端口。

相关文档