Hôm nay, relay node thứ 5 do arktoshi.com chạy đã chính thức online với tên gọi: arktoshi-5. Tròn 1 tháng kể từ khi tôi chạy Ark relay node đầu tiên vào cuối tháng 9, đến nay tôi đã tổng hợp được kinh nghiệm để cài đặt, bảo mật và khắc phục những lỗi gặp phải.
Bài này tôi sẽ trình bài toàn bộ quá trình cài đặt, bảo mật và xử lý lỗi thường gặp khi chạy Ark relay node. Hình ảnh sẽ hạn chế mà toàn là text thôi vì thực ra mọi việc cũng đơn gỉan và ảnh minh hoạ thì đã có ở bài hướng dẫn bằng tiếng Anh rồi.
Cài đặt Ark relay node
Bài hướng dẫn gốc từ Ark yêu cầu cấu hình tối thiểu là 4GB RAM,… Tuy nhiên, sau 1 tháng chạy thực tế, tôi nhận thấy như vậy khá lãng phí nếu bạn muốn chạy relay node mà chưa có kinh tế tốt. Tôi rút ra kinh nghiệm như sau.
- Nền tảng ảo hoá: KVM, XEN, VMWare,.. Nói không với OpenVZ.
- RAM: 1 GB
- Dung lượng: 20 GB (ổ SSD, SAS càng tốt, như thế lúc build database sẽ nhanh hơn)
- Băng thông: 1 TB
- Hệ điều hành: Ubuntu 16.04 64-bit
Tiến hành cài đặt
Cập nhật hệ thống
apt-get update ; apt-get dist-upgrade
Thêm tài khoản “ark”
adduser ark
Cấp quyền chạy lệnh cho tài khoản “ark”
usermod -a -G sudo ark
Chuyển sang tài khoản “ark” để bắt đầu cài
su ark ; cd /home/ark
Tải về file cài đặt và chạy file cài đặt
wget https://raw.githubusercontent.com/ArkEcosystem/ARKcommander/master/ARKcommander.sh ; bash ARKcommander.sh
Hệ thống sẽ cài đặt các gói phần mềm cần thiết để chạy Ark relay node và yêu cầu khởi động lại sau khi cài xong
sudo reboot
Sau khi khởi động lại, chạy file cài đặt để tiếp tục
bash ARKcommander.sh
Chọn Menu 4 để tải về snapshot gần nhất và Rebuild database. Thời gian restore snapshot sẽ vào khoảng 5-10 phút tuỳ thuộc cấu hình VPS/Máy chủ.
Submit node lên Arkstats.net
Tải về và chạy file cài đặt
git clone -b release https://github.com/dafty/arkstats-reporter.git ; cd arkstats-reporter/ ; sudo bash build.sh
Nhập các thông số theo yêu cầu như: tên relaynode, địa chỉ IP, port, url, email liên hệ,..
Trong qúa trình cài có thể gặp lỗi pm2: command not found thì xử lý như sau
sudo apt-get install npm ; npm i -g pm2
Và thêm lệnh sau nếu có lỗi không tìm thấy node
sudo ln -s /usr/bin/nodejs /usr/bin/node
Sau đó khởi chạy lại file cài đặt Arkstats.net.
Bảo mật
Sửa các thông số để bảo mật SSH như đổi port mặc định, chặn root đăng nhập,..
sudo nano /etc/ssh/sshd_config
Thay các thông số có sẵn thành như sau
Port 888
LoginGraceTime 30PermitRootLogin no
X11Forwarding no
MaxStartups 2
Cài đặt và cấu hình ufw
sudo apt-get install ufw fail2ban
sudo ufw disable
sudo ufw default deny incoming
sudo ufw allow 18868/tcp
sudo ufw allow 4001/tcp
sudo ufw allow 4002/tcp
sudo ufw allow 888/tcp
sudo ufw enable
Cài đặt và cấu hình fail2ban
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Sửa file jail.local, thay thế tất cả port ssh thành địa chỉ đã đặt trong sshd_config
sudo nano /etc/fail2ban/jail.local sudo service fail2ban restart
Hoàn thành!