一、安装bind服务
命令:yum install bind
二、修改DNS配置文件
1、/etc/named.conf 主配置文件 服务器主要运行参数
2、/etc/named.rfc1912.zones 区域文件,主要指定要解析哪个域名
3、/var/named/xxx.xx 数据文件,用来正向和反向的解析
三、资源记录的类型
(1)A记录(Address)正向解析
A记录是将一个主机名(全称域名FQDN)和一个IP地址关联起来。这也是大多数客户端程序默认的查询类型。
(2)PTR记录(Pointer)反向解析
PTR记录将一个IP地址对应到主机名(全称域名FQDN)。这些记录保存在in-addr.arpa域中。
(3)CNAME记录(Canonical Name)别名
别名记录,也称为规范名字(Canonical Name)。这种记录允许您将多个名字映射到同一台计算机。
(4)MX记录(Mail eXchange)
MX记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。
当有多个MX记录(即有多个邮件服务器)时,则需要设置数值来确定其优先级。通过设置优先级数字来指明首选服务器,数字越小表示优先级越高。
(5)NS记录(Name Server)
NS(Name Server)记录是域名服务器记录,也称为授权服务器,用来指定该域名由哪个DNS服务器来进行解析。
将网站的NS记录指向到目标地址,在设置NS记录的同时还需要设置目标网站的指向,否则NS记录将无法正常解析
NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。
四、配置前的准备工作
1、配置好本地光盘yum源或者配置网络yum源
2、设置好防火墙开放UDP的53端口,或者直接关闭防火墙:
防火墙永久关闭:/etc/init.d/iptables stop
service iptables stop
3、关闭selinux
selinux临时关闭:setenforce 0
selinux永久关闭:sed –i“7s/enforcing/disabled/g”/etc/selinux/config
(1)安装bind软件
[root@localhost ~]# yum -y install bind
(2)修改主配置文件/etc/named.conf两个地方为{any}
[root@localhost ~]# vim /etc/named.conf

(3)修改区域文件/etc/named.rfc1912.zones
配置文件说明:
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "kyh.com" IN { “kyh.com”指访问得域名
type master; 服务类型:主服务器
file "named.zheng"; 正向解析文件名,域名与IP地址解析规则保存的文件位置
allow-update { none; }; 允许哪些客户机动态更新解析地址(none:不允许)
};
zone "252.168.192.in-addr.arpa" IN { 表示192.168.252.0/24 网段的方向解析区域
type master;
file "nemad.fan"; 反向解析文件名(名称可以自定义)
allow-update { none; };
};
提示:上面的配置文件可以只保留两个地方,一个正向解析域名,一个反向解析域名,其余都可以删除
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
生成上面的/etc/named.rfc1912.zones配置文件中指定的正反解析文件
[root@localhost named]# cp -a named.localhost named.zheng
[root@localhost named]# cp -a named.loopback named.fan
(4)修改上面的正向解析文件和反向解析文件
正向解析文件named.zheng的修改
$TTL 1D
@ IN SOA kyh.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.kyh.com.
dns A 192.168.252.10 dns服务器的IP地址
www A 192.168.252.20 www服务器的IP地址
AAAA ::1
反向解析文件named.fan的修改:
[root@localhost named]# vim named.fan
@ IN SOA kyh.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.kyh.com.
10 PTR dns.kyh.com. 10 为DNS服务器地址的末尾地址
20 PTR www.kyh.com. 20 为DNS服务器地址的末尾地址
[root@localhost named]# systemctl start named.service 启动dns服务
如果启动不了,那么主配置文件肯定存在问题:
主要还是配置文件的文件,按照提示输入named-checkconf -z "$NAMEDCONF"检查一下配置文件;总之,遇到DNS服务不能启动,无非就是主配置文件或数据配置文件写错了,可以使用named-checkconf /etc/named.conf和named-checkzone yourDNS域名和路径来检查配置文件是否有问题
注:主服务器配置完成后,防火墙一定要开启DNS服务 即:
1、firewall-cmd --permanent --zone=public --add-service=dns
2、firewall-cmd –reload
或者:关闭防火墙iptables -F setenforce 0 等
(5)找一个客户端,把DNS修改成成我们的DNS服务器IP地址,然后保存退出,重启网卡
[root@localhost]# vim /etc/sysconfig/network-scripts/ifcfg-ens160
DNS1=192.168.252.10
[root@localhost]# systemctl restart network.service
[root@localhost]# cat /etc/resolv.conf 查看DNS已经修改成我们搭建的了
# Generated by NetworkManager
nameserver 192.168.252.10
[root@localhost network-scripts]# yum install bind-utils 安装nslookup命令的软件包
[root@localhost network-scripts]# nslookup
> 192.168.252.10 查看用ip能否解析成域名
10.252.168.192.in-addr.arpa name = dns.kyh.com.
[root@localhost named]# nslookup
> www.kyh.com 查看用域名能否解析成IP地址
Server: 192.168.252.10
Address: 192.168.252.10#53
Name: www.kyh.com
Address: 192.168.252.20
Name: www.kyh.com
Address: ::1
(6)再创建一台虚拟机作为网页服务器,把IP地址修改为我们DNS服务器解析的IP地址,然后安装httpd服务
[root@localhost network-scripts]# yum -y install httpd
[root@localh ost network-scripts]# systemctl start httpd.service
(7)在客户机上输入网址解析即可
[root@localhost network-scripts]# yum -y install elinks
[root@localhost network-scripts]# elinks www.long.com