redhat5下DNS配置详解
版权声明:原创作品,谢绝转载!否则将追究法律责任。在LINUX 下面架设DNS 服务器,不知道DNS 解析原理,根本会了和不会没区别,网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址
版权声明:原创作品,谢绝转载!否则将追究法律责任。

在LINUX 下面架设DNS 服务器,不知道DNS 解析原理,根本会了和不会没区别,
网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。
当某台主机要与其他主机通信时,就可以利用主机名称向DNS 服务器查询该主机的IP 地址,所以我们的网卡要上网至少要3个信息,IP 地址,网关,DNS 服务器地址。
DNS 的组织结构
这个就是DNS 的组织结构,最上面是根域名 dot ,全球13台根域服务器,没有一台在中国,因为中国网络发展,起步迟。而且所有的dot DNS 服务器都是bind 软件架设的,我们今天要学习的也是bind 软件。全球70的大型DNS 服务器都是基于bind 软件。
常见的顶级域服务器
1

我国的顶级域也就只有cn
DNS 解析过程

我给大家解释下,比如解析host 文件和缓存有没有这个记录,有就直接解析,没有就访问DNS 服务器,如果DNS 服务器上没[url]www.redhat.com[/url]或者redhat.com 不在你访问的DNS 服务器管理区域内,那么DNS 服务器就会向dot 根域名服务器发递归查询, 如果找到了记录了,DNS 就会返回给client ,并且把记录保存在自己缓存里,下次有client 请求,他就会调用自己的缓存,直到这条记录的生存期结束, 就会丢弃这条记录。
根域名服务器就13台域名服务器,他负责管理顶级域。顶级域负责管理二级域,我们现在申请的一般是2级域名-3级域名。比如michael.com,michael.com.cn 哈~michael.com是2级域名,michael.com.cn 是3级域名,michae l.com.cn. 这个就是FQDN 。
本周我们要学习的内容
主配置文件
设置根区域
设置主区域
设置反向解析区域
根服务器信息文件named.ca
区域文件

2
,反向解析区域文件
实现负载均衡功能
实现直接解析域名
实现泛域名的解析
主要名称服务器的测试
配置辅助域名服务器
配置缓存域名服务器
我们申请的是域名,然后你去管理你的域名,自己添加主机记录哈~
其实michael.cn 是域名, 前面的主机记录随便你怎么写,abc.michael.cn 也行,jfajldjfklajdfkljaklf.michael.cn 也行, michael.com 是域名,www 是主机。
比如[url]www.redhat.com[/url],[url]www.redhat.com.[/url] 最后点是根域名,然后com 是顶级域名,redha t 是二级域名,www 是主机记录,如果你要说是域名也可以,那么主机就改成是了,在选择域名时必须符合RCF 1123中的规定:域名由所有大写字母(A ~Z )、小写字母(a ~z )、数字(0~9)和连字符(-)组成。由于很多域名商,所以现在想申请到好的2及域名是不可能了,域名大小写不敏感。
每台主机都有一个host 文件,负责IP 地址的域名快速解析的文件,文件以ASCII 格式保存在“/etc”目录下,文件名为“hosts”,hosts 文件包含了IP 地址和主机名之间的映射,还包括主机名的别名。
hosts 文件的格式如下:
IP 地址 主机名/域名 主机别名
windows 下也有hosts 文件,C:WINDOWSsystem32driversetc

可以使用记事本打开
3
,如果host 里有记录就会优先使用,这个文件也是黑客,和病毒软件攻击你的一个入口,如果某个病毒软件在这个文件添加一个记录202.23.23.1 ,然而前面这个IP 地址是带有病毒的而已网站,或者是钓鱼攻击,你可能就会出问题,所以这个文件一般修改成只读,还有些第三方软件,为了防止一些木马之类的病毒,会把一些有问题的网站在自理定义,解析成127.0.0.1,这样你就不会访问到这些网站,360就会这么干哈~
linux 也有这个文件
/etc/hosts


