# 向主机集群中添加主机的前置准备
 #### 前置准备
- 已有目标主机或代理主机，若需要申请可参考[申请弹性云主机（可选）](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)。使用过程中可能产生费用，详情可参考[ECS计费说明](https://support.huaweicloud.com/price-ecs/ecs_billing_0000.html)。
- 已有弹性公网IP，在申请ECS的过程中可同时申请EIP，若需要单独申请可参考[申请EIP（可选）](https://support.huaweicloud.com/usermanual-eip/eip_0008.html)。使用过程中可能产生费用，详情可参考[EIP计费说明](https://support.huaweicloud.com/price-eip/eip_billing_0002.html)。
- 申请ECS后需要配置安全组，可参考[配置安全组]。
- 为确保主机连通性验证通过，您需要对机器进行以下配置操作：
  - 若您的机器为刚申请的云主机，可参考[配置安全组]进行端口配置。
  
  - 若您的机器为自有主机，可参考[配置防火墙]进行端口配置。
   
 
 #### 配置安全组
请在进行主机连通性验证前配置安全组，将部分端口开放，否则会出现连通性验证失败的情况（以Linux系统机器为例）。
1. 进入控制台，在页面左上角单击"**服务列表 \> 计算 \> 弹性云服务器 ECS**"，进入"弹性云服务器 ECS"界面。
2. 单击目标弹性云服务器名称，进入弹性云服务器详情页面，选择"**安全组** "页签，单击目标安全组对应的"**配置规则 \> 入方向规则** "配置入方向规则。
   
   图1配置规则
   ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002572768408.png "点击放大")
   
   
   
3. 单击"**快速添加规则** "，做如下设置：
   
   图2快速添加规则
   ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002572608772.png "点击放大")
   
   - Linux系统机器需在入方向规则中开放22端口，Windows系统机器需在入方向规则中开放54、5985、5986端口，即添加目标主机/代理主机时添加的端口，远端设置为0.0.0.0/0（面向全IP开放以上端口）。 如果您对整体部署过程的安全性有较高的要求，不能面向全IP开放以上端口，那您至少需要将这些IP地址（[部署服务对外IP](https://support.huaweicloud.com/productdesc-deployman/deployman_pdtd_00002.html#section4)）加入安全组并放开端口限制，否则将无法进行主机连通性验证。这些IP地址均为部署服务默认资源池对外开放IP，用于与目标主机、代理主机通信。
     
   
   - 将主机部署的应用的端口的入方向放开限制（如Tomcat应用的8080端口，或者其他应用的所有端口的入方向必须打开），否则将访问不到该应用。
   
   - 出方向不做限制或者至少可以访问80端口和443端口。
   
   
   
   
 
 #### 配置防火墙
检查机器的防火墙配置，配置防火墙允许SSH协议端口被访问，否则会导致连通性验证失败，以下详细介绍不同操作系统的防火墙配置方式。
- [Linux防火墙配置方式]
  表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 ```   8. 如果您对整体部署过程的安全性有较高的要求，不能面向全IP开放以上端口，可配置访问IP白名单。 在sshd_config文件末尾添加以下命令，并保存。 其中User为自有主机白名单用户名，IP为白名单IP，白名单需包含CodeArts的IP网段: ``` AllowUsers {User}@{IP} ``` 执行命令重启SSH服务： ``` sudo service sshd restart ``` **全部区域（Region）** 请参见[部署服务对外IP](https://support.huaweicloud.com/productdesc-deployman/deployman_pdtd_00002.html#section4)，这些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 ```   4. 如果您对整体部署过程的安全性有较高的要求，不能面向全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](https://support.huaweicloud.com/productdesc-deployman/deployman_pdtd_00002.html#section4)，这些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 ```   4. 如果您对整体部署过程的安全性有较高的要求，不能面向全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](https://support.huaweicloud.com/productdesc-deployman/deployman_pdtd_00002.html#section4)，这些IP地址均为部署服务默认资源池对外开放IP，用于与目标主机、代理主机通信。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     
- [Windows防火墙配置方式]
  本节操作以Windows2012操作系统为例。
  1. 在**Windows** 目标主机的控制面板中选择"Windows 防火墙设置"。
     
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001962610850.png "点击放大")
     
     
  
  2. 选择"高级设置"。 
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001999171121.png)
     
     
  
  3. 选择"入站规则"。 
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001962451046.png)
     
     
  
  4. 选择"新建规则"。
     
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001999091745.png)
     
     
  
  5. 规则类型选择"端口"，然后单击"下一步"。 
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001962610858.png "点击放大")
     
     
  
  6. 协议和端口分别勾选"TCP"和"特定本地端口"，端口号设置为5986，然后单击"下一步"。 
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001999171133.png "点击放大")
     
     
  
  7. 操作选择"允许连接"，然后单击"下一步"。 
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001962451058.png "点击放大")
     
     
  
  8. 配置文件选择全部，然后单击"下一步"。 
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001999091757.png "点击放大")
     
     
  
  9. 最后，输入规则名称，单击"完成"。到此步骤，您已经完成对目标主机的防火墙配置。
     
     ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001962610870.png "点击放大")
     
     
  
  10. 如果您需要通过代理主机连接目标主机，则需要重复[步骤1]\~[步骤9]对代理主机进行同样的防火墙配置。并按照[步骤4]添加代理机监听端口的入站规则，如54端口。
  
  11. （可选）如果您对整体部署过程的安全性有较高的要求，不能面向全IP开放以上端口，可在目标主机上配置访问IP白名单。
      
      1. 在**Windows** 主机的控制面板中选择"Windows 防火墙设置"。
         ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002081754349.png "点击放大")
         
      
      2. 选择"高级设置"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002045635338.png)
         
      
      3. 选择"入站规则"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002081832929.png)
         
      
      4. 选择"新建规则"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002045793630.png)
         
      
      5. 规则类型选择"自定义"，然后单击"下一步"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002081754353.png "点击放大")
         
      
      6. 程序选择所有程序，然后单击"下一步"。
      
      7. 协议类型和本地端口分别勾选"TCP"和"特定本地端口"，端口号设置为5986，然后单击"下一步"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002045635342.png "点击放大")
         
      
      8. 作用域设置中，此规则应用于任何本地IP地址，远程IP地址选择"下列IP地址"，添加白名单地址，然后单击"下一步"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002081832933.png "点击放大")
         
      
      9. 操作选择"允许连接"，然后单击"下一步"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002045793634.png "点击放大")
         
      
      10. 配置文件选择全部，然后单击"下一步"。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002081754357.png "点击放大")
          
      
      11. 最后，输入规则名称，单击"完成"。到此步骤，您已经完成对目标主机的IP访问白名单配置。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002045635350.png "点击放大")
          
      
      12. 如果您需要通过代理主机连接目标主机，则需要重复[步骤1]\~[步骤11]在代理主机上进行同样的IP访问白名单配置，并添加代理机监听端口的入站规则，如54端口。
      
      
      
      
   
