DNS服务

DNS服务

DNS服务

IP地址<—–>域名

正向反向两种解析方式

正向:IP–>域名

反向:域名—->IP

查询方式分为递归查询迭代查询,默认递归查询

递归查询:需要向客户端返回一个正确的结果,如果查询不到就继续向上查询

迭代查询:当前服务器不一样返回一个正确的结果,会将下一个DNS服务器地址发送给客户端,由客户端决定是否继续查询

主流的DNS协议是BIND(伯克利因特网名称域)

全球总共有13台DNS根服务器

主服务器:解析本区域的域名和IP

从服务器:从主服务器更新数据,防止主服务器宕机

缓存服务器:用来解决本地用户在高频率的查询中,缓解主服务器的压力

配置文件

主配置文件:named.conf

区域配置文件:named.rfc1912.zone

数据配置文件::自定义

配置

yum install bind-chroot bind-utils -y             //安装DNS软件BIND

[root@localhost ~]# rpm -ql bind-chroot //使用rpm查询是否安装以及查看文件位置 /usr/lib/systemd/system/named-chroot-setup.service /usr/lib/systemd/system/named-chroot.service /usr/libexec/setup-named-chroot.sh /var/named/chroot /var/named/chroot/dev /var/named/chroot/dev/null /var/named/chroot/dev/random /var/named/chroot/dev/zero /var/named/chroot/etc /var/named/chroot/etc/named /var/named/chroot/etc/named.conf /var/named/chroot/etc/pki /var/named/chroot/etc/pki/dnssec-keys /var/named/chroot/run /var/named/chroot/run/named /var/named/chroot/usr /var/named/chroot/usr/lib64 /var/named/chroot/usr/lib64/bind /var/named/chroot/var /var/named/chroot/var/log /var/named/chroot/var/named /var/named/chroot/var/run /var/named/chroot/var/tmp [root@localhost ~]#

启动named-chroot>之前只有两个目录

root@localhost ~]# ll /var/named/chroot/etc/ total 0 drwxr-x—. 2 root named 6 Apr 12 2018 named drwxr-x—. 3 root named 25 Sep 28 00:18 pki

[root@localhost ~]# systemctl start named-chroot
//启动服务

[root@localhost ~]# ll /var/named/chroot/etc/ //启动之后会增加配置文件 total 688 -rw-r–r–. 3 root root 3519 Jan 30 2018 localtime drwxr-x—. 2 root named 6 Apr 12 2018 named -rw-r—–. 1 root named 1705 Mar 22 2016 named.conf -rw-r–r–. 1 root named 3923 Apr 12 2018 named.iscdlv.key -rw-r—–. 1 root named 931 Jun 21 2007 named.rfc1912.zones -rw-r–r–. 1 root named 1587 May 22 2017 named.root.key drwxr-x—. 3 root named 25 Sep 28 00:18 pki -rw-r–r–. 1 root root 6545 Jun 7 2013 protocols -rw-r—–. 1 root named 100 Sep 28 00:23 rndc.key -rw-r–r–. 1 root root 670293 Jun 7 2013 services [root@localhost ~]#

编辑配置文件named.conf

[修改两个any,添加一个区域文件配置,修改11、12、17行,文件末尾增加zone配置文件]>

这种做法就是把区域配置文件写到主配置文件

13行  本地IP127.0.0.1修改为any   //设置所有本机地址都可以被客户机写为DNS地址
删除14行IPV6
19行  locaohost修改为any		//允许哪些客户端可以查询
在 allow-query下方添加一条forwarders {8.8.8.8;};
        recursion yes;			//允许递归查询
        dnssec-enable no;		//关闭
		dnssec-validation no;	//关闭
在最下方增加一个区域配置文件
 zone "test.com" IN {					//test.com域
        type master;					//类型是主服务器
        file "test.com.zone";			//所有的解析有依据这个区域配置文件
};

可以使用named-checkconf来验证以下配置文件是否配置正确

全球13台DNS根服务器地址写在/var/named/chroot/var/named/named.ca>

区域配置文件模板var/named/named.localhost

可以将区域配置文件存在/var/named/chroot/var/named

配置文件:/etc/named.conf

区域文件:/var/named/

[root@localhost named]# vim test.com.zone 

$TTL 1D
$ORIGIN test.com.
@       IN SOA  test.com. admin.test.com. (
                                        2019001 ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN NS ns1.test.com.
ns1     IN A 192.168.44.130
www     IN A 192.168.44.129
$TTL 1D        //过期时间
$ORIGIN test.com. 		//域名
@       IN SOA  test.com. admin.test.com. (				
					//授权信息的开始,第一个是配置的域名,第二个其实是管理员的邮箱
           2020001 ; serial			//表示配置文件的修改版本,格式是修改的次数,每次修改这个文件都应该修改这个数字,要不然所做出的的修改不会更新到网上的其他的DNS服务器的数据库上。
           1D      ; refresh		//定义的是以单位的刷新频率即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据时最新的
           1H      ; retry			//这个值规定了以小时为单位的重试的时间间隔,即当从服务器试图在主服务器上查询更新是,而连接失败了,则这个值规定了从服务器多长时间后再试
           1W      ; expire			//失效时间,以周为单位,超过改时间扔无法更新地址数据库,则不在尝试
            ,3H )    ; minimum		//无效地址解析记录的默认时间,以小时为单位,上面这个数据用来规定缓冲服务器不能与主服务器联系上后多长时间清楚响应的记录	
@		IN NS ns1.test.com.		//表示主机的域名字是什么

ns1     IN A 192.168.44.130		//创建正向记录
www     IN A 192.168.44.129		//创建正向记录

可以使用named-checkzone test.com test.com.zone来检查配置文件是否正确

avatar
avatar

需要将属主更改为named

avatar
avatar

需要将自己的DNS地址设置为自己的IP,如果不设置可以使用dig命令来测试是够正确

参数 说明
@server 指定服务器地址
-b host 指定通过哪个主机查询
-f file 从指定配置文件来进行查询
-p port 指定使用的端口
-t type 指定要查询的DNS类型,例如A,MX,PTR
-x ip 指定DNS查询,输入ip得到域名
-4 使用ipv4
-6 使用ipv6

avatar
avatar

如果不加short就是查询详细信息

avatar
avatar

可以尝试通过本机来解析百度的域名

avatar
avatar

因为本机中没有百度的域名所以就递归向上层查询,向上层十三台服务器查询

也可以更改/etc/resolv.conf

[root@localhost named]# cat /etc/resolv.conf
# Generated by NetworkManager
search test.com.
nameserver 192.168.44.129

就可以通过ping短域名来实现ping通了

可以通过修改/etc/hosts来实现直接ping主机名来ping通

avatar
avatar

http://www.hangdaowangluo.com/archives/1603

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/sec-bind#sec-bind-zone

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus