/etc/resolv.conf
文件来添加或更改 DNS 服务器地址。一、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 服务器地址。