本帖最后由 SANGFOR_HZ 于 2022-10-21 21:01 编辑
DNS详解以及常用应用案例
一、DNS的简介 DNS(Domain Name System)即“域名系统”。在一个TCP/IP架构的网络(例如Internet)环境中,IP地址用于标识主机地址,DNS的主要功能是易于记忆的Domain Name(域名)与人不容易记忆的IP 地址进行转换。网络中执行DNS服务的主机称为DNS服务器(域名服务器)。DNS服务器除了将域名转换为IP地址外(“正向解析”),还可以将IP 地址转换成域名(“逆向解析”)。
二、DNS的解析过程 (1)因为系统中存在一个hosts文件,可以用来解析域名。在系统中,一般是先查找hosts文件,如果在hosts文件中发现 www.abc.com记录,则直接返回结果。 (2)如果hosts文件中没有发现该记录,则把查询指令转发到系统中指定的域名服务器,进行DNS查询。 (3)指定域名服务器在自己的缓存中查找相应的域名记录,如果存在该记录,则返回结果;否则,把这个查询指令转发到根域名服务器。 (4)在根域名服务器的记录中,根据递归查询的规则,只能返回顶级域名com,并且把能够解析com的域名服务器的地址告诉客户机。 (5)客户机根据返回的信息,继续向com域名服务器发送递归请求,收到请求的、能够正确返回abc.com域名信息的域名服务器,再把相关信息返回给客户机。 (6)客户机再次向abc.com的域名服务器发送递归请求,收到请求的服务器再次进行解析;该服务器已经能够把 www.abc.com域名完全解析到一个IP地址,并把这个IP地址返回。
三、DNS案例 1、案例1(域名解析) (1)实施环境:Centos.x86_64 (2)要求: 现有一区域为abc.com,dns服务器为192.168.2.100,在该区域内有主机www,IP地址为1.1.1.1;主机ftp,IP地址为2.2.2.2;主机mail,IP地址为3.3.3.3,有两个别名为:pop3和smtp;还有一个MX。要求能够实现这些主机域名解析。 (3)网络拓扑图: 用绘制工具绘制出拓扑图如下图所示:
(4)DNS服务器的搭建 第一步:安装dns安装包,首先挂载光盘,然后进入到光盘的安装包的文件下查找与dns相关的安装包,这些安装包有bind和bind-chroot,找到后然后进行安装。 //挂载光盘 [root@huangzhong ~]# mount /dev/cdrom /media/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only //进入光盘的安装包目录下查找bind安装包 [root@huangzhong ~]# cd /media/cdrom/Packages/ [root@huangzhong Packages]# ll |grep bind -r--r--r--. 2 root root 4157992 Feb 24 2013 bind-9.8.2-0.17.rc1.el6.x86_64.rpm -r--r--r--. 2 root root 71924 Feb 24 2013 bind-chroot-9.8.2-0.17.rc1.el6.x86_64.rpm //安装这两个安装包 [root@huangzhong Packages]# yum install bind-9.8.2-0.17.rc1.el6.x86_64.rpm bind-chroot-9.8.2-0.17.rc1.el6.x86_64.rpm 第二步:首先在终端下产生钥匙,然后再直接启动named服务,并查看端口 //产生钥匙
//启动named服务 [root@huangzhong ~]# service named start Generating /etc/rndc.key: [ OK ] Starting named: [ OK ] //查看端口号 [root@huangzhong ~]#netstat -tupln |grep 53 tcp 0 0 192.168.2.100:53 0.0.0.0:* LISTEN 2250/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2250/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2250/named tcp 0 0 ::1:53 :::* LISTEN 2250/named tcp 0 0 ::1:953 :::* LISTEN 2250/named udp 0 0 192.168.2.100:53 0.0.0.0:* 2250/named udp 0 0 127.0.0.1:53 0.0.0.0:* 2250/named udp 0 0 ::1:53 :::* 2250/named 第三步:启动named服务后,此时进到/var/named/chroot/etc/目录下可以看到产生了named服务的配置,然后编辑/var/named/chroot/etc/目录下的配置文件named.conf,编辑的内容如下图所示: //打开文件编辑 [root@huangzhong etc]# vim named.conf 第四步:编辑完named.conf文件后保存退出,然后编辑named.rfc1912.zones //打开文件编辑,编辑结果如下图所示: [root@huangzhong etc]# vim named.rfc1912.zones 第五步:编辑完文件named.rfc1912.zones后保存退出,然后到/var/named目录下,拷贝named.localhost命名为abc.com.zone,然后编辑文件abc.com.zone。 //拷贝named.localhost命名为abc.com.zone [root@huangzhong named]# cp -p named.localhost abc.com.zone //编辑文件vim abc.com.zone [root@huangzhong named]# vim abc.com.zone 第六步:重新启动named服务 [root@huangzhong named]# service named restart Stopping named: . [ OK ] Starting named: [ OK ] (5)测试验证: 在本机上测试验证,首先把本机的DNS指向自己,操作如下: //编辑文件/etc/resolv.conf,编辑结果如下: [root@huangzhong named]# vim /etc/resolv.conf 编辑完后然后保存退出,然后进行测试: Server:192.168.2.100 Address:192.168.2.100#53 Address: 1.1.1.1 [root@huangzhong ~]# nslookup ftp.abc.com Server:192.168.2.100 Address:192.168.2.100#53 Name:ftp.abc.com Address: 2.2.2.2 [root@huangzhong ~]# nslookup mail.abc.com Server:192.168.2.100 Address:192.168.2.100#53 Name:mail.abc.com Address: 3.3.3.3 在主机192.168.2.101上测试,结果如下图所示: |