Linux下配置DNS服务器


这里我们是使用Linux的Bind服务器软件做此次试验的DNS服务。

51CTO编者注:BIND是一个客户机 / 服务器系统,客户端称为转换程序,负责查询产生域名的信息,再将这些信息发送给服务器。服务器端称为named守护进程,负责查询转换程序。】

首先介绍一下我们这次的实验环境

设置有两台邮件服务器分别为:

192.168.1.1(windows 下主机名为 b.test.cn)

192.168.1.3linux 下主机名为 a.test.com)

修改相关配置文件:

在linux下配置DNS服务器,下面是配置过程中设置过的一些文件,

/etc/hosts 文件的具体内容如下:

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost fc4

192.168.1.3 a.test.com a

192.168.1.1 b.test.cn b

/etc/host.conf 文件:

order hosts,bind

表示先用hosts文件做解析,在用DNS解析

/etc/resolv.conf 文件:

; generated by NetworkManager, do not edit!

search test.com

nameserver 127.0.0.1

search test.cn

nameserver 192.168.1.1

nameserver 61.144.56.100

/etc/named.conf 文件:

//

// named.conf for Red Hat caching-nameserver

//

options {

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

/*

* 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
//

controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

zone "." IN {
type hint;
file "named.ca";
};

zone "test.com"IN {
type master;
file "test.com";
allow-update { none; };
};

zone "1.168.192.in-addr.arpa"IN {
type master;
file "192.168.1.rev";
allow-update { none; };
};

zone "test.cn"IN {
type master;
file "test.cn";
allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};

include "/etc/rndc.key";

在/var/name/test.com 文件下:

$TTL 86400
@ IN SOA a.test.com. root.a.test.com (

42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS a.test.com.
IN MX 10 mail.test.com.
a IN A 192.168.1.3
mail IN A 192.168.1.3

//其中root.a.test.com的含义是管理员的邮箱

/var/name/test.cn 文件下:

$TTL 86400
@ IN SOA b.test.cn. root.a.test.com (

42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS b.test.cn.
IN MX 10 mail.test.cn.
b IN A 192.168.1.1
mail IN A 192.168.1.1

/var/name/192.168.1.rev 文件下:

$TTL 86400
@ IN SOA 1.168.192.in-addr.arpa. root.test.com. (

1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum

IN NS a.test.com.
IN NS b.test.cn.
IN MX 10 mail.test.com.
IN MX 10 mail.test.cn.

3 IN PTR a.test.com.
3 IN PTR mail.test.com.
1 IN PTR b.test.cn.
1 IN PTR mail.test.cn.

然后用/etc/init.d/named restart重启DNS服务,在重启过程中,我曾经出现过好几次的错误,按照出错的提示,会提示是named.conf文件第几行出错的。或者提示在那些包含文件例如test.cn这些文件里面的问题,然后一个一个排除。

最后还有一些nslookup的命令比较有用:

set all用于显示使用nslookup工具这台机器上的DNS服务器的一些信息

set type=any会显示完整信息包括域中邮件服务器和主从DNS服务器的名字和IP地址

server 192.168.0.1更换查询的DNS服务器地址。

相关文章】

  • Linux操作系统下配置DNS服务器的方法介绍
  • Linux操作系统下配置DNS服务器的方法介绍
  • 手动配置Ubuntu Linux指定DNS服务器地址

相关内容