Linux环境下配置DNS服务器的方法介绍


有两台邮件服务器分别为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服务器相关知识
  • 在使用防火墙时怎样使用DNS呢?
  • DNS服务器的基础知识

相关内容