CentOS 7 配置 DNS 详细步骤
一、安装 BIND 服务及工具
1、更新系统软件包:在配置 DNS 之前,建议先更新系统软件包以确保系统的稳定性和安全性,执行以下命令:
sudo yum update y
2、安装 BIND 服务:使用yum
命令安装 BIND 服务及其相关工具(如bindutils
,包含dig
和nslookup
等实用程序):
sudo yum install bind bindutils y
3、启动并启用 BIND 服务:安装完成后,启动 BIND 服务,并设置开机自启:
sudo systemctl start named sudo systemctl enable named
二、配置主配置文件
1、备份原配置文件:为防止配置错误导致系统问题,先将原始的主配置文件进行备份:
sudo cp /etc/named.conf /etc/named.conf.bak
2、编辑主配置文件:使用文本编辑器打开/etc/named.conf
文件,并进行如下修改:
设置监听地址和端口:通常监听所有网络接口的 IPv4 地址和标准 DNS 端口(53)。
listenon port 53 { any; };
允许查询的网段:根据实际需求设置允许进行 DNS 查询的客户端 IP 地址范围,例如允许任何地址查询:
allowquery { any; };
指定日志文件位置:设置日志文件的存储路径和名称,方便查看 DNS 服务的运行日志。
logging { channel default_debug { file "var/named/data/named.run"; severity dynamic; }; };
三、配置正向解析区域
1、创建正向区域配置文件目录:在/var/named
目录下创建用于存放正向区域配置文件的目录(如果不存在):
sudo mkdir p /var/named/正向区域
2、创建正向区域配置文件:在该目录下创建一个以域名命名的正向区域配置文件,如example.com.zone
(假设要配置的域名为example.com
),并添加以下内容:
$TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. ns1 IN A 192.168.1.2 www IN A 192.168.1.3
$TTL
:定义记录的生存时间(Time To Live),单位为秒。
@
:代表域名本身。
IN
:表示 Internet 类别。
SOA
:起始授权机构记录,包含主服务器、管理员邮箱等信息以及一些计时器参数。
NS
:声明该域名的权威名称服务器。
A
:将主机名映射到 IP 地址的记录。
3、在主配置文件中引用正向区域文件:打开/etc/named.conf
文件,在zone
语句块中添加对刚刚创建的正向区域文件的引用:
zone "example.com" { type master; file "/var/named/正向区域/example.com.zone"; };
四、配置反向解析区域(可选)
1、确定反向解析域名:根据正向解析的 IP 地址确定反向解析的域名,如果正向解析的 IP 地址是192.168.1.3
,则反向解析域名可能是3.1.168.192.inaddr.arpa
。
2、创建反向区域配置文件目录:在/var/named
目录下创建用于存放反向区域配置文件的目录(如果不存在):
sudo mkdir p /var/named/反向区域
3、创建反向区域配置文件:在该目录下创建一个以反向解析域名命名的反向区域配置文件,如3.1.168.192.zone
,并添加类似如下内容:
$TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; * IN PTR ns1.example.com.
4、在主配置文件中引用反向区域文件:同样在/etc/named.conf
文件中的zone
语句块中添加对反向区域文件的引用:
zone "3.1.168.192.inaddr.arpa" { type master; file "/var/named/反向区域/3.1.168.192.zone"; };
五、测试 DNS 配置
1、检查配置文件语法:使用namedcheckconf
命令检查 BIND 配置文件的语法是否正确:
sudo namedcheckconf /etc/named.conf
如果输出显示 “syntax ok”,则表示配置文件语法正确;否则,会根据提示信息进行相应的修改。
2、重启 BIND 服务:使新的配置生效,需要重启 BIND 服务:
sudo systemctl restart named
3、使用dig
命令测试:使用dig
命令测试域名解析是否正常,例如测试example.com
的 A 记录解析:
dig @localhost example.com
如果返回正确的 IP 地址,则表示正向解析配置成功;如果需要测试反向解析,可以使用类似如下命令:
dig x 192.168.1.3
如果能正确返回域名,则表示反向解析配置成功。
相关问题与解答
1、问题:如果在测试 DNS 配置时,dig
命令无法获取到正确的解析结果,可能的原因是什么?
解答:可能有以下原因:一是配置文件中存在语法错误,可再次使用namedcheckconf
命令仔细检查配置文件;二是防火墙或安全组策略阻止了 DNS 查询请求,需要检查相关网络设置并确保允许 DNS 流量通过;三是 BIND 服务未正确启动或运行出现异常,可以通过systemctl status named
命令查看服务状态并进行排查。
2、问题:如何修改已配置好的 DNS 记录?
解答:首先找到对应的区域配置文件(正向或反向),使用文本编辑器打开该文件,然后修改相应的记录内容,修改完成后,保存文件并重启 BIND 服务使修改生效,需要注意的是,修改 SOA 记录中的序列号时要确保其值递增,以保证 DNS 数据的一致性和可靠性。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/187918.html