首页 > 代码库 > linux下DNS服务器配置

linux下DNS服务器配置

一,理解一些名词的含义

@ ----这个符号意味着SOA与域是一样的
IN -----IN是提供IP地址的域名类当,与A,PTR或CNAME记录一起使用时可将域名映射为IP地址,
  反之一样 NS -----域名服务器指定的区域DNS服务器的域名或IP地址
MX ----MX记录定义何种机器来为域或单个主机传送电子邮件,为域定义就是告诉每个人将邮件
  发送给该域中要与之通信的人或机器
SOA-----Start Of Authority 指明其后的域名定义了主域名服务器及该域的联系点的电子邮件地址。
PTR---将IP地址映射为主机名,PTR记录执行与A及记录相反的过程
A----将主机名映射为其IP地址
二,下载安装bind,下载安装的方法很多,可以自由发挥,我用了一个命令搞定,如果你觉得方便
也可以这样做:
yum install bind

三,一些需要配置的文件解释
/etc/hosts
/etc/host.conf
/etc/resolv.conf
/etc/named.conf
/var/named/named.192.168.1
/var/named/named.by.com

1, 首先配置/etc/hosts
指定Ip 到主机的影射,如
#IP Address Hostname Alias 
127.0.0.1 localhost
192.168.1.254 dns dns.by.com

2.接下来是
/etc/host.conf 的配置
--------------------------------------------------------
order hosts, bind
multi on
--------------------------------------------------------
这个配置的意思是从/etc/hosts 开始查询,然后是DNS,如果是多个主机将全部返回。
 
 
3.配置
/etc/resolv.conf
--------------------------------------------------------
search by.com
nameserver 192.168.1.254
--------------------------------------------------------
这儿配置的是 DNS 客户,search 指定的是客户默认域,名,nameserver 则是指定使用的
DNS 服务器的 IP 地址,这里使用的是正在配置 DNS 服务器的主机 IP 地址:192.168.1.254
 4.配置 /etc/named.conf ,这个文档的配置很重要
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
// a caching only nameserver config      
//
zone "." {  
 type hint;  
 file "named.ca";  
 };       
zone "0.0.127.in-addr.arpa" {  
  type master;   
  file "named.local";   
}; 
zone "1.168.192.in-addr.arpa" {   
 type master;    
 file "named.192.168.1";   
}; 
zone "by.com" {   
  type master;   
  file "named.by.com";   
};
里面的 // 后和 /* */ 里的内容都是注释,尤其要注意里面的标点要正确,
zone "1.168.192.in-addr.arpa" 是配置反序查找,而 zone "by.com" 则是配置正序查找
5.创建区数据文件 /var/named/named.192.168.1,只需复制 /var/named/named.local 为
/var/named/named.192.168.1 进行修改(注意:是复制不是更名),修改后的内容如下:  
---------------------------------------------------------
@ IN SOA dns.by.com. hostnaster.dns.by.com. (
1997022700  Serial
28800  Refresh   
14400  Retry   
3600000  Expire   
86400 )  Minimum   
IN NS dns.by.com.   
1 IN PTR dns.by.com. 
---------------------------------------------------------
里面各个标点也必须正确!
 
6.创建数据文件/etc/named.by.com ,正确结果如下:
 ---------------------------------------------------------   
@ IN SOA dns.by.com. hostmaster.dns.by.com. (   
1997022700  Serial   
28800  Refresh   
14400  Retry   
3600000  Expire   
86400 )  Minimum   
IN NS dns    
dns IN A 192.168.1.254 

www IN CNAME dns
----------------------------------------------------------
这里 NS 是域名服务器, A 是地址记录,CNAME 是规范的名程也指替换,也就是说用 dns.by.com
与 www.by.com一样.  
 
 
7.仔细检查确保正确后,重新启动 DNS 守护进程 named: 
#/etc/rc.d/init.d/named restart

8.检查 DNS 服务器 先telnet 192.168.1.254 ,然后 ping 外部网址,再用 nslookup
正确的话 DNS 服务器配置成功.这时内部网的计算机都可用 192.168.1.254 作为域名服务器.
(大概流程这样,我反向解析的没有配整个,浏览器测试也没有成功,估计是不能用DHCP服务器,要静态指定,所以就没测)

linux下DNS服务器配置