初始化系统环境

这一小节主要包括操作系统的版本要求,系统环境的初始配置以及依赖软件的安装。

提示

  • 关于系统环境的初始配置,推荐使用 虚拟机镜像 的方式,创建自定义镜像后,通过相同的镜像初始化系统,屏蔽线上环境的系统差异;

操作系统要求

当前支持的操作系统以及要求最低版本:

‌操作系统  ‌最低版本  ‌使用 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 服务器端的性能;