DNS的概念: 即域名系统,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务,其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。

下面对DNS的工作流程及原理进行简要说明

DNS的查询流程:先看本机的/etc/hosts;如果查不到,就看本地的DNS缓存服务器;在查不到就查找所属域的首选DNS服务器;最后查不到的话就向根发送请求,进行递归+迭代查询。

DNS 的查询规则:递归+迭代;递归即用户向DNS Server发出解析请求,DNS服务器不论是自身直接解析还是无法解析,总会由其向用户返回一个结果;迭代即接收 client解析请求的DNS Server,若其能够解析则直接返回结果,若其不能解析将把解析请求交给其他DNS服务器,而不是自己亲自将解析过程完成。


DNS记录的类型:

A:主机域名向ip地址转换的记录;

NS:代表域内的dns服务器;

MX:代表域内的邮件服务器;

CNAME:域名的别名;

SOA:用于标示域内主DNS服务器。

为了便于大家理解,我在下面做几个案例,供大家参考

DNS案例1《简单的域名解析》

域名 abc.com

DNS服务器 192.168.1.249

www 1.1.1.1

ftp 2.2.2.2

首先安装软件bind bind-chroot bind-utils

[root@zhao Packages]# yum install bindbind-chroot bind-utils      //安装三个软件

找到DNS的根目录下的配置目录,并且查看里面文件,然后重启DNS服务,会发现配置文件里面多出几个文件

[root@zhao ~]# cd /var/named/chroot/etc/


wKioL1NowxehlRF-AADsgPo3bmE915.jpg

启动后的配置文件


wKiom1Now07DixH0AAGcDUNdEG4094.jpg

生成密钥

[root@zhao etc]# rndc-confgen –a       //产生密钥

wKioL1Now4qwS6t5AABpHiOWdos424.jpg


配置named.conf

[root@zhao etc]# vim named.conf     //编辑配置文件



wKiom1Now_uQLoDbAAM4oma1QGU796.jpg

wKiom1NoxCLy0GMMAAE3G4Ols6I614.jpg

完成保存退出

然后编辑named.rfc1912.zones

[root@zhao etc]# vim named.rfc1912.zones


wKioL1NoxB7wwNoqAAEm5QdZiK8849.jpg


保存退出,然后找到配置文件中的rndc.key文件,改变所属组为named,并且赋予可读权限

[root@zhao etc]# chgrp named rndc.key    //改变所属组

[root@zhao etc]# chmod g+r   rndc.key  //改变同组成员具有可读权限

以上完成以后执行语法检测

wKiom1NoxHDg84YaAACyYSWfdaE674.jpg


最后来/var/named/chroot/var/named/文件中编写区域文件

wKioL1NoxGXjGPgCAAJEwb5xY4s281.jpg

[root@zhao named]# cp -p named.localhostabc.com.zone    //拷贝模板

[root@zhao named]# vim abc.com.zone     //编辑区域文件

wKiom1NoxLTT9UWdAAF7ZApf-dI760.jpg

保存退出

重启服务

[root@zhao named]# rndc reload    //刷新数据

然后另外打开一台电脑,并且两台电脑之间可以通信,把DNS指向改成192.168.1.249,进行域名解析

wKioL1NoxLTjUzvIAAGrciA7JXs792.jpg




DNS案例2《主辅同步》


域名 abc.com

主DNS服务器 192.168.1.249

辅DNS服务器 192.168.1.248

www 1.1.1.1

ftp 2.2.2.2


主DNS服务器配置基本不变,辅助服务器就是改变个地方,首先主配置文件named.conf

wKioL1NozCPBK2Y9AANbxyeEt3o592.jpg

其余配置和主DNS服务一样,然后在主DNS的abc.com.zone区域文件里面增加一个mail为3.3.3.3,序列号增加一,然后rndc reload更新数据,在辅助服务器上测试,可以发现数据已经同步

wKioL1Noz9jBqPnRAAGBDzRxBtw769.jpg

测试结果

wKioL1No0A7xYlQ0AACBr0PtsyI130.jpg

完成



案例3《授权与转发》

父域对子域授权,子域对父域转发,拓扑图如下

wKioL1No1luC3oToAAEzB5Y9MDc322.jpg

修改192.168.1.249服务[root@zhao ~]# vim /var/named/chroot/etc/named.rfc1912.zones

wKiom1No2OrQvozxAAE28bNYXEs747.jpg


[root@zhao ~]# cd /var/named/chroot/var/named/   //进到这个文件下,生成a.abc.com的子域


[root@zhao named]# cp -p named.localhost a.abc.com

[root@zhao named]# vim a.abc.com.zone      //编辑子域

wKioL1No2q3A9N1fAADWHQ9hO4g982.jpg


[root@zhao named]# vim abc.com.zone    //编辑父域对子域授权

wKioL1No3RHS3UEfAAGnqbmvMSE980.jpg


配置192.168.1.248服务器

[root@zcl etc]# vim named.rfc1912.zones

wKiom1No5dWicLYXAAJimFsuNBw183.jpg


[root@zcl etc]# vim named.conf   //配置文件,实现转发

wKiom1No5gXiegmGAANxkuFvF5U914.jpg

[root@zcl named]# cp -p named.localhost b.abc.com.zone

[root@zcl named]# vim b.abc.com.zone   //编辑区域文件

wKiom1No52CxunzZAAEaYsK1ZEU584.jpg完成



案例4《视图》

wKioL1No7mfxYSPeAAFOwI-sUNc562.jpg从拓扑图可知从lan访问abc.com和从Internet访问abc.com解析出不同的DNS

服务器在这里我们采用案例1,只需修改一些主配置文件

编辑主配置文件named.conf

wKiom1NpCuuT-wf0AAE3wKoHC4M319.jpg

wKioL1NpCs2TbKmpAAGazDMKACM054.jpg


生成区域文件

[root@zhao named]# cp -p named.localhost abc.com.lan

[root@zhao named]# cp -p named.localhost abc.com.int

分别编辑这两个区域文件

wKiom1NpC8PBiFg5AAD1l5Vv8D0333.jpg

wKioL1NpC6WiWsbuAAEC2fYE1lQ926.jpg

完成后保存退出

重启服务