LINUX 搭建DNS服务器.docx
《LINUX 搭建DNS服务器.docx》由会员分享,可在线阅读,更多相关《LINUX 搭建DNS服务器.docx(10页珍藏版)》请在冰点文库上搜索。
![LINUX 搭建DNS服务器.docx](https://file1.bingdoc.com/fileroot1/2023-6/21/71081d16-6ed6-4207-8517-f982f832ce34/71081d16-6ed6-4207-8517-f982f832ce341.gif)
LINUX搭建DNS服务器
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/
#现在服务器软件通常设计为以root权限启动,然后服务器进程自行放弃root,再以某个低权限的系统账号来运行进程。
这种方式的好处在于该服务被攻击者利
用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限。
事实上,需要正反解成对的大概仅有邮件服务器,如果想架设邮件服务器,最好具有固定IP,这样才能向您的ISP要求设置反解,反解都要通过上层主机的设置才行。
1,查询系统是否有安装DNS服务器
2,安装bind服务器(Bind是BerkeleyInternetNameDomainService的简写)
如果用rpm方式安装的话,需要安装以下安装包
#centos5.5环境下无法安装bind-sdb,用yum安装时检查提示需要安装依赖关系postgresql-libs-8.1.18-2.e15_4.1.i386.rpm
安装好依赖关系后再来安装
至此,rpm安装完成,当然也可以用yum来安装更快捷。
3,bind服务器全局配置(options)
#bind的配置文件默认是没有的,需要自己手写,但是很多,容易写错,所以我们安装模板文件,然后来修改。
由于安装了chroot环境,所以我们的/etc/named.conf 应该在/var/named/chroot/etc/目录。
没有named.conf,所以我们要把named.caching-name.conf文件copy一份成named.conf
编辑named.conf这个文件,把文件里面多余的东西删除了,只剩下如图中的内容,然后我们来写
.
3.1,配制named.conf文件
options 语句在每个配置文件中只有一个。
如果出现多个options,则第一个options的配置有效,并会产生一个警告信息。
listen-onport53{127.0.0.1;};
监听端口,修改成自己的IP地址,如果有多个IP,就写多个,每行要以;结束。
directory "/var/named";
zone文件的存放目录,这里的/var/named是相对目录,在chroot环境下/var/named目录下。
dump-file "/var/named/data/cache_dump.db"; 设置DNS缓存数据的指定文件。
statistics-file"/var/named/data/named_stats.txt"; DNS统计数据写入的文件。
allow-query {localhost;};
允许查询的client,我们修改成本地网段192.168.202.0/24,可以设置any,none,ip网段。
3.2,区域配置
配置实例:
下面我以这个二级域名来建立一个域名服务器
#由主机名查找IP的过程为正解,由IP查询得到主机名为反解,一个正解或反解的设置就是一个Zone.
第一步:
设置根区域
zone“.”IN{ :
根区域
typehint; :
指定该域的类型,有hint,master,slave等可选,hint类型特指该区域为root域
file“named.ca”;}; :
解析文件文件名
第二步:
指定正向解析的配置文件
#记住,bind对配置文件要求很严格,就算是有些地方多了个空格,服务器都可能启动不了哈~
zone“"IN{ :
新建一个域,域名为
typemaster; :
master指该区域为主区域,slave指该区域为辅导区域。
file“”; :
指定存放该区域数据的文件名,每个区域以分号结尾。
第三步:
指定反向解析的配置文件
一个简单的named.conf配置文件就做好了
保存,然后我们去修改区别文件,添加记录
#.zone, 是你刚才在named.conf里面定义的名字
第四步:
添加解析记录
#TTL是生存期,单位是秒 ,$TTL是全局定义的,86400秒。
第二行SOA记录,@取代在/etc/named.conf中指定的域名,.是管理员邮箱地址,后面加点表示绝对地址(全名)。
SOA段中的数字,分别为:
序列号、刷新、重试、过期、生存期
序列号:
序列号用于DNS数据库文件的版本控制。
每当数据被改变,这个序列号就应该被增加。
刷新:
从服务器向主服务器查询最新数据的间隔周期。
每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。
重试:
一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。
过期:
如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。
生存期:
服务器回答‘无此域名’的间隔时间。
数字的默认单位为秒。
否则:
W=周、D=日、H=小时、M=分钟。
下面我们来配置正向解析文件,这里的主机名为mail
简单的正向配置文件就到这里,下面接着讲反向解析的zone文件。
把正向解析zone文件拷贝一份,名字是你在named.conf中定义的反向解析的名字
编辑反向解析文件
只需要把A记录修改成PTR记录就可以了,PTR是反向解析的意思,把IP地址修改成域名
然后保存退出
配置文件就写完了,下面我们来使用配置文件检测工具来检测我们的配置文件语法是否正确
检测区域文件的语法
语法为named-checkzone 域名 配置文件
检查正向配制文件语法
检查反向配制文件语法
最后需要修改name.conf的所有者,因为bind要以named帐号才能启动
最开始的时候就是因为没有修改反向文件的的权限导致无法解析,一直找不到问题,今后要特别注意。
修改DNS域名服务器
启动DNS服务器
还可以用下面的方式启动DNS服务器
最后检测解析一下域名:
再来解析一下IP:
大功告成。
dig命令
域信息搜索器,查询DNS服务器的解析
host解析域名
正向文件检查
named-checkconf/etc/named.conf
反向文件检查
named-checkzone206.168.192.in-addr.arpa/var/named/192.168.2026.zone
补充:
此实验的服务器IP地址为192.168.202.62,在局域网内没有上网权限,通过以下解析测试
可以得出:
之所以能够解析到CCTV外网的IP,是因为在主配制文件named.conf中,当DNS在centos域中无法查找到相关信息时会将请求提交到根域服务器中
,所以能够通过根域文件解析得到。
全球一共十三台服务器。