AlmaLinux 8.10 VPS主机名被NetworkManager自动覆盖,无法永久修改
AlmaLinux 8.10 VPS主机名被NetworkManager自动覆盖,无法永久修改
兄弟我太懂这种折腾十几个小时的憋屈了!你遇到的问题确实是VPS上常见的NetworkManager或DHCP自动重置主机名的坑,尤其是服务商那边可能默认配置了相关规则,咱一步步来解决:
首先,核心问题大概率是NetworkManager默认会从DHCP服务器接收并自动更新主机名,而你的VPS服务商的DHCP一直在推送他们设置的主机名,所以你改完重启就被打回原形。
解决步骤:
让NetworkManager彻底停止自动更新主机名
编辑NetworkManager的主配置文件:vi /etc/NetworkManager/NetworkManager.conf在
[main]段落下添加一行:hostname-mode=none这行的作用是强制NetworkManager完全忽略任何外部来源的主机名更新,只使用咱们手动设置的系统主机名。
修改具体网络连接的DHCP配置
有时候单个网络连接还会单独配置DHCP相关的主机名设置,得一起改掉:- 先列出当前所有网络连接:
nmcli connection show - 找到你的主网卡连接(通常是
eth0、ens3这类名称),进入编辑模式:nmcli connection edit <你的连接名称> - 切换到IPv4设置模块:
goto ipv4 - 设置自定义的DHCP主机名,并关闭自动接收DHCP推送的主机名:
set dhcp-hostname new.myhost.example.com set ignore-auto-dhcp-hostname yes - 保存并退出编辑:
save quit
- 先列出当前所有网络连接:
确保系统主机名文件和hostnamectl设置一致
先把/etc/hostname文件直接改成你要的主机名:echo "new.myhost.example.com" > /etc/hostname再用hostnamectl确认设置:
hostnamectl set-hostname new.myhost.example.com重启服务生效
先重启NetworkManager让配置生效:systemctl restart NetworkManager最后重启你的VPS,看看主机名是不是终于不会被改回去了!
补充说明:
你之前尝试在/etc/sysconfig/network-scripts/ifcfg-*里设置DHCP_HOSTNAME没生效,大概率是因为你的系统优先用NetworkManager的配置管理网络,而不是传统的ifcfg文件,所以用nmcli修改连接配置才是更可靠的方式。
备注:内容来源于stack exchange,提问作者adrianTNT
相关产品推荐
相关产品推荐

