向主机集群中添加主机的前置准备
前置准备
- 已有目标主机或代理主机,若需要申请可参考申请弹性云主机(可选)。
- 已有弹性公网IP,在申请ECS的过程中可同时申请EIP,若需要单独申请可参考申请EIP(可选)。
- 申请ECS后需要配置安全组,可参考配置安全组。
- 为确保主机连通性验证通过,您需要对机器进行以下配置操作:
配置安全组
请在进行主机连通性验证前配置安全组,将部分端口开放,否则会出现连通性验证失败的情况(以Linux系统机器为例)。
- 进入控制台,在页面左上角单击“服务列表 > 计算 > 弹性云服务器”,进入“弹性云服务器”界面。
- 单击目标弹性云服务器名称,进入弹性云服务器详情页面,选择“安全组”页签,如下图所示,单击“ID”,单击操作栏的“配置规则 > 入方向规则”配置入方向规则。
图1 配置规则
- 单击“快速添加规则”,做如下设置:
图2 快速添加规则
- Linux系统机器需在入方向规则中开放22端口,Windows系统机器需在入方向规则中开放54、5985、5986端口,即添加目标主机/代理主机时添加的端口,远端设置为0.0.0.0/0(面向全IP开放以上端口)。
如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,那您至少需要将这些IP地址(部署服务对外IP)加入安全组并放开端口限制,否则将无法进行主机连通性验证。
这些IP地址均为部署服务默认资源池对外开放IP,用于与目标主机、代理主机通信。
- 将主机部署的应用的端口的入方向放开限制(如Tomcat应用的8080端口,或者其他应用的所有端口的入方向必须打开),否则将访问不到该应用。
- 出方向不做限制或者至少可以访问80端口和443端口。
- Linux系统机器需在入方向规则中开放22端口,Windows系统机器需在入方向规则中开放54、5985、5986端口,即添加目标主机/代理主机时添加的端口,远端设置为0.0.0.0/0(面向全IP开放以上端口)。
配置防火墙
检查机器的防火墙配置,配置防火墙允许SSH协议端口被访问,否则会导致连通性验证失败,以下详细介绍不同操作系统的防火墙配置方式。
- Linux防火墙配置方式
表1 Linux防火墙配置方式 操作系统系列
配置方式
CentOS/EulerOS系列/UnionTechOS
- 查看本机是否安装SSH软件包。
rpm -qa | grep ssh
若回显内容中包含openssh-server,则说明已安装。
- 如果没有SSH软件包,执行以下命令。
yum install openssh-server
- 开启SSH服务。
service sshd start
- 打开sshd的配置文件。
vi /etc/ssh/sshd_config
- 去除监听端口前的注释。
- 重启SSH服务。
sudo service sshd restart
- 查看是否开放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系列
- 以root身份登录系统,安装ufw。
apt install ufw
- 开放22端口。
ufw allow 22/tcp
- 查看是否开放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系列
- 查看本机IP。
ifconfig
在返回结果inet后面的数值即为IP地址。
- 查看22端口是否被占用。
netstat -nltp|grep 22
若有输出,说明 22 端口被占用;若无任何输出,说明 22 端口当前未被任何进程监听。
- 若无端口进程,依次执行以下命令。
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,用于与目标主机、代理主机通信。
- 查看本机是否安装SSH软件包。
- Windows防火墙配置方式
本节操作以Windows2012操作系统为例。
- 在Windows目标主机的控制面板中选择“Windows 防火墙设置”。
- 选择“高级设置”。
- 选择“入站规则”。
- 选择“新建规则”。
- 规则类型选择“端口”,然后单击“下一步”。
- 协议和端口分别勾选“TCP”和“特定本地端口”,端口号设置为5986,然后单击“下一步”。
- 操作选择“允许连接”,然后单击“下一步”。
- 配置文件选择全部,然后单击“下一步”。
- 最后,输入规则名称,单击“完成”。到此步骤,您已经完成对目标主机的防火墙配置。
- 如果您需要通过代理主机连接目标主机,则需要重复步骤1~步骤9对代理主机进行同样的防火墙配置。并按照步骤4添加代理机监听端口的入站规则,如54端口。
- (可选)如果您对整体部署过程的安全性有较高的要求,不能面向全IP开放以上端口,可在目标主机上配置访问IP白名单。
- 在Windows主机的控制面板中选择“Windows 防火墙设置”。
- 选择“高级设置”。
- 选择“入站规则”。
- 选择“新建规则”。
- 规则类型选择“自定义”,然后单击“下一步”。
- 程序选择所有程序,然后单击“下一步”。
- 协议类型和本地端口分别勾选“TCP”和“特定本地端口”,端口号设置为5986,然后单击“下一步”。
- 作用域设置中,此规则应用于任何本地IP地址,远程IP地址选择”下列IP地址”,添加白名单地址,然后单击“下一步”。
- 操作选择“允许连接”,然后单击“下一步”。
- 配置文件选择全部,然后单击“下一步”。
- 最后,输入规则名称,单击“完成”。到此步骤,您已经完成对目标主机的IP访问白名单配置。
- 如果您需要通过代理主机连接目标主机,则需要重复步骤1~步骤11在代理主机上进行同样的IP访问白名单配置,并添加代理机监听端口的入站规则,如54端口。
- 在Windows主机的控制面板中选择“Windows 防火墙设置”。