# 设置主机名 (以 Server1 为例)
hostnamectl set-hostname server1.jx.itai.org [cite: 20]
# 配置 IP 地址 (以 Server1 为例)
# ens3: 172.16.50.101/24
nmcli con modify ens3_conn ipv4.addresses 172.16.50.101/24 [cite: 20] ipv4.method manual
# ens4: 10.0.0.101/24
nmcli con modify ens4_conn ipv4.addresses 10.0.0.101/24 [cite: 20] ipv4.method manual
# 设置网关 (所有服务器的 172.16.50.x 接口)
nmcli con modify ens3_conn ipv4.gateway 172.16.50.1 [cite: 22]
# 重新加载配置
nmcli con reload
2.3 防火墙配置 (所有服务器)
完整版请查看主页联系博主获取
为什么这样做: 启用防火墙,将区域设置为 public 根据后续服务要求,开放所需端口和服务,并使用 --permanent 确保设置永久有效
# 启用 firewalld 服务
systemctl enable --now firewalld
# 设置默认区域为 public
firewall-cmd --set-default-zone=public --permanent
# 1. SSH 服务 (所有服务器)
firewall-cmd --add-service=ssh --permanent
# 2. DNS 服务 (Server1/Server2)
firewall-cmd --add-port=53/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
# 3. Redis Cluster 端口 (Server1/Server2)
firewall-cmd --add-port=7011/tcp --permanent
firewall-cmd --add-port=7012/tcp --permanent
firewall-cmd --add-port=7021/tcp --permanent
firewall-cmd --add-port=7022/tcp --permanent
# 4. HTTP/HTTPS (Server1)
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
# 5. openGauss 数据库端口 (Server3, 默认 5432)
firewall-cmd --add-port=5432/tcp --permanent
# 6. NFS 服务 (Server3)
firewall-cmd --add-service=nfs --permanent
firewall-cmd --add-service=rpc-bind --permanent
firewall-cmd --add-service=mountd --permanent
# 重新加载防火墙配置使设置生效
firewall-cmd --reload
2.4 Root 密码和 SSH 免密配置 (所有服务器)
为什么这样做: 确保 root 密码符合要求,并实现所有主机间基于 FQDN 的 SSH 免密互访,且支持 RSA (4096位) 和国密 SM2 两种算法
# 1. 设置 root 密码
echo "Admin@0000" | passwd --stdin root [cite: 24]
# 2. 生成两组 SSH 公私钥对 (在每台 Server 执行)
# RSA 4096位
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa [cite: 25]
# 国密 SM2
ssh-keygen -t sm2 -f ~/.ssh/id_sm2 [cite: 25]
# 3. 配置 SSH 免密登录 (在每台 Server 执行)
# 将本机的所有公钥分发到所有主机的 authorized_keys 文件中
# 对所有目标主机 (server1.jx.itai.org, server2.jx.itai.org, server3.jx.itai.org) 执行以下操作:
ssh-copy-id -i ~/.ssh/id_rsa.pub serverX.jx.itai.org
ssh-copy-id -i ~/.ssh/id_sm2.pub serverX.jx.itai.org
3. DNS 服务搭建 (Server1/Server2)
为什么这样做: 利用 bind 和 bind-utils 在 Server1 (主) 和 Server2 (备) 上部署冗余的 DNS 服务 ,提供正向 (itai.org) 和反向 (172.16.50.0/24) 解析服务 [cite: 29],确保所有主机能通过 DNS 互访
# 在 Server1 和 Server2 执行:
yum install bind bind-utils -y [cite: 27, 28]
# 1. 主 DNS (Server1) 配置
# /etc/named.conf 配置主区域
# ...
zone "itai.org" IN {
type master;
file "db.server.itai.org"; [cite: 29]
allow-transfer { 172.16.50.102; };
};
zone "50.16.172.in-addr.arpa" IN {
type master;
file "db.0.50.16.172"; [cite: 29]
allow-transfer { 172.16.50.102; };
};
# ...
# /var/named/db.server.itai.org (正向解析文件)
# ... SOA and NS records ...
server1.jx IN A 172.16.50.101 [cite: 31]
server2.jx IN A 172.16.50.102 [cite: 31]
server3.jx IN A 172.16.50.103 [cite: 31]
www IN CNAME server1.jx
blog IN CNAME server2.jx
# ...
# /var/named/db.0.50.16.172 (反向解析文件)
# ... SOA and NS records ...
101 IN PTR server1.jx.itai.org. [cite: 31]
102 IN PTR server2.jx.itai.org. [cite: 31]
103 IN PTR server3.jx.itai.org. [cite: 31]
# ...
# 2. 备 DNS (Server2) 配置
# /etc/named.conf 配置从区域
# ...
zone "itai.org" IN {
type slave;
file "slaves/db.server.itai.org";
masters { 172.16.50.101; };
};
zone "50.16.172.in-addr.arpa" IN {
type slave;
file "slaves/db.0.50.16.172";
masters { 172.16.50.101; };
};
# ...
# 3. 启动和验证服务
systemctl enable --now named
# 4. 所有服务器配置 DNS 客户端
# 修改所有服务器的 /etc/resolv.conf
echo "nameserver 172.16.50.101" > /etc/resolv.conf
echo "nameserver 172.16.50.102" >> /etc/resolv.conf