Rocky Linux 9服务器初始化配置与监控实战指南
当你第一次登录到新安装的Rocky Linux 9服务器时,面对这个干净的系统环境,可能会感到既兴奋又有些无从下手。作为RHEL的替代品,Rocky Linux继承了企业级Linux的稳定性和安全性,但要让服务器真正"活"起来,还需要进行一系列关键的初始化配置。本文将带你完成从网络调试到安全加固,再到性能监控的全流程,让你的Rocky Linux服务器迅速进入最佳工作状态。
1. 网络配置与连接优化
刚安装完Rocky Linux 9后,网络连接往往是第一个需要解决的问题。特别是在VMware虚拟化环境中,网络配置不当会导致后续所有工作都无法开展。
1.1 解决VMware网络连接问题
在VMware中,Rocky Linux通常面临两种网络模式的选择:
- 桥接模式:虚拟机获得与物理主机同网段的独立IP,适合需要对外提供服务的场景
- NAT模式:虚拟机通过主机网络访问外部,适合开发测试环境
检查当前网络模式:
nmcli connection show如果发现网络不可用,首先确认VMware虚拟网络编辑器中的设置。对于桥接模式,确保选择了正确的物理网卡:
# 查看网络接口状态 ip addr show # 如果接口未启动 nmcli connection up ens33常见问题排查表:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 无法获取IP | 桥接模式配置错误 | 检查VMware桥接设置和物理网卡选择 |
| 能ping通内网但无法访问外网 | DNS配置缺失 | 在/etc/resolv.conf中添加nameserver 8.8.8.8 |
| 网络时断时续 | 网络接口电源管理 | 禁用NetworkManager的省电功能:nmcli connection modify ens33 connection.autoconnect yes |
1.2 静态IP配置
对于生产环境,建议配置静态IP以避免DHCP租约到期导致的连接中断:
nmcli connection modify ens33 ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8 8.8.4.4" nmcli connection up ens33提示:修改网络配置后,建议使用
nmcli connection reload重新加载配置,而不要直接重启网络服务,以避免远程连接中断。
2. SSH安全加固与远程访问
开放远程访问是服务器管理的基础,但同时也是安全风险的主要入口。Rocky Linux 9默认已安装OpenSSH服务器,但需要进行安全加固。
2.1 基础SSH配置
编辑SSH主配置文件前,建议先备份:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak vi /etc/ssh/sshd_config关键配置项修改建议:
- 修改默认端口:
Port 22222(避免使用22端口减少自动化攻击) - 禁用root直接登录:
PermitRootLogin no(尽管原始文章建议开启,但从安全角度不推荐) - 启用密钥认证:
PubkeyAuthentication yes - 禁用密码认证:
PasswordAuthentication no(配置密钥后再启用)
2.2 创建管理用户并配置SSH密钥
完全禁用root远程登录后,需要创建具有sudo权限的管理用户:
useradd -m -s /bin/bash admin passwd admin usermod -aG wheel admin生成SSH密钥对(在客户端执行):
ssh-keygen -t ed25519 -f ~/.ssh/rocky9_admin将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/rocky9_admin.pub -p 22222 admin@服务器IP2.3 防火墙配置
Rocky Linux 9默认使用firewalld,需要开放SSH端口:
firewall-cmd --permanent --add-port=22222/tcp firewall-cmd --reloadSSH安全最佳实践检查清单:
- [ ] 使用非默认端口
- [ ] 禁用root直接登录
- [ ] 启用密钥认证并禁用密码认证
- [ ] 配置fail2ban防止暴力破解
- [ ] 定期轮换SSH密钥
3. 系统更新与基础工具安装
保持系统更新是安全运维的基础,同时安装常用工具能大大提高管理效率。
3.1 系统更新与EPEL仓库
首先更新所有已安装的软件包:
dnf update -y安装EPEL仓库(Extra Packages for Enterprise Linux):
dnf install epel-release -y dnf config-manager --set-enabled crb3.2 必备工具集
根据服务器用途不同,工具需求也有所差异,但以下工具在大多数场景都很有用:
dnf install -y \ htop \ # 增强型top ncdu \ # 磁盘使用分析 tmux \ # 终端复用器 git \ # 版本控制 lsof \ # 查看打开的文件 sysstat \ # 系统性能监控工具 cockpit \ # 网页管理界面开发环境常用组件:
dnf groupinstall -y "Development Tools" dnf install -y python3-devel python3-pip4. 轻量级监控方案实现
监控是服务器运维的眼睛,好的监控系统能帮助我们在问题影响用户前及时发现并解决。
4.1 Netdata实时监控
Netdata是一个轻量级的实时监控工具,安装简单且资源占用低:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)安装完成后,可以通过http://服务器IP:19999访问控制面板。默认配置已经包含了CPU、内存、磁盘、网络等基础监控项。
Netdata关键特性:
- 实时监控,每秒采集一次数据
- 内置告警规则
- 支持多种数据导出方式
- 丰富的可视化仪表盘
4.2 Prometheus node_exporter
如果需要与Prometheus监控系统集成,可以安装node_exporter:
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar xvf node_exporter-* cp node_exporter-*/node_exporter /usr/local/bin/ useradd -rs /bin/false node_exporter创建systemd服务单元:
cat <<EOF > /etc/systemd/system/node_exporter.service [Unit] Description=Node Exporter After=network.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target EOF启动并启用服务:
systemctl daemon-reload systemctl start node_exporter systemctl enable node_exporter4.3 监控数据可视化方案对比
| 工具 | 安装复杂度 | 资源占用 | 实时性 | 告警功能 | 适合场景 |
|---|---|---|---|---|---|
| Netdata | 低 | 中 | 高 | 基础 | 单机实时监控 |
| node_exporter | 中 | 低 | 中 | 无 | Prometheus生态 |
| Cockpit | 低 | 低 | 中 | 无 | 基础管理+监控 |
5. 系统性能调优基础
在完成基础配置后,可以根据服务器用途进行针对性的性能调优。
5.1 文件描述符限制
对于高并发应用(如数据库、Web服务器),需要调整文件描述符限制:
echo "* soft nofile 65535" >> /etc/security/limits.conf echo "* hard nofile 65535" >> /etc/security/limits.conf验证当前限制:
ulimit -n5.2 内核参数调优
编辑/etc/sysctl.conf添加以下参数:
# 避免TCP TIME_WAIT状态堆积 net.ipv4.tcp_tw_reuse = 1 # 加快处理失效连接 net.ipv4.tcp_fin_timeout = 30 # 增加最大连接数 net.core.somaxconn = 65535 # 增加内存分配 vm.overcommit_memory = 1应用修改:
sysctl -p5.3 磁盘I/O优化
对于使用传统机械硬盘的情况,可以调整I/O调度器:
echo 'deadline' > /sys/block/sda/queue/scheduler对于SSD,建议使用noop或none调度器:
echo 'none' > /sys/block/nvme0n1/queue/scheduler性能调优检查清单:
- [ ] 文件描述符限制调整
- [ ] 内核参数优化
- [ ] 磁盘I/O调度器选择
- [ ] 透明大页(THP)配置
- [ ] swappiness值调整
6. 备份策略与系统快照
任何服务器配置完成后,第一件事应该是建立可靠的备份机制。
6.1 关键配置文件备份
建议定期备份以下目录和文件:
mkdir /backup rsync -av /etc /backup/etc-$(date +%F) rsync -av /var/spool/cron /backup/cron-$(date +%F)6.2 使用BorgBackup实现增量备份
BorgBackup是一个高效的去重备份工具:
dnf install -y borgbackup初始化备份仓库:
borg init --encryption=repokey /backup/repo创建首次备份:
borg create /backup/repo::system-$(date +%F) /etc /home /var/www6.3 自动化备份脚本
创建/etc/cron.daily/backup-system:
#!/bin/bash export BORG_PASSPHRASE='你的密码' borg create --stats --progress /backup/repo::system-$(date +%F) \ /etc /home /var/www 2>> /var/log/backup.log borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6 /backup/repo设置可执行权限:
chmod +x /etc/cron.daily/backup-system7. 安全加固进阶措施
基础安全配置完成后,可以实施更严格的安全措施。
7.1 配置自动安全更新
启用自动安全更新可以及时修补漏洞:
dnf install -y dnf-automatic sed -i 's/apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf systemctl enable --now dnf-automatic.timer7.2 安装并配置fail2ban
fail2ban可以防止暴力破解攻击:
dnf install -y fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local编辑/etc/fail2ban/jail.local,修改SSH部分:
[sshd] enabled = true port = 22222 filter = sshd logpath = /var/log/secure maxretry = 3 bantime = 1h启动服务:
systemctl enable --now fail2ban7.3 审计日志配置
启用auditd服务记录关键系统事件:
dnf install -y audit systemctl enable --now auditd示例审计规则(/etc/audit/rules.d/my.rules):
# 记录所有sudo命令 -a exit,always -F arch=b64 -S execve -F path=/usr/bin/sudo -F key=sudo_log # 记录/etc目录修改 -w /etc -p wa -k etc_changes重新加载规则:
auditctl -R /etc/audit/rules.d/my.rules查看审计日志:
ausearch -k sudo_log | aureport -i