You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AlmaLinux 8.10 VPS主机名被NetworkManager自动覆盖,无法永久修改

AlmaLinux 8.10 VPS主机名被NetworkManager自动覆盖,无法永久修改

兄弟我太懂这种折腾十几个小时的憋屈了!你遇到的问题确实是VPS上常见的NetworkManager或DHCP自动重置主机名的坑,尤其是服务商那边可能默认配置了相关规则,咱一步步来解决:

首先,核心问题大概率是NetworkManager默认会从DHCP服务器接收并自动更新主机名,而你的VPS服务商的DHCP一直在推送他们设置的主机名,所以你改完重启就被打回原形。

解决步骤:

  1. 让NetworkManager彻底停止自动更新主机名
    编辑NetworkManager的主配置文件:

    vi /etc/NetworkManager/NetworkManager.conf
    

    在[main]段落下添加一行:

    hostname-mode=none
    

    这行的作用是强制NetworkManager完全忽略任何外部来源的主机名更新,只使用咱们手动设置的系统主机名。

  2. 修改具体网络连接的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
      
  3. 确保系统主机名文件和hostnamectl设置一致
    先把/etc/hostname文件直接改成你要的主机名:

    echo "new.myhost.example.com" > /etc/hostname
    

    再用hostnamectl确认设置:

    hostnamectl set-hostname new.myhost.example.com
    
  4. 重启服务生效
    先重启NetworkManager让配置生效:

    systemctl restart NetworkManager
    

    最后重启你的VPS,看看主机名是不是终于不会被改回去了!

补充说明:

你之前尝试在/etc/sysconfig/network-scripts/ifcfg-*里设置DHCP_HOSTNAME没生效,大概率是因为你的系统优先用NetworkManager的配置管理网络,而不是传统的ifcfg文件,所以用nmcli修改连接配置才是更可靠的方式。

备注:内容来源于stack exchange,提问作者adrianTNT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:08:01