配置主DNS服务器
DNS是Domain Name System,它能够把形如www.lampmaster.cn本站域名转换为219.136.249.93这样的IP地址;没有DNS,浏览www.lampmaster.cn时,就必须用219.136.249.93这么难记的数字来访问。提供DNS服务的就是DNS服务器。
DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。
[1]配置主DNS服务器
首先我们做以下假设:A服务器为www.lampmaster.cn的主域名服务器,其IP地址为10.0.0.1,B服务器为www.lampmaster.cn的辅助域名服务器,其IP地址为10.0.0.2;
下面我们配置服务器10.0.0.1为lampmaster.cn的主DNS服务器
Linux下的dns功能是通过bind软件实现的。bind软件安装后,会产生几个固有文件,分为两类,一类是配置文件在/etc目录下,一类是dns记录文件在/var/named目录下。加上其他相关文件,共同设置dns服务器。下面是所有和dns设置相关文件的列表与说明。
位于/etc目录下主要有:resolv.conf,named.conf。
1、“resolv.conf”文件,“nameserver 10.0.0.211” 。文件内容:
1
nameserver 10.0.0.1 //它的首选DNS,和WINDOWS类似
2、named.conf文件。named.conf是dns配置的核心文件。
# named.conf - configuration for bind
#
# Generated automatically by bindconf, alchemist et al.
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
include \"/etc/rndc.key\";options {
directory \"/var/named/\";
};
zone \".\" {
type hint;
2
file \"named.ca\";
};
zone \"0.0.127.in-addr.arpa\" {
type master;
file \"0.0.127.in-addr.arpa.zone\";
};
zone \"localhost\" {
type master;
file \"localhost.zone\";
};
zone \"lampmaster.cn\" {
type master;
file \"db.lampmaster.cn.zone\";
3
};
添加下面一段内容就好,如上:
zone \"lampmaster.cn\" {
type master;
file \"db.lampmaster.cnzone\";
};
以上语句表示域lampmaster.cn的DNS数据存放在/var/named/目录下的db.lampmaster.cn.zone中;
#vi /var/named/db.lampmaster.cn,写入下面内容:
$TTL 86400
@ IN SOA dns.lampmaster.cn. root.lampmaster.cn. (
20071103 ; serial
28800 ; refresh
7200 ; retry
4
604800 ; expire
86400 ; ttl
)
@ IN NS dns.lampmaster.cn
www IN A 11.0.0.10
该文件的前部分是相应的参数设置,此部分不需要改动,后面的部分就是具体的DNS数据;
例如:
www IN A 11.0.0.10
将www.lampmaster.cn 解析到地址11.0.0.10;
[2]配置辅助DNS服务器
配置服务器11.0.0.2为lampmaster.cn辅助dns服务器
辅助DNS服务器,可从主服务器中转移一整套域信息。区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。在辅助服务器中有域信息的完整拷贝,所以也可以可以回答对该域的查询。这部分的配置内容如下:
5
zone \"lampmaster.cn
lave;
file \"db.lampmaster.cn.zone\";
masters { 10.0.0.1; };
};
把type改成slave,file和主服务器相同;masters指象他的主服务器的地址,注意masters有加S
④测试DNS服务器
启动服务service name start
在客户机上运行nslookup,输入要查询的主机名,看是否返回正确的ip地址
输入www.lampmaster.cn会返回IP:10.0.0.10
内联网主机服务器的主机名为 dns,IP 是:192.168.1.254,启用 by.com 作为域名.
整个过程需要配置以下几个配置文档:
/etc/hosts
6
/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 的配置
--------------------------------------------------------
7
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 ,这个文档的配置很重要
--------------------------------------------------------
8
// 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;
};
//
9
// 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\";
10
};
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
11
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
12
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 作为域名服务器.
13
因篇幅问题不能全部显示,请点此查看更多更全内容