
微米链主节点VPS设置教学
设置主节点需要对Linux和区块链技术有基本的了解,并具有严格遵循说明的能力。 它还需要定期维护和仔细的安全保护。 在此过程中需要做出一些决定,并采取可选的额外步骤来提高安全性。
设置您的VPS
VPS(通常称为云服务器)是在虚拟机中运行的操作系统(通常是Linux)的功能齐全的安装。 虚拟机允许VPS提供程序在一台物理服务器上运行多个系统,与在每个服务器的“裸机”上运行单个操作系统相比,它使效率更高,成本更低。
VPS非常适合托管主节点,因为它们通常可提供有保证的正常运行时间,在硬件故障的情况下提供冗余,以及确保您保留在主节点支付队列中所需的静态IP地址。 从技术上讲,虽然可以在家中在台式计算机上运行主节点,但由于大多数ISP为家庭用户分配了动态IP地址,因此很有可能无法可靠地工作。
尽管DigitalOcean,Amazon EC2,Google Cloud,Choopa和OVH也是最受欢迎的选择,但我们将以Vultr托管作为VPS的示例。 首先创建一个帐户并添加信用额。 然后转到左侧的“服务器”菜单项,然后单击+添加新服务器。 在以下屏幕上为新服务器选择一个位置:
Vultr服务器位置选择屏幕
选择Ubuntu 18.04 x64作为服务器类型。 我们使用Ubuntu的LTS版本而不是最新版本,因为安全更新支持LTS版本5年,而不是通常的9个月。
Vultr server type selection screen Vultr服务器类型选择画面
选择至少提供2GB内存的服务器大小。
服务器大小选择画面
输入服务器的主机名和标签。 在此示例中,我们将使用mn1作为主机名。
Vultr服务器主机名和标签选择画面
Vultr现在将安装在您的服务器。 此过程可能需要几分钟。
Vultr服务器安装画面
安装完成后,单击“Manage管理”,并记下IP地址,用户名和密码。
Vultr服务器管理画面
设置操作系统
我们将从连接到您新配置的服务器开始。 在Windows上,我们将首先下载一个名为PuTTY的应用程序以连接到服务器。 转到PuTTY下载页面,然后为您的系统选择适当的MSI安装程序。 在Mac或Linux上,您可以直接从终端ssh-只需键入ssh root @ <server_ip>并在出现提示时输入密码。
PuTTY下载页面
双击下载的文件以安装PuTTY,然后从“开始”菜单运行该应用程序。 在主机名字段中输入服务器的IP地址,然后单击打开。 您可能会看到证书警告,因为这是您第一次连接到该服务器。 您可以安全地单击“是”以将来信任此服务器。
连接到新服务器时的PuTTY安全警报
现在,您已连接到服务器,并且应该看到一个终端窗口。 首先使用托管提供商提供的用户root和密码登录服务器。
首次连接VPS时遇到密码挑战
您应该立即更改root密码,并将其存储在安全的地方以确保安全。 通过在浏览器中选择以下任何命令,然后按Ctrl + C,然后切换到PuTTY窗口,然后在该窗口中单击鼠标右键,可以复制和粘贴以下命令。 文本将粘贴在当前光标位置:
passwd root
输入并确认新密码(最好是随机生成的长密码)。 接下来,我们将使用以下命令创建一个新用户,将
adduser
系统将提示您输入密码。 输入并使用新密码(不同于您的root密码)进行确认,并将其存储在安全的地方。 您还将看到提示用户输入信息,但是可以将其留为空白。 创建用户后,我们会将其添加到sudo组中,以便他们可以以root用户身份执行命令:
usermod -aG sudo
现在,仍然以root用户身份,我们将从Ubuntu软件包存储库更新系统:
apt update 更新
apt upgrade 升级
系统将显示可升级软件包的列表。 按Y,然后按Enter以安装软件包。 现在,我们将安装防火墙(以及稍后将使用的一些其他软件包),添加交换内存并重新启动服务器以应用所有必要的内核更新,然后以新用户身份登录到我们新保护的环境:
apt install ufw python virtualenv git unzip pv
(按Y并按Enter确认)
ufw allow ssh/tcp
ufw limit ssh/tcp
ufw allow 8888/tcp
ufw logging on
ufw enable
(按Y并按Enter确认)
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
nano /etc/fstab
在文件末尾添加以下行(按Tab键分隔每个单词/数字),然后按Ctrl + X关闭编辑器,然后按Y和Enter保存文件。
/swapfile none swap sw 0 0
最后,为了防止暴力破解密码,我们将安装fail2ban并通过ssh禁用root登录。 这些步骤是可选的,但强烈建议这样做。 从fail2ban开始:
apt install fail2ban
创建一个新的配置文件:
nano /etc/fail2ban/jail.local
并粘贴以下配置:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
然后按Ctrl + X关闭编辑器,然后按Y和Enter保存文件。 重新启动并启用fail2ban服务:
systemctl restart fail2ban
systemctl enable fail2ban
接下来,打开SSH配置文件以禁用通过SSH的root登录:
nano /etc/ssh/sshd_config
找到读为PermitRootLogin yes的行列,并将其设置为PermitRootLogin no。 在其正下方,添加一行读取AllowUsers <用户名>的行列,将<用户名>替换为您在上面选择的用户名。 然后按Ctrl + X关闭编辑器,然后按Y和Enter保存文件。
然后重新启动服务器:
reboot now
服务器重启时,PuTTY将断开连接。
虽然此设置包括保护服务器免受攻击的基本步骤,但可以做更多的事情。 特别是,建议使用公用密钥而不是用户名/密码组合进行身份验证并启用自动安全更新。 这里有更多提示。 但是,由于主节点实际上并不存储密钥,因此这些步骤被认为超出了本指南的范围。