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的请求,则它会将DNS3的ip给DNS2,以便其再向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/
安装bind、bind-chroot、bind-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,保存退出
然后编辑区域声明文件named.rfc1912.zones
我们可以模仿19-23行,添加一个区域25-29行,保存退出
在DNS根目录var/named/chroot/vat/named中还添加一个区域文件abc.com.zone
将样例文件拷贝过去修改一下即可,然后编辑该文件
按要求修改名称解析库文件
测试:
把自己看做客户端,修改DNS
使用nslookup查看
使用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
保存后重新加载配置文件
[root@localhost etc]# rndc reload
查看日志主服务器已经将数据传递到辅助服务器上
同步过来的数据
案例三:DNS服务器授权转发
要求:根域a.com有两个子域,分别为bi.a.com和sh.a.com,父域为a.com,其中父域DNS授权管理子域sh.a.com,www主机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,添加两个域
产生相应文件并给父域授权
[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
编辑完成后重新加载区域
[root@localhost named]# rndc reload
server reload successful 表示加载成功
下面开始做子域的DNS
安装同上,编辑comed.conf文件:
修改配置文件,注意将20、21、22和最后一行注释掉
[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上也可以解析出其他主机
案例四:DNS轮询
要求:baidu.com的其中一个DNS服务器管理某区域,该区域www主机ip为1.1.1.1和2.2.2.2,要求该区域主机访问baidu.com时,通过轮询方式,将1.1.1.1和2.2.2.2轮流配发给主机。
拓扑图:
步骤:
安装DNS软件包与上面案例相同,配置named.conf也同案例一
编辑named.rfc1912.zones 增加一个域
[root@localhost etc]# vim named.rfc1912.zones
然后到var/named目录下,拷贝namedlocalhost为baidu.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
测试:
两次解析的地址顺序不同