在Rocky Linux 9中通过nmcli配置DNS搜索域时,建议按以下步骤操作:
- 确定连接名称:执行
nmcli con show
获取目标网络连接名称(如ens192) - 设置搜索域:
sudo nmcli con mod <连接名称> ipv4.dns-search "example.com domain.local"
多个域用空格分隔,建议优先将高频使用的域名放在最左侧
- 强制配置生效:
sudo nmcli con down <连接名称> && sudo nmcli con up <连接名称>
实践经验:
- 在混合云环境中,需注意DHCP服务覆盖问题,建议在NetworkManager.conf中设置
[main] dns=none
禁用DHCP的DNS推送 - 多网卡场景下,不同连接的搜索域应通过
nmcli con edit
进行差异化配置 - 使用
resolvectl domain <连接名称>
可实时验证配置是否生效
常见挑战:
- 企业AD域自动推送冲突:通过
nmcli con mod <名称> ipv4.ignore-auto-dns yes
关闭自动同步 - 容器运行时干扰:需在Podman/Docker启动参数中追加
--dns-search=
参数覆盖系统设置 - 动态环境配置持久化:建议将关键配置写入/etc/NetworkManager/conf.d/目录下的定制配置文件
有效性验证:
# 实时查看生效配置
resolvectl domain | grep -A5 <连接名称>
# 测试解析逻辑
dig +search www | grep "Query time"
注意:在STIG安全加固环境中,需预先通过chattr +i /etc/resolv.conf
解除文件锁定后再操作。