Ubuntu及红帽的DNS服务器搭建

Ubuntu:

红帽:
[root@b ~]# rpm -ivh /media/Server/bind-9.3.6-4.P1.el5_4.2.i386.rpm 安装软件包
warning: /media/Server/bind-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:bind ########################################### [100%]

[root@b ~]# rpm -ivh /media/Server/caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm

warning: /media/Server/caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:caching-nameserver ########################################### [100%]
[root@b ~]#

named服务的配置

在Redhat 5的版本中/etc/named.conf文件已经不存在,改用/etc/named.caching-nameserver.conf文件替代,安装好named服务之后先修改bind的配置文件named.caching-nameserver.conf

[root@c ~]# vi /etc/named.caching-nameserver.conf

options {
listen-on port 53 { 192.168.0.101; }; //定义监听dns服务的地址,也就是dns服务器的地址
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
query-source port 53;

query-source-v6 port 53;

allow-query { localhost; }; //运行使用该dns服务的地址

};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
view localhost_resolver {

match-clients { localhost; }; //允许使用的该dns服务的客户端

match-destinations { localhost; }; //允许用户解析的dns目的地址

recursion yes;
include “/etc/named.rfc1912.zones”;
};

然后修改/etc/named.rfc1912.zones 文件,添加正向及反向的解析域,这里我建立了一个liusuping.com的正向及反向解析域,如下面的代码

zone “liusuping.com” IN {
type master;
file “liusuping.com.zone”; //定义正向解析域的文件
allow-update { none; };
};

zone “0.168.192.in-addr.arpa” IN {
type master;
file “liusuping.com.local”; //定义反向解析域的文件
allow-update { none; };
};

接下来就是创建两个解析配置文件,这里记录了正向及反向的域名解析记录。

正向解析记录

[root@c ~]# vim /var/named/liusuping.com.zone

$TTL 86400
@ IN SOA liusuping.com. root.liusuping.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS 192.168.0.101
IN A 192.168.0.101
dns IN A 192.168.0.101
www IN A 192.168.0.101
@ IN MX 10 192.168.0.101
ftp IN CNAME www.liusuping.com.

反向解析记录

[root@c ~]# vim /var/named/liusuping.com.local

$TTL 86400
@ IN SOA liusuping.com. root.liusuping.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns.liusuping.com.
101 IN PTR dns.liusuping.com.
101 IN PTR www.liusuping.com.

注意:所有的郁闷后面都需要跟一个英文符号的"."

以上配置做好之后重启named服务

[root@c ~]# service named restart
停止 named:[确定]
启动 named:[确定]
[root@c ~]#

使用nslookup 进行DNS测试

正向记录

[root@c ~]# nslookup

www.liusuping.com
Server: 192.168.0.101
Address: 192.168.0.101#53

Name: www.liusuping.com
Address: 192.168.0.101

CNAME别名测试

ftp.liusuping.com
Server: 192.168.0.101
Address: 192.168.0.101#53

ftp.liusuping.com canonical name = www.liusuping.com.
Name: www.liusuping.com
Address: 192.168.0.101

mx记录测试

set type=mx
liusuping.com
Server: 192.168.0.101
Address: 192.168.0.101#53

liusuping.com mail exchanger = 10 192.168.0.101.liusuping.com.

反向测试

192.168.0.101
Server: 192.168.0.101
Address: 192.168.0.101#53

101.0.168.192.in-addr.arpa name = dns.liusuping.com.
101.0.168.192.in-addr.arpa name = www.liusuping.com.

==============
Ubuntu下

首先安装BIND套件[table]
[tr][td]代码:[/td][/tr]
[tr][td]sudo apt-get install bind[/td][/tr]
[/table]这时在/etc/bind下会出现(这里跟其他的UNIX/LINUX不同,一般其他的UNIX/LINUX默认是把配置文件放

在/etc/named下,数据文件放在/var/named或/var/bind下的,而UBUNTU都一起放在这个目录下了)

db.0 db.255 db.root named.conf.local
db.127 db.local named.conf named.conf.options

其中named.conf为主配置文件,named.conf.local和named.conf.options这两个文件在其他的UNIX/LINUX

系统里默认是没有的,UBUNTU的这种想法很不错,把各个部分都分开管理;其余的部分都是默认生成的几

个数据文件。这里需要稍微讲一下区数据文件里的几个资源记录的含义:

SOA记录:指示该区的权威
NS记录:列出该区的一个名字服务器
A记录:名字到地址的映射 (也就是正向解析)
PTR记录:地址到名字的映射 (也就是反向解析)
CNAME:规范名字 (别名记录)

下面开始服务配置
缓存域名服务器设置 (Cache-only server)
缓存域名服务器顾名思义其自身是没有域名记录的,仅仅从别的DNS上获取记录并做高速缓存。
安装好DNS服务后,不需要任何配置,只需要把服务起起来就是缓存域名服务器了。[table]
[tr][td]代码:[/td][/tr]
[tr][td]sudo /etc/init.d/bind start[/td][/tr]
[/table]主DNS配置
安装好DNS后,配置named.conf.local,如下例:[table]
[tr][td]代码:[/td][/tr]
[tr][td]zone “163.com” {
type master;
file “/etc/bind/db.163.com”;
};

zone “sohu.com” {
type master;
file “/etc/bind/db.sohu.com”;
};

zone “sina.com” {
type master;
file “/etc/bind/db.sina.com”;
};

…[/td][/tr]
[/table]保存配置,然后再创建相对应的数据文件,如上例163.com的数据文件如下:[table]
[tr][td]代码:[/td][/tr]
[tr][td]//db.163.com的配置文件
$TTL 86400
@ IN SOA dns.163.com root.dns.163.com. (
2005092001 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)
@ IN NS dns.163.com
@ IN MX 10 mail.163.com.

dns IN A 111.111.111.111
www IN A 222.222.222.222
xxx IN A 333.333.333.333
mail IN CNAME xxx
…[/td][/tr]
[/table]保存,重启BIND服务就OK了

从DNS的配置
从DNS的配置和主DNS配置很像,只不过不需要建立数据文件,只需要指定数据文件存放位置就可以了[table]
[tr][td]代码:[/td][/tr]
[tr][td]zone “163.com” {
type slave;
file “/etc/bind/db.163.com”;
masters {
111.111.111.111; //主DNS的地址
};
};

zone “sohu.com” {
type slave;
file “/etc/bind/db.sohu.com”;
masters {
111.111.111.111; //主DNS的地址
};
};

zone “sina.com” {
type slave;
file “/etc/bind/db.sina.com”;
masters {
111.111.111.111; //主DNS的地址
};
};

…[/td][/tr]
[/table]保存配置,重启服务。

嗯,不错,收藏了,不过想问一句,我什么时候可以去掉这万恶的验证码啊?

什么验证码呀?

哦,前几天还是“新手上路”,每次发帖总有验证码,不过经过我几天的努力,已经跃升为“注册会员”啦,再坚持一会儿,我就要升级为“中级会员”啦,:4_94: