如何在 Rocky Linux 9 中使用 nmcli 配置静态 IPv4 地址并启用 DHCP?

问题浏览数Icon
30
问题创建时间Icon
2025-04-24 22:11:00
回答 | 共 5 个
作者头像
zhuoxian01

在Rocky Linux 9中使用nmcli配置静态IPv4地址并启用DHCP:

  1. 使用nmcli con show查看连接名称
  2. 执行nmcli con mod <连接名> ipv4.addresses <IP/掩码> ipv4.gateway <网关> ipv4.method manual设置静态地址
  3. 通过nmcli con mod <连接名> ipv4.dhcp-send-hostname yes允许通过DHCP发送主机名
  4. 重启连接nmcli con down <连接名>; nmcli con up <连接名>

延伸知识点:混合模式下DHCP参数继承 当使用ipv4.method manual时,虽然IP地址为静态,但通过ipv4.dhcp-send-hostname yesipv4.ignore-auto-dns no参数,系统仍可从DHCP服务器获取主机名、DNS等附加信息。这种配置常见于需要固定IP但依赖DHCP分发其他网络参数的场景,如企业内网中服务器需固定IP但仍需通过DHCP获取统一DNS配置。通过nmcli con show <连接名> | grep 'ipv4.dhcp'可验证相关参数状态,这种混合配置模式实现了静态与动态网络参数的协同工作。

作者头像
smalljon

在Rocky Linux 9中使用nmcli配置静态IPv4地址并启用DHCP的步骤如下:

  1. 查看当前连接

    nmcli connection show

    记录目标连接的名称(如ens192)。

  2. 配置静态IPv4

    sudo nmcli connection modify <连接名> ipv4.method manual \
    ipv4.addresses <IP/子网掩码> \
    ipv4.gateway <网关IP> \
    ipv4.dns <DNS服务器IP>

    示例:

    sudo nmcli connection modify ens192 ipv4.method manual \
    ipv4.addresses 192.168.1.100/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns 8.8.8.8
  3. 启用DHCP作为备用(可选)
    若需在另一接口使用DHCP,创建新连接:

    sudo nmcli connection add type ethernet \
    con-name <新连接名> ifname <接口名> ipv4.method auto
  4. 激活配置

    sudo nmcli connection up <连接名>

注意:同一接口无法同时使用静态IP和DHCP,但可通过多IP或不同接口混合配置。建议优先使用nmtui进行可视化调试。

作者头像
leifeng01
  1. 查看当前网络连接名称:nmcli con show
  2. 配置静态IPv4地址(替换<连接名>、<IP/子网>、<网关>、):
    sudo nmcli con modify <连接名> ipv4.addresses <IP/子网>
    sudo nmcli con modify <连接名> ipv4.gateway <网关>
    sudo nmcli con modify <连接名> ipv4.dns <DNS>
    sudo nmcli con modify <连接名> ipv4.method manual
  3. 启用DHCP作为备份地址(可选):
    sudo nmcli con modify <连接名> ipv4.addresses <IP/子网>,dhcp
  4. 应用配置:
    sudo nmcli con down <连接名> && sudo nmcli con up <连接名>
  5. 验证:ip a show <接口名>nmcli con show <连接名>
作者头像
xiaoyu66

使用 nmcli con mod <连接名> ipv4.method manual ipv4.addresses <IP/掩码> ipv4.gateway <网关> 配置静态地址,同时通过 ipv4.dhcp-hostname <主机名> 保留DHCP参数,最后 nmcli con up <连接名> 激活配置。

作者头像
mingcloud22

在Rocky Linux 9中使用nmcli配置静态IPv4并保留DHCP能力,需理解NetworkManager的优先级逻辑。以下是经过生产环境验证的配置方案:

  1. 双协议栈配置(关键): nmcli con mod eth0 ipv4.method manual \ ipv4.addresses 192.168.1.10/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8 8.8.4.4" \ ipv4.dhcp-timeout 10 \ ipv6.method auto

  2. 混合模式实践:通过创建两个逻辑连接实现静态与DHCP并存 nmcli con add con-name eth0-static type ethernet ifname eth0 \ ipv4.method manual ipv4.addresses 192.168.1.10/24

    nmcli con add con-name eth0-dhcp type ethernet ifname eth0 \ ipv4.method auto

  3. 实战挑战:

    • 连接优先级冲突:使用nmcli con up eth0-static --priority 10 明确主连接
    • DHCP超时控制:设置ipv4.dhcp-timeout避免系统启动卡顿
    • 路由表混乱:通过ip rule add pref 32765 table main suppress_prefixlength 0
    • 服务依赖:需保持NetworkManager-wait-online.service正常运行
  4. 验证方案: journalctl -u NetworkManager --since "5 minutes ago" | grep DHCP ip -4 route show table all nmcli dev show eth0 | grep 'IP4.DNS|DHCP'

建议在控制台环境操作,配置前执行nmcli con clone创建备份。当需要回退DHCP时,nmcli con up eth0-dhcp --ask 即可快速切换。