CentOS 7的DNS配置可以通过多种方法实现,包括使用nmcli命令行工具和编辑网络配置文件等,以下是详细的配置步骤和方法:
一、推荐方式:使用nmcli命令行工具

1、显示当前网络连接:
使用nmcli connection show命令来显示当前的网络连接。
2、修改DNS服务器:
使用nmcli con mod <connection_name> ipv4.dns "<dns_server1> <dns_server2>"命令来修改当前网络连接的DNS服务器。
```bash
nmcli con mod ens160 ipv4.dns "114.114.114.114 8.8.8.8"

```
<connection_name>可以是网络连接的名称或UUID,<dns_server1>和<dns_server2>是你要设置的DNS服务器地址。
3、使配置生效:
使用nmcli con up <connection_name>命令来重新连接网络,以使新的DNS配置生效。
```bash
nmcli con up ens160

```
传统方式:编辑网络配置文件
1、禁用NetworkManager管理的DNS:
编辑/etc/NetworkManager/NetworkManager.conf文件,在[main]部分添加dns=none选项,然后重新启动NetworkManager服务:
```bash
systemctl restart NetworkManager.service
```
2、手工修改/etc/resolv.conf:
直接编辑/etc/resolv.conf文件,添加DNS服务器地址。
```plaintext
nameserver 114.114.114.114
nameserver 8.8.8.8
```
注意:这种方式设置的DNS可能会被系统重新覆盖或清除。
搭建DNS服务器
1、安装BIND:
使用yum install bind bindutils命令来安装BIND和相关的实用工具。
2、修改主配置文件/etc/named.conf:
修改监听端口和允许查询的配置,将listenon port 53 { 127.0.0.1; };改为listenon port 53 { any; };,将allowquery { localhost; };改为allowquery { any; };。
3、配置正向解析区域:
编辑/etc/named.rfc1912.zones文件,添加正向解析区域的配置,并创建相应的区域数据文件(如kaisa.com.zone)。
4、配置反向解析区域:
类似地,编辑/etc/named.rfc1912.zones文件,添加反向解析区域的配置,并创建相应的区域数据文件(如1.0.0.127.inaddr.arpa)。
5、启动和测试DNS服务:
使用systemctl restart named命令来重启BIND服务,然后使用nslookup或dig命令来测试DNS解析是否正常。
相关问答FAQs
1、问题:如何在CentOS 7中检查DNS配置是否正确?
答案:可以使用nmcli connection show命令来查看当前网络连接的DNS配置,或者直接查看/etc/resolv.conf文件来检查手工设置的DNS服务器地址,对于BIND服务,可以使用namedcheckconf z /etc/named.conf命令来检查所有与DNS有关的配置文件是否有误。
2、问题:如何防止/etc/resolv.conf被系统重新覆盖?
答案:可以通过编辑/etc/NetworkManager/NetworkManager.conf文件并添加dns=none选项来禁用NetworkManager管理的DNS,从而防止/etc/resolv.conf被自动覆盖,确保没有其他服务或脚本会自动修改该文件。
