nmcli
、编辑网卡配置文件或修改/etc/resolv.conf
来修改DNS命令CentOS 7中修改DNS命令的详细指南
在CentOS 7系统中,正确配置DNS对于确保网络连接的稳定性和高效性至关重要,以下是几种常用的方法来修改系统的DNS设置,包括详细的步骤说明、示例及注意事项,每种方法均适用于不同场景需求,可根据实际环境选择合适的方式操作。
通过nmcli工具(推荐)
此方法基于NetworkManager的命令行界面,适合动态管理网络配置的场景。
✅ 操作步骤
-
查看当前可用的网络连接名称
执行以下命令获取所有已存在的网络接口列表:nmcli connection show
输出结果中的
NAME
列即为可操作的目标连接名(如"System ens192")。 -
修改指定连接的DNS服务器地址
使用以下格式更新目标连接的IPv4 DNS参数,替换YourConnectionName
为实际名称,并指定新的DNS IP:nmcli con mod YourConnectionName ipv4.dns "DNS1 DNS2"
设置为Google公共DNS:
nmcli con mod "System ens192" ipv4.dns "8.8.8.8 8.8.4.4"
若需禁用自动获取DHCP分配的DNS,追加参数:
nmcli con mod YourConnectionName ipv4.ignoreautodns yes
-
使配置生效
重新加载或启动对应网络连接以应用更改:nmcli connection up YourConnectionName
或者重启整个网络服务:
systemctl restart network
📌 优势
- 无需手动编辑文件,降低误操作风险;
- 支持多组DNS并发配置;
- 自动同步到图形化工具(如nmtui)。
直接编辑网卡配置文件
当需要永久保留静态DNS设置时,可通过修改网卡脚本实现。
🔧 具体流程
-
定位目标网卡的配置文件
默认路径为/etc/sysconfig/networkscripts/ifcfg<接口名>
,常见示例包括ifcfgeth0
或ifcfgens192
,用文本编辑器打开该文件:sudo vi /etc/sysconfig/networkscripts/ifcfgens192
-
添加/更新DNS条目
在文件中插入或修改以下行:DNS1=8.8.8.8 # 主DNS服务器 DNS2=8.8.4.4 # 备用DNS服务器(可选)
⚠️注意:如果原文件存在
PEERDNS=yes
,必须将其改为PEERDNS=no
以避免被DHCP覆盖。 -
重启网络服务激活变更
运行命令使新配置生效:sudo systemctl restart network
🔍 验证方式
通过查看解析库确认是否生效:
cat /etc/resolv.conf
应显示刚才设置的DNS IP地址。
手动编辑/etc/resolv.conf(临时方案)
此方法简单快捷但可能被NetworkManager覆盖,适用于短期调试。
📝 实施细节
-
直接写入nameserver指令
编辑系统级DNS客户端配置文件:sudo vi /etc/resolv.conf
添加类似内容:
nameserver 114.114.114.114 # 国内公共DNS nameserver 8.8.8.8 # Google公共DNS
-
防止配置被冲刷的技巧
若要长期有效,需禁止NetworkManager干预:
修改其主配置文件:sudo vi /etc/NetworkManager/NetworkManager.conf
在
[main]
段落下添加:dns=none
然后重启服务:
sudo systemctl restart NetworkManager
对比小编总结表
方法 | 持久性 | 适用场景 | 优点 | 缺点 |
---|---|---|---|---|
nmcli |
高 | 动态管理的复杂网络环境 | 灵活、可视化联动性强 | 依赖NetworkManager组件 |
网卡脚本 | 极高 | 物理机/服务器等固定架构 | 完全控制权,不受干扰 | 需熟悉Linux网络架构知识 |
/etc/resolv.conf |
低 | 快速测试或临时故障排查 | 操作简单直观 | 易被其他工具覆盖失效 |
常见问题与解答
❓ Q1: 修改后DNS仍未生效怎么办?
👉 A: 检查三点:①确保修改的是活跃状态的网络接口;②确认防火墙未阻止53端口UDP/TCP流量;③执行systemctl restart named
刷新BIND缓存。
❓ Q2: 如何同时使用内部私有域和公网解析?
👉 A: 在/etc/resolv.conf
中优先列出内网DNS,再追加公共DNS。
nameserver 192.168.1.1 # 企业内部DNS nameserver 8.8.8.8 # 互联网后备解析
系统会按顺序尝试直至成功响应。
通过以上方法,您可以根据实际需求灵活调整CentOS 7的DNS配置,满足从个人实验