DNS服务器在网络中的应用

DNS服务工作原理:

DNS就是将域名与ip地址相互解析的过程,从域名解析成地址成为正向区域,90%都使用此区域,还有一少部分采用反向区域,地址解析成域名。

域名结构:

主机域名一般结构为:主机名、一级域名、二级域名、三级域名。

例:

一级域名:  .com(表示商业机构)  .cn(表示国家  中国缩写) .net(表示网络服务机构) .edu(表示教育机构)

二级域名: baidu.com   51cto.com   sina.com

三级域名: blog.51cto.com

主机名  : yuanye1128.blog.51cto.com

DNS查询方式

1、递归查询:一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本地不能解析,则会向另外的DNS服务器发出请求,得到结果后转交给客户机。

2、迭代查询:一般DNS服务器之间属于迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3ipDNS2,以便其再向DNS3发出请求。

DNS服务器分类:

缓存DNS服务器、主DNS服务器、辅助DNS服务器

DNS软件:

Linux下最常用的DNS软件就是bind

案例一:域名解析

要求:客户机能解析出abc.com域中主机www、ftp、mail的DNS

DNS服务器:192.168.1.101

www:1.1.1.1

ftp:2.2.2.2

mail:3.3.3.3

拓扑图:

步骤:

挂载光驱:

[root@localhost ~]# mount /dev/cdrom /media/cdrom/

安装bindbind-chrootbind-utils

[root@localhost ~]# yum --disablerepo=\* --enablerepo=c6-media install bind bind-chroot bind-utils

开启DNS服务器

查看DNS根目录(var/named/chroot)下的配置文件夹etc,发现多了很多配置文件

编辑配置文件named.conf

11行和17行改为any,保存退出

wKiom1No9obgxF4KAAENMk1Nxx4643.jpg

然后编辑区域声明文件named.rfc1912.zones

我们可以模仿19-23行,添加一个区域25-29行,保存退出

DNS根目录var/named/chroot/vat/named中还添加一个区域文件abc.com.zone

将样例文件拷贝过去修改一下即可,然后编辑该文件

按要求修改名称解析库文件

测试:

把自己看做客户端,修改DNS

wKioL1No9lzDcxo3AAArdcDvzlM284.jpg

wKiom1No9oeBbuKhAAA-HTxXG8c893.jpg

使用nslookup查看

wKioL1No9l_ixcYdAACT_0ltx_M676.jpg

使用dig查看mx

[root@localhost named]# dig -t mx abc.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> -t mx abc.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64854

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:

;abc.com.INMX

;; ANSWER SECTION:

abc.com.86400INMX10 mail.abc.com.

;; AUTHORITY SECTION:

abc.com.86400INNSns.abc.com.

;; ADDITIONAL SECTION:

mail.abc.com.86400INA3.3.3.3

ns.abc.com.86400INA182.168.1.101

; Query time: 0 msec

;; SERVER: 192.168.1.101#53(192.168.1.101)

;; WHEN: Sun May  4 03:43:00 2014

;; MSG SIZE  rcvd: 95

由图中可以看出我们的实验已经完成。

案例二:DNS服务器主辅同步

要求:

DNS  cent os 6  192.168.1.100

辅助    cent os 6   192.168.1.101

DNS服务器:

1.安装软件

2.开启DNS服务

3.配置文件named.conf区域声明文件named.rfc1912.zones

4.var/named/chroot/vat/named目录中,把named.localhost拷贝到该目录中为abc.com.zone并配置该文件

步骤与案例一中相同

辅助DNS服务器:

首先安装软件包、开启DNS服务器,编辑named.conf,和案例一步骤相同,如果缺少钥匙文件可以用rndc -confgen -a 产生钥匙。

编辑区域声明文件named.rfc1912.zones 新建一个域abc.com

wKioL1No9z7BQSN_AACph6YxGMY537.jpg

保存后重新加载配置文件

[root@localhost etc]# rndc reload

查看日志主服务器已经将数据传递到辅助服务器上

wKiom1No92mx3J2-AAG9NDmiYl4746.jpg

同步过来的数据

案例三:DNS服务器授权转发

要求:根域a.com有两个子域,分别为bi.a.comsh.a.com,父域为a.com,其中父域DNS授权管理子域sh.a.comwww主机ip地址分别为1.1.1.1 2.2.2.2 3.3.3.3 子域sh.a.com能够访问其他两个域。

拓扑图:

步骤:

1.安装软件

2.开启DNS服务

3.配置文件named.conf

都与案例一相同

编辑named.rfc1912.zones,添加两个域

wKiom1NtyIbThKCJAACOR8GJA0c772.jpg

产生相应文件并给父域授权

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

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

相同方法给子域授权

[root@localhost named]# cp -p named.localhost bj.a.com.zone

[root@localhost named]# vim bj.a.com.zone

wKiom1NtyIaRp5FtAACR_RYziBs961.jpg

编辑完成后重新加载区域

[root@localhost named]# rndc reload  

server reload successful  表示加载成功

下面开始做子域的DNS

安装同上,编辑comed.conf文件:

修改配置文件,注意将202122和最后一行注释掉

[root@localhost chroot]# cd etc/

[root@localhost etc]# vim named.conf

然后编辑named.rfc1912.zones

新建一个域25-29行

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

保存退出后,到var/named 目录中,吧named.localhost拷贝成sh.a.com.zone,并编辑

[root@localhost etc]# cd /var/named/

[root@localhost named]# cp -p named.localhost sh.a.com.zone

[root@localhost named]# vim sh.a.com.zone

保存退出后重新加载区域

[root@localhost named]# rndc reload

server reload successful

测试:

授权:a.com中主机可以解析出其他主机

转发:在子域sh.a.com上也可以解析出其他主机

wKioL1NtyLKRWeisAAF5EzXeya4393.jpg

案例四:DNS轮询

要求:baidu.com的其中一个DNS服务器管理某区域,该区域www主机ip1.1.1.12.2.2.2,要求该区域主机访问baidu.com时,通过轮询方式,将1.1.1.12.2.2.2轮流配发给主机。

拓扑图:

wKioL1NtyWOjM97-AAB9cDJbON8959.jpg

步骤:

安装DNS软件包与上面案例相同,配置named.conf也同案例一

编辑named.rfc1912.zones 增加一个域

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

然后到var/named目录下,拷贝namedlocalhostbaidu.com.zone,并编辑

[root@localhost etc]# cd ../var/named/

[root@localhost named]# cp -p named.localhost baidu.com.zone

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

wKioL1NtyWPSd5onAACuBubzzf8874.jpg

测试:

两次解析的地址顺序不同