初始化系统环境¶
这一小节主要包括操作系统的版本要求,系统环境的初始配置以及依赖软件的安装。
提示
- 关于系统环境的初始配置,推荐使用 虚拟机镜像 的方式,创建自定义镜像后,通过相同的镜像初始化系统,屏蔽线上环境的系统差异;
操作系统要求¶
当前支持的操作系统以及要求最低版本:
操作系统 | 最低版本 | 使用 WeBASE-Docker 时最低版本 |
---|---|---|
CentOS/RHEL(推荐) | 7.2+ | 7.3+ |
Ubuntu | 16.04+ | 16.04 (LTS) |
检查系统环境¶
检查网络性能¶
在配置主机环境之前,需要先测试一下网络的连通性(IP, 端口),链路以及丢包率,确保节点之间能互相访问,防止因为网络问题降低区块链集群的整体性能。
具体操作:
ping [ip]
- 把 [ip] 替换成目标 IP 地址。比如,另外一个节点的外网 IP 地址
telnet [ip] [port]
- 把 [ip] 替换成目标 IP 地址,[port] 可以使用 SSH 端口,默认 22
mtr -rwc 20 -i 0.2 [ip]
- 把 [ip] 替换成目标 IP 地址。比如,另外一个节点的外网 IP 地址
- 如果系统提示
mtr
命令不存在,使用yum/apt-get install -y mtr
提示
- 如果主机是购买的云服务,需要给主机增加一个外网 IP(或者动态 IP),同时需要注意配置云服务提供的 安全组功能 。在测试端口的连通性时,需要在 安全组中允许端口的访问
配置防火墙¶
防火墙是计算机防止网络入侵的第一道屏障,是主机所有流量的出入口。合理的配置防火墙,有助于提高主机的安全性。
- 注意 屏蔽数据库 3306 端口,不允许外网直接访问
- 只开放必要端口(SSH 22 端口 + 服务应用端口),禁止访问其它端口
- 只允许固定的来源 IP 访问某些服务(非必须)
提示
- 如果是购买云服务,可以使用云服务的 安全组 来设置端口开放,限制来源 IP,也可以搭配主机防火墙一起使用;
配置 DNS¶
如果没有配置正确的 nameserver
地址,会导致我们在访问域名地址时,不能正常解析域名到 IP 地址,导致针对域名的网络连接失败。
检查 /etc/resolv.conf
文件中的 nameserver
配置,添加正确的 nameserver
地址。
配置 SSH¶
SSH 做为提供远程访问计算机的安全协议,通过修改一些配置来提高服务器的安全性。
- 首先需要需要将 OpenSSH 更新到最新版本;
- 禁止
root
用户登录,普通用户可以添加到sudo
组; - 禁止密码安全验证,只能使用公钥登录;
- 优化 SSH 服务器端的性能;