-
查看当前网络连接名称
nmcli con show记录需配置的 Connection Name(如 eth0、enp0s3)
-
设置 DNS 搜索域
nmcli con mod <Connection_Name> ipv4.dns-search "domain1.com domain2.com"多个搜索域用空格分隔,根据需求替换域名
-
重新加载配置生效
nmcli con reload <Connection_Name> nmcli con down <Connection_Name> && nmcli con up <Connection_Name> -
验证配置
nmcli con show <Connection_Name> | grep dns-search或检查 /etc/resolv.conf 文件中的 "search" 行
如何通过 nmcli 配置 Rocky Linux 9 中的 DNS 搜索域?
在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解除文件锁定后再操作。
通过nmcli配置Rocky Linux 9的DNS搜索域需执行以下步骤:
-
确认网络连接名称:
nmcli con show --active获取目标连接名称(如ens192)。
-
设置DNS搜索域:
sudo nmcli con mod <连接名称> ipv4.dns-search "example.com example.org"多个域用空格分隔,需保留引号。
-
禁用DHCP DNS覆盖(如适用):
sudo nmcli con mod <连接名称> ipv4.ignore-auto-dns yes防止DHCP服务覆盖静态DNS配置。
-
应用配置:
sudo nmcli con down <连接名称> && sudo nmcli con up <连接名称>或重启NetworkManager服务:
sudo systemctl restart NetworkManager -
验证配置:
cat /etc/resolv.conf | grep search或
nmcli con show <连接名称> | grep ipv4.dns-search
注意:需替换实际连接名称和域名,IPv6配置使用ipv6.dns-search参数。此方法直接修改NetworkManager持久化配置,无需额外保存操作。
-
查看当前网络连接名称:
nmcli connection show -
添加DNS搜索域(例:example.com):
nmcli connection modify <连接名称> ipv4.dns-search "example.com" -
激活配置变更:
nmcli connection down <连接名称> && nmcli connection up <连接名称> -
验证配置:
grep search /etc/resolv.conf
(将<连接名称>替换为实际连接名,如eth0/enp0s3)
通过 nmcli 配置 Rocky Linux 9 的 DNS 搜索域,使用命令:
nmcli connection modify <连接名> ipv4.dns-search "example.com" ipv6.dns-search "example.com"
nmcli connection up <连接名>
延伸知识点:DNS 搜索域的作用与配置注意事项
DNS 搜索域用于简化主机名解析。例如,若搜索域为 example.com,输入 ping host1 会尝试解析 host1.example.com。配置时需注意:
- 多域优先级:按添加顺序尝试解析,最多支持 6 个域,总字符不超过 255。
- 作用范围:每个网络连接可独立配置,适用于多网络环境(如 VPN 和本地网络)。
- 覆盖问题:若使用 DHCP,需设置
ipv4.ignore-auto-dns yes和ipv6.ignore-auto-dns yes避免 DHCP 覆盖手动配置。 - 验证命令:
nmcli connection show <连接名> | grep dns-search可检查当前配置。