一、CentOS 设置 DNS
在 CentOS 上设置 DNS 可以通过多种方式实现,以下是几种常见的方法:
1、安装和配置 BIND
安装 BIND:通过yum 命令安装 BIND 软件包。
sudo yum install bind bindutils
编辑主配置文件:修改/etc/named.conf 文件,添加或修改以下内容:
options {
listenon port 53 { any; };
directory "/var/named";
dumpfile "/var/named/data/cache_dump.db";
statisticsfile "/var/named/data/named_stats.txt";
allowquery { any; };
};
zone "example.com" IN {
type master;
file "/var/named/forward.example.com";
allowupdate { none; };
};
zone "1.168.192.inaddr.arpa" IN {
type master;
file "/var/named/reverse.example.com";
allowupdate { none; };
};
创建正向区域文件:编辑/var/named/forward.example.com 文件,添加以下内容:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2023042401 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS ns1.example.com.
ns1 IN A 192.168.1.1
www IN A 192.168.1.2
创建反向区域文件:编辑/var/named/reverse.example.com 文件,添加以下内容:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2023042401 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS ns1.example.com.
1 IN PTR ns1.example.com.
2 IN PTR www.example.com.
启动 BIND 服务:确保所有配置正确无误后,启动 BIND 服务。

sudo systemctl enable named
sudo systemctl start named
检查 DNS 服务状态:使用systemctl status named 命令检查 BIND 服务的当前状态。
2、修改 /etc/resolv.conf 文件:编辑/etc/resolv.conf 文件,添加或修改nameserver 行,指定需要使用的 DNS 服务器的 IP 地址。
sudo vi /etc/resolv.conf
添加以下内容:
nameserver 8.8.4.4 nameserver 8.8.8.8
保存并关闭文件,如果只修改了/etc/resolv.conf 文件,DNS 配置不会立即生效,需要重启 NetworkManager 服务或者重启系统,但也可以通过以下命令使修改立即生效:
sudo systemctl restart network
3、使用 nmcli 命令行界面:适用于通过 NetworkManager 管理网络的系统,首先查看网络连接的名称:

nmcli con show
然后设置新的 DNS 服务器地址,并使用您的网络连接名称替换 YourConnectionName 和您选择的 DNS 服务器替换 DNS1 和 DNS2(Google 的公共 DNS 服务器 8.8.8.8 和 8.8.4.4)。
nmcli con mod YourConnectionName ipv4.dns "8.8.4.4 8.8.8.8" nmcli con mod YourConnectionName ipv4.ignoreautodns yes
重新启动网络连接以使修改生效。
nmcli con up YourConnectionName
4、编辑网卡配置文件:打开网络配置文件,根据网卡的名称选取对应的文件,网卡配置文件通常位于/etc/sysconfig/networkscripts/ 目录下,并以ifcfg 网卡名称命名,比如ifcfgeth0,使用文本编辑器打开相应的配置文件(假设网卡名称为 eth0)。
sudo vi /etc/sysconfig/networkscripts/ifcfgeth0
在文件中找到以DNS1、DNS2 为关键字的行,如果不存在,则添加它们,并将其值设置为您希望使用的 DNS 服务器地址。
DNS1=8.8.4.4 DNS2=8.8.8.8
如果文件中包含PEERDNS=yes,并且你想要使用静态设置的 DNS,而不是 DHCP 分配的 DNS,你需要将其更改为PEERDNS=no,保存文件并退出编辑器,重新启动网络服务以使新的 DNS 设置生效。

sudo systemctl restart network
二、问题与解答
1、如何在 CentOS 上安装 BIND?
解答:在 CentOS 上安装 BIND 可以通过yum 命令进行,执行以下命令来安装 BIND 及其相关工具:sudo yum install bind bindutils,这将安装 BIND 的主程序以及一些用于 DNS 查询的工具,如dig 和nslookup。
2、如何修改 CentOS 的 DNS 配置?
解答:有多种方法可以修改 CentOS 的 DNS 配置,一种常见的方法是编辑/etc/resolv.conf 文件,添加或修改nameserver 行来指定所需的 DNS 服务器 IP 地址,另一种方法是使用nmcli 命令行界面来设置新的 DNS 服务器地址,并通过 NetworkManager 管理网络连接,还可以直接编辑网卡配置文件来指定静态的 DNS 服务器地址。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/134314.html