4
,好了,下面介绍下bind 软件,Linux 下架设DNS 服务器通常是使用Bind 程序来实现的。
Bind 是Berkeley Internet Name Domain Service 的简写,它是一款实现DNS 服务器的开放源码软件。Bind 原本是美国DARPA 资助伯克里大学(Berkeley )开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS 服务器软件,目前Internet 上绝大多数的DNS 服务器有都是用Bind 来架设的。
DNS 服务介绍
后台进程:named
脚本:/etc/rc.d/init.d/named
使用端口:53(tcp ,udp )
所需RPM 包:bind-9.3.3-10.el5
相关RPM 包:bind-chroot
caching-nameserver
配置文件:/var/named/chroot/etc/named.conf
相关路径:/var/named/
1990年以后,bind-chroot 增加了bind 服务器的安全性, 早期Linux 服务都是以root 权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG 和漏洞越来越多。黑客利用服务的漏洞入侵系统,能获得root 级别的权限,从而控制整个系统。
为了减缓这种攻击所带来的负面影响,现在服务器软件通常设计为以root 权限启动,然后服务器进程自行放弃root ,再以某个低权限的系统账号来运行进程。这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限。
bind 的主配置文件/etc/named.conf ,我们先安装bind 服务器
[root@rhel5 ~]# rpm -ivh /mnt/cdrom/Server/bind-9.3.3-10.el5.i386.rpm
warning: /mnt/cdrom/Server/bind-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100] 1:bind ########################################### [100]
[root@rhel5 ~]# rpm -ivh /mnt/cdrom/Server/bind-libbind-devel-9.3.3-10.el5.i386.rpm
warning: /mnt/cdrom/Server/bind-libbind-devel-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: N

5
,OKEY, key ID 37017186
Preparing... ########################################### [100] 1:bind-libbind-devel ########################################### [100]
[root@rhel5 ~]# rpm -ivh /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm
warning: /mnt/cdrom/Server/bind-sdb-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, ke y ID 37017186
Preparing... ########################################### [100] 1:bind-sdb ########################################### [100]
[root@rhel5 ~]# rpm -ivh /mnt/cdrom/Server/bind-devel-9.3.3-10.el5.i386.rpm
warning: /mnt/cdrom/Server/bind-devel-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, k ey ID 37017186
Preparing... ########################################### [100] 1:bind-devel ########################################### [100]
[root@rhel5 ~]# rpm -ivh /mnt/cdrom/Server/caching-nameserver-9.3.3-10.el5.i386.rpm
warning: /mnt/cdrom/Server/caching-nameserver-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100] 1:caching-nameserver ########################################### [100]
[root@rhel5 ~]# rpm -ivh /mnt/cdrom/Server/bind-chroot-9.3.3-10.el5.i386.rpm
warning: /mnt/cdrom/Server/bind-chroot-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100] 1:bind-chroot ########################################### [100]
[root@rhel5 ~]#
6
,注意:bind-chroot 软件包最好最后一个安装,否则会报错哈~~~

bind 的配置文件默认是没有的,需要自己手写,但是很多,容易写错,所以我们安装模板文件,然后来修改。由于安装了chroot 环境,所以我们的/etc/named.conf 应该在/var/named/chroot/etc/ 目录。

7

没有named.conf ,所以我们要把named.caching-name.conf 文件copy 一份成named.conf 哈~
cp /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf

编辑named.conf 这个文件, 把文件里面多余的东西删除了,只剩下如图中的内容,然后我们来写

先检查你主机的名字,使用hostname

记住,linux 的主机名要是FQDN 的样式,把你们自己的主机名字改改,不要最后的那个,这个很重要的。 刚才讲了FQDN 最后有根域的,把那个跟域去掉,就是你的主机名,改成那个样子。
linux 修改主机名字修改三个地方,不知道大家还记得不?
第一步:hostname 主机名

8
,第二步:vim

/etc/hosts
第三步:vim /etc/sysconfig/network

修改完了把终端关闭了,然后重新打开就可以了

9
,修改完了,我们继续
下面我以michael.com 这个二级域名来建立一个域名服务器

全局配置(options )
options 语句在每个配置文件中只有一个。如果出现多个options, 则第一个options 的配置有效,并会产生一个警告信息。
listen-on port 53 { 127.0.0.1; };
监听端口,修改成自己的IP 地址,如果有多个IP ,就写多个,每行要以;结束。
directory "/var/named";
zone 文件的存放目录,这里的/var/named 是相对目录,在chroot 环境下/var/named目录下。
allow-query { localhost; };
允许查询的client ,我们修改成本地网段192.168.1.0/24

10