几个重点:1、常识 2、安装 3、主配置文件named.conf参数详解 4、正向\反向解析文件详解 5、master\slave服务器实例 6、区域授权实例。
DNS 域名解析, 在LINUX常用的DNS软件为BIND 一、DNS常识 1、DNS查询:分为递归查询和迭代查询两种 (1) 递归查询: 即客户端向本地DNS服务器请求查询域名,本地DNS服务器收到查询任务后如自身无法回答则向其他服务器查询,直到查到结果后返回结果给客户端。期间DNS服务器可能要查询很多其他DNS服务器。 (2)迭代查询:即客户端向本地服务器请求查询域名,本地DNS服务器无法回答,则给客户端返回另一个能查询域名的服务器地址,客户端再向另一服务器查询,期间可能客户端需查询多个DNS服务器,最终查到结果。 2、DNS服务器分类: DNS服务器分为: (1)master(主DNS服务器):拥有区域数据的文件,并对整个区域数据进行管理。 (2)slave(从服务器或叫辅助服务器):拥有主DNS服力器的区域文件的副 本,辅助主DNS服务器对客户端进行解析,当主DNS服务器坏了后,可以完全接替主服务器的工作。 (3)forward:将任何查询请求都转发给其他服务器。起到一个代理的作用。 (4)cache:缓存服务器。 (4)hint:根DNS internet服务器集。 二、bind的安装及运行目录 1、安装 一般安系统时都会选择安装,查看是否安装: rpm -qa |grep bind 如果没有安装下载如下几个包安装:(下面是我在rh5中运行 rpm -qa |grep bind 后显示的结果) bind-libs-9.3.6-4.P1.el5 //提供实现域名解析功能必备的库文件 bind-chroot-9.3.6-4.P1.el5 //将bind主程序关在家里面(鸟哥是这样描述的,不懂) bind-9.3.6-4.P1.el5 //必须安装的主文件,后面的是版本号 ypbind-1.19-12.el5 bind-utils-9.3.6-4.P1.el5 //客户端工具,用于客户端搜索主机名的相关指令,必须装 caching-nameserver-9.3.3-7.e15.i386.rpm //配置缓存域名服务器的话就需要安装。安装后一些模板文件和named.ca就会有,会方便很多。建议安装. 2、运行目录 我们通过查看/etc/sysconfig/named中的内容,可以看到系统将named的目录指向哪里。 最后一行为ROOTDIR=/var/named/chroot ,即指向了/var/named/chroot里面。所以我们的配置文件和数据库文件的存放点为: /var/named/chroot/etc/named.conf //配置文件 /var/named/chroot/var/named //数据库文件存放位置 /var/named/chroot/run/named //named程序默认将pid文件放置此目录下 而我们自已把配置文件和数据库文件存放到了以下地点: /etc/sysconfig/named 由该文件控制是否动chroot及其他参数 /etc/named.conf //配置文件 /var/named/ //数据库文件(如正向、反向、根文件)存放位置 /var/run/named: //named程序默认将pid文件放置此目录下 一般系统会为我们默认做链接,把系统默认的存放点都做了链接到我们自已的存放点。如果系统没有做,我们就手工做链接。 三、配置主配置文件 named.conf 注意:我现在装的rh5版本,默认没有named.conf这个文件,需手工建 立。 touch /etc/named.conf //建立主配置文件 vi /etc/named.conf //编辑配置文件,并后工添加配置文件,最好是找到范例文件复制过来,然后在里面更改。 1、全局配置 options { directory "/var/named"; //指定配置文件所在目录,必须配置此科 dump-file "/var/named/data/cache_dump.db;; //保存DNS服务器搜索到的对应IP地址的高速缓存 statistics_file "/var/named/data/named_stats.txt; //dns的一些统计数据列出时就写入这个设置指定的文件中。即搜集统计数据。 pid-file "/var/run/named/named.pid ; //用于记录named程序的PID文件,可在NAMED启动、关闭时提供正确的PID allow_query (any;); //是否允许查询,或允许哪 些客户端查询,可以把any换上网段 地址,以设置允许查询的客户端) allow_transfer(none;); //是否允许MASTER 里的信息传到SLAVE服务器, 只有在同时拥有MASTER服务器和SLAVE服务器时才设置此项。none为不允许 forwarders{ 192.168.3.11;192.168.3.44;} ;//设置向上查找的哪个“合法”的DNS。地址之间要用; 分隔。 (我的理解是此处定义的如同windows里定义的转发一样,当本地DNS服力器解析不了时,转发到你指定的一个DNS服务器上去解析)。当不配置此项时,本机无法解析的都会用name.ca中配置的根服务器上查询,但如果配置了此项,本机查找不到的,就丢给此项中配置的DNS服务器处理。 forward only //让DNS服务器只作为转发服务器,自身不作查询。 motify //当主服务器变更时,向从服务器发送信息。 有两个选项,yes 和no }; //以上是全局配置中常用到的选项,根据实际情况配置。 2、根域服务器的指向 ,最好是找一个文件复制过来即可,此文件一般不用更改。 可从此处下载更新 ftp://ftp.rs.internic.net/domain/ zone "."IN { type hint; file" named.ca"; }; 3、 定义正向解析文件,此处以域 29zjt.com域为例。 zone "29zjt.com" IN { type master; //定义服务器类型 file "29zjt.com"; //指定正向解析文件名。 }; 4、定义反向解析文件 zone "9.168.192.in-addr.arpa" { type master; //服务器类型 file "named.192.168.9" ; //反向解析文件名 }; 四、配置正向解析文件及反向解析文件 touch /var/named/29zjt.com touch /var/named.192.168.9 1、正向解析文件的编辑 vi /var/named/29zjt.com $ORIGIN 29zjt.com. $TTL 86400 //外DNS服务器请求本DNS服务器的查询结果,在外DNS服务器上的缓存时间,以秒为单位 @ IN SOA WWW.29zjt.com. admin.29zjt.com. ( //格式为: 【主机名或域名】ttl] [calss] [type] [orgin] [mail] 主机名或域名:一般 用@代替。每个区域都有自已的SOA记录,此处的为指定的域名。用@表示当前的源,也可以手工指定域名。 ttl:通常省略 class:类别,SOA记录的类别对internet乖哦说缺省为IN type:类型,SOA记录的类型就是SOA,指明哪个DNS服务器对这个区域有授权。 origin:域区文件资 源,这个域区文件源就是这个域主DNS服务器的主机名,注意这里要求是完整的主机名,后面一定要加上“."。上例中:www.29zjt.com. 而不是www.29zjt.com 如果没有加后面的点,结果将是:www.29zjt.com.29zjt.com mail:一般指管理员的邮箱。但和一般 的邮箱不同,用"."代替了"@",尾部也 要加上“." 2009121001 //作为版本控制,当域区文件修改时,序号就增加,辅助服务器对比发现与自已的不同后,就会做出更新,与主服力器同步 28800 //辅助服务器与主服务器进行更新的等待时间。间隔多久与主服务器进行更新,单位为秒。 14400 //重试间隔。当辅助服务器请求与主服务器更新失败后,再间隔多久重试传递 720000 //到期时间。当辅助服务器与主服务器之间刷新失败后,辅助服务器还提供多久的授 权回答。因为当与主服务器失去联系一定时间后,(这个时间就是此处定义的时间),辅助服务器会把本地数据当作不可靠的数据,将停止提供查询。 如果主服务器恢复正常,则辅助服务器重新开始计时。 86400 ) //最小TTL,即最小有效时间,表明客户端得到的回答在多长时间内有效。如果TTL时间长,客户端缓存保存时间长,客户端在收到查询结果时开始计时(TTL)时间内有相同的查询周日不再查询服输务器,直接查自已的缓存。如果TTL时间短,则缓存更新的频率快 @ IN NS www.29zjt.com. //ns记录 www IN A 192.168.9.4 //A记录 ftp IN CName www.29zjt.com. //别名类型 mail IN MX 10 192.168.9.100 //邮件交换器 mail2 IN MX 20 192.168.9.101 //邮件交换器 2、反向解析文件的编辑 vi /var/named/named.192.168.9 $TTL 86400 @ IN SOA 9.168.192.in-addr.arpa admin.29zjt.com. ( 2009121001 1H 15M 720000 86400 ) @ IN NS www.29zjt.com. 4 IN PTR WWW.29zjt.com. //反向指针类型 下面来详解上面所遇到的记录类型: NS记录: 指出该区域的名字服务器的名字。指定一个区域的权威DNS服务器。如果有一个以上的域名服务器,可以在NS记录中全部列出来。这些记录一般在SOA后面。格式为: 【域名】 【 IN 】【 NS】 【 DNS服务器电脑名】 ,域名可以用@代替或省略。 A记录:(地址记录) A类资 源记录是记录域名和IP地址的记录。通常为主机名。 任何没用“."结尾的主机名都会自动在后面加上域名。 一定要给NS记录指定一条A记录。 MX记录:,指定某个邮件服务器。以接受主机传送邮件。 这两条记录中的10和20代表优先级,级别越小,优先级越高。如果优先级高的发不出去,再以低级别的发送。 别名: cname. 为主机建别名。可把一台主机赋予多个别名 指针记录:PTR 用于执行从IP到主机的逆向映射,保存逆向映射的IP地址。 st1\:*{behavior:url(#ieooui) }
五、MASTER/SLAVE
服务器配置实例
如果安装了 bind-chroot-9.3.4-10.P1.el5这个软件, 就得把named.conf文件建在/var/named/chroot/etc/目录下。 正向和反向解析文件就得在:/var/named/chroot/var/named 目录下。如果想在默认目录下的就话,就得手工链接。 ln -s /var/named/chroot/etc/named.conf /etc/named.conf //把主配置文件做软链接到/etc/目录下。
(一)master服务器配置
<!--[if !supportLists]-->
1、<!--[endif]-->
主配置文件配置
options {
directory "/var/named"; pid-file "/var/run/named/named.pid";
};
zone "."IN {
type hint; file "named.ca"; //这个file后面要空格后,再加引号,不然会启动不了。 };
zone "29zjt.com" IN {
type master;
file "29zjt.com";
allow-transfer{192.168.9.5:}; //
只允许更新到
192.168.9.5
这台辅助域名服务器
};
<!--[if !supportLineBreakNewLine]--> <!--[endif]-->
zone "9.168.192.in-addr.arpa" {
type master;
file "named.192.168.9" ;
allow-transfer{192.168.9.5:};
};
2、正向解析文件及向向解析文件的配置 touch /var/named/29zjt.com touch /var/named.192.168.9 vi /var/named/29zjt.com $ORIGIN 29zjt.com. $TTL 86400 @ IN SOA WWW.29zjt.com. admin.29zjt.com. ( 2009121001
28800
14400
720000
86400 )
@ IN NS www.29zjt.com. @ IN NS dns2.29zjt.com.
www IN A 192.168.9.4
dns2 IN A 192.168.9.5
ftp IN CName www.29zjt.com.
mail IN MX 10 192.168.9.100
mail2 IN MX 20 192.168.9.101 5 IN PTR DNS2.29zjt.com.
2 、反向解析文件的编辑 vi /var/named/named.192.168.9 $TTL 86400 @ IN SOA 9.168.192.in-addr.arpa admin.29zjt.com. ( 2009121001 1H 15M 720000 86400 ) @ IN NS www.29zjt.com. @ IN NS dns2.29zjt.com 4 IN PTR WWW.29zjt.com. (二)SLVAE辅助服务器的配置 1、主配置文件配置 vi /etc/named.conf
options {
directory "/var/named";
};
zone "."IN {
type hint; file" named.ca"; };
zone "29zjt.com" IN {
type slave;
file "slave_29zjt.com";
masters{192.168.9.4;}; //
主服务器地址为192.168.9.4
};
<!--[if !supportLineBreakNewLine]--> <!--[endif]-->
zone "9.168.192.in-addr.arpa" {
type master;
file "slave_named.192.168.9" ;
masters{192.168.9.4;};
};
注意: 此 时SLAVE服务器的 /var/named目录下面不能有 上述的slave_29ztj.com 正向解析文件和 slave_named.192.168.9反向解析文件。因为是辅助服务器,这两个文件会自动从主服务器更新过来。所以此处就不用再创建 这两个文件了。就此服务器建好。
六、区域授权的配置 至此完毕。至于不同网段的PTR授权这里不作解释。
一个
DNS
服务器不可能接受所有客户端的查询,就需要把子网委派给另一个
DNS
服务器管理。
如我想授权子网
tk3y.29zjt.com
给一台
叫
manager
的电脑管理。则在上述的正向解析和反向解析文件中加入一条
NS
和一条
A
记录即可。
上层主机的正向及反向解析配置:
1、正向解析配置
$TTL 86400
@ IN SOA WWW.29zjt.com. admin.29zjt.com. ( 2009121001
28800
14400
720000
86400 )
@ IN NS www.29zjt.com. @ IN NS dns2.29zjt.com. tk3y.29zjt.com. IN NS manager.tk3y.29zjt.com. manager IN A 192.168.9.10
www IN A 192.168.9.4
dns2 IN A 192.168.9.5
ftp IN CName www.29zjt.com.
mail IN MX 10 192.168.9.100
mail2 IN MX 20 192.168.9.101
$TTL 86400
@ IN SOA 9.168.192.in-addr.arpa admin.29zjt.com. ( 2009121001 1H 15M 720000 86400 ) @ IN NS www.29zjt.com. @ IN NS dns2.29zjt.com
tk3y.29zjt.com. IN NS manager.tk3y.29zjt.com.
10 IN PTR manager.tk3y.29zjt.com.
4 IN PTR WWW.29zjt.com.
5 IN PTR DNS2.29zjt.com.
高级别的配置,另开一篇作笔记,这里不记了。 本文出自 51CTO.COM技术博客 |