2026/4/6 9:54:43
网站建设
项目流程
Rocky Linux 9 最小化安装后的实战排坑指南从静态IP配置到SSH连接优化刚完成Rocky Linux 9的最小化安装本以为可以顺利进入开发环境配置没想到在基础网络设置环节就遭遇连环坑。作为RHEL生态的替代选择Rocky Linux继承了企业级系统的安全特性这也意味着默认配置会更加严格。本文将分享我在虚拟机环境中遇到的典型问题及解决方案特别适合在VMware等虚拟化平台进行测试的开发者。1. 网络配置从DHCP到静态IP的转型之痛最小化安装后的首要挑战就是网络连接。不同于图形化安装自动配置网络命令行环境需要手动处理所有细节。我的虚拟机最初通过DHCP获取IP但开发环境需要固定地址这就引出了第一个深坑。1.1 识别网络接口的正确姿势执行ip a命令后发现ens160接口没有IPv4地址只有IPv6的本地链路地址。这种情况在VMware虚拟机上很常见原因可能有网络适配器未启用NetworkManager服务未正确识别接口防火墙规则阻止了DHCP请求关键诊断命令# 查看网络接口状态 nmcli device status # 检查NetworkManager日志 journalctl -u NetworkManager -n 501.2 nmcli配置静态IP的实战步骤经过排查发现是NetworkManager的默认配置未生效。以下是建立静态连接的完整流程创建新连接配置避免修改默认配置nmcli connection add con-name static-ens160 ifname ens160 \ type ethernet ip4 192.168.31.50/24 gw4 192.168.31.1配置DNS服务器重要却常被忽略nmcli connection modify static-ens160 \ ipv4.dns 8.8.8.8 114.114.114.114设置连接为手动模式关键步骤nmcli connection modify static-ens160 ipv4.method manual激活并测试新配置nmcli connection up static-ens160 ping -c 4 google.com注意如果使用VMware NAT模式需确保虚拟网络编辑器中的子网配置与静态IP匹配1.3 配置持久化验证很多教程不会告诉你NetworkManager的配置可能不会自动保存到磁盘。执行以下命令确保重启后配置不丢失# 将内存中的配置写入磁盘 nmcli connection save static-ens160 # 检查配置文件是否存在 ls -l /etc/NetworkManager/system-connections/static-ens160.nmconnection2. SSH连接失败的深度排查网络通畅后本以为可以通过SSH远程连接却遭遇更顽固的访问拒绝问题。这涉及到Rocky Linux的多层安全机制。2.1 基础服务检查清单首先运行这套诊断命令组合# 检查服务状态 systemctl status sshd # 验证监听端口 ss -tulnp | grep 22 # 测试本地连接重要 ssh localhost如果本地连接都失败说明问题出在SSH服务本身而非网络。2.2 安全上下文与SELinux的影响最小化安装默认启用SELinux这可能导致各种莫名其妙的权限问题。检查相关日志# 查看SELinux相关拒绝记录 ausearch -m avc -ts recent # 临时设置为宽容模式测试 setenforce 0如果SSH在宽容模式下工作正常说明需要调整安全策略而非关闭SELinux# 修正SSH相关安全上下文 restorecon -Rv /etc/ssh2.3 防火墙规则的精准控制Firewalld的默认配置可能过于严格推荐使用精准放行而非完全关闭# 查看默认区域 firewall-cmd --get-default-zone # 永久放行SSH firewall-cmd --permanent --add-servicessh firewall-cmd --reload3. 用户权限管理的安全平衡很多教程建议直接启用root SSH登录这在生产环境是严重的安全隐患。更专业的做法是3.1 配置sudo权限的正确方式首先创建具有管理员权限的普通用户useradd -m -G wheel devuser passwd devuser然后精细控制sudo权限# 编辑sudoers文件 visudo在文件中取消注释或添加%wheel ALL(ALL) ALL3.2 SSH密钥认证的最佳实践密码认证存在暴力破解风险推荐配置密钥登录客户端生成密钥对ssh-keygen -t ed25519将公钥上传到服务器ssh-copy-id -i ~/.ssh/id_ed25519.pub devuserserver-ip服务器端加固配置/etc/ssh/sshd_configPasswordAuthentication no PubkeyAuthentication yes4. 最小化安装后的必备工具集完成基础配置后建议安装这些提高效率的工具4.1 诊断工具全家桶dnf install -y \ net-tools \ # ifconfig等传统工具 bind-utils \ # dig等DNS工具 tcpdump \ # 网络抓包 lsof \ # 查看打开的文件 htop \ # 增强版top tmux # 终端复用器4.2 开发环境基础组件根据不同的开发需求选择安装组件类型安装命令主要功能基础编译环境dnf groupinstall Development ToolsGCC/make等构建工具Python环境dnf install python3-develPython开发支持容器运行时dnf install podman docker-compose容器管理工具4.3 系统优化参数调整针对虚拟机环境建议修改的配置# 编辑/etc/sysctl.conf添加 vm.swappiness 10 net.ipv4.tcp_fastopen 3 # 加载新配置 sysctl -p对于SSH连接的响应速度优化# 在/etc/ssh/sshd_config中添加 UseDNS no GSSAPIAuthentication no完成这些配置后一个稳定可靠的Rocky Linux 9开发环境就准备就绪了。记住最小化安装虽然节省资源但也意味着需要更多的手动配置这正是理解Linux系统运作机制的绝佳机会。