使用 nmcli con mod <连接名> ipv4.method manual ipv4.addresses <IP/掩码> ipv4.gateway <网关>
配置静态地址,同时通过 ipv4.dhcp-hostname <主机名>
保留DHCP参数,最后 nmcli con up <连接名>
激活配置。
如何在 Rocky Linux 9 中使用 nmcli 配置静态 IPv4 地址并启用 DHCP?
在Rocky Linux 9中使用nmcli配置静态IPv4并保留DHCP能力,需理解NetworkManager的优先级逻辑。以下是经过生产环境验证的配置方案:
-
双协议栈配置(关键): 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
-
混合模式实践:通过创建两个逻辑连接实现静态与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
-
实战挑战:
- 连接优先级冲突:使用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正常运行
-
验证方案: 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 即可快速切换。
更多回答
- 查看当前网络连接名称:
nmcli con show
- 配置静态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
- 启用DHCP作为备份地址(可选):
sudo nmcli con modify <连接名> ipv4.addresses <IP/子网>,dhcp
- 应用配置:
sudo nmcli con down <连接名> && sudo nmcli con up <连接名>
- 验证:
ip a show <接口名>
和nmcli con show <连接名>
在Rocky Linux 9中使用nmcli
配置静态IPv4地址并启用DHCP的步骤如下:
-
查看当前连接
nmcli connection show
记录目标连接的名称(如
ens192
)。 -
配置静态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
-
启用DHCP作为备用(可选)
若需在另一接口使用DHCP,创建新连接:sudo nmcli connection add type ethernet \ con-name <新连接名> ifname <接口名> ipv4.method auto
-
激活配置
sudo nmcli connection up <连接名>
注意:同一接口无法同时使用静态IP和DHCP,但可通过多IP或不同接口混合配置。建议优先使用nmtui
进行可视化调试。
在Rocky Linux 9中使用nmcli
配置静态IPv4地址并启用DHCP:
- 使用
nmcli con show
查看连接名称 - 执行
nmcli con mod <连接名> ipv4.addresses <IP/掩码> ipv4.gateway <网关> ipv4.method manual
设置静态地址 - 通过
nmcli con mod <连接名> ipv4.dhcp-send-hostname yes
允许通过DHCP发送主机名 - 重启连接
nmcli con down <连接名>; nmcli con up <连接名>
延伸知识点:混合模式下DHCP参数继承
当使用ipv4.method manual
时,虽然IP地址为静态,但通过ipv4.dhcp-send-hostname yes
和ipv4.ignore-auto-dns no
参数,系统仍可从DHCP服务器获取主机名、DNS等附加信息。这种配置常见于需要固定IP但依赖DHCP分发其他网络参数的场景,如企业内网中服务器需固定IP但仍需通过DHCP获取统一DNS配置。通过nmcli con show <连接名> | grep 'ipv4.dhcp'
可验证相关参数状态,这种混合配置模式实现了静态与动态网络参数的协同工作。