在 CentOS 7 中,DNS(域名系统)的配置和管理对于网络通信至关重要,DNS 的主要功能是将人类易于记忆的域名转换为计算机可识别的 IP 地址,本文将详细介绍如何在 CentOS 7 中配置和管理 DNS。
一、DNS 的基本概念
1、正向解析:将域名解析为 IP 地址,将www.example.com
解析为93.184.216.34
。
2、反向解析:将 IP 地址解析为域名,将93.184.216.34
解析为www.example.com
。
二、配置 DNS
1. 安装 Bind
Bind 是最常用的 DNS 服务器软件之一,可以通过以下命令安装:
sudo yum install bind bind-utils -y
2. 修改配置文件
主要修改以下几个文件:
(1)/etc/named.conf:主配置文件。
(2)/etc/named.rfc1912.zones:区域配置文件。
(3)/var/named/named.localhost:本地主机的区域文件。
(4)/etc/sysconfig/network-scripts/ifcfg-ens33:网卡配置文件,设置静态 IP 和 DNS。
(1)修改 /etc/named.conf
[root@centos ~]# vi /etc/named.conf
添加或修改以下内容:
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_logging { file "data/named.log" versions 3 size 5m; severity info; print-time yes; print-severity yes; print-category yes; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
(2)修改 /etc/named.rfc1912.zones
[root@centos ~]# vi /etc/named.rfc1912.zones
添加以下内容:
zone "example.com" IN { type master; file "forward"; allow-update { none; }; }; zone "0.168.192.in-addr.arpa" IN { type master; file "reverse"; allow-update { none; }; };
(3)创建正向解析文件 /var/named/forward
[root@centos ~]# vi /var/named/forward
添加以下内容:
$TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL IN NS ns1.example.com. ns1 IN A 192.168.1.2 www IN A 192.168.1.2
(4)创建反向解析文件 /var/named/reverse
[root@centos ~]# vi /var/named/reverse
添加以下内容:
$TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL IN NS ns1.example.com. 1 IN PTR ns1.example.com.
3. 启动并启用 DNS 服务
[root@centos ~]# systemctl start named [root@centos ~]# systemctl enable named
三、常见问题解答(FAQs)
Q1:如何更改 CentOS 7 中的 DNS 服务器?
A1:可以通过编辑/etc/resolv.conf
文件来更改 DNS 服务器,要使用 Google 的公共 DNS,可以添加以下内容:
nameserver 8.8.8.8 nameserver 8.8.4.4
保存并退出,然后重新启动 NetworkManager 服务:
[root@centos ~]# systemctl restart NetworkManager
或者,通过 nmcli 命令行工具修改:
nmcli con mod YourConnectionName ipv4.dns "8.8.8.8 8.8.4.4" nmcli con up YourConnectionName
Q2:如何测试新的 DNS 设置是否生效?
A2:可以使用ping
命令来测试新的 DNS 设置是否生效,要测试是否能解析www.google.com
,可以运行:
ping www.google.com
如果返回正确的 IP 地址,则说明 DNS 设置已生效。