linux下dns配置详细步骤

linux 下dns 配置详细步骤linux 搭建dns 不是很难,细心点就ok 了,呵呵,2010.11.16DNS 的配置步骤:……………………………………………………一、配置静态IP 地址:#v

linux 下dns 配置详细步骤

linux 搭建dns 不是很难,细心点就ok 了,呵呵,

2010.11.16

DNS 的配置步骤:……………………………………………………

一、配置静态IP 地址:

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.198.0.5

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

#/etc/init.d/network restart

#ifconfig eth0

二、使用BIND 构建DNS 服务器

1、BIND 服务器安装

RHEL4中包括了BIND 服务相关的软件包

bind-libs-9.2.4-2

提供了实现域名解析功能必备的库文件 ,系统默认安装

bind-utils-9.2.4-2

提供了对DNS 服务器的测试工具程序 ,系统默认安装

bind-9.2.4-2 安装文件位于第4张安装光盘中

# rpm -ivh bind-9.2.4-2.i386.rpm

BIND 服务器的服务程序脚本名称是named ,默认没有启动,需手动设置。 #rpm -ql bind | grep init.d

/etc/rc.c/init.d/named

#chkconfig --level 35 named on

#chkconfig --list named

三、主域名服务器的配置

1、在named.conf 文件中设置域

全局配置

options {

directory "/var/named";

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

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

,

};

controls {

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

};

建立正向解析域

zone "." IN { (指定根域)

type hint;

file "named.ca";

};

zone "benet.com" { (指定本地域)

type master;

file "benet.com.zone";

};

建立反向解析域

zone "0.168.192.in-addr.arpa" { (指定反向域)

type master;

file "192.168.0.rev";

};

2、建立正向区域文件 (该文件需要用vi 编辑器手动建立在/var/named中,并写其内容) #cat /var/named/benet.com.zone

$TTL 86400 (秒)

@ IN SOA benet.com. hostmaster.benet.com. ( 42 ; serial (d. adams) (序列号)

3H ; refresh (3小时更新)

15M ; retry (15分钟重试)

1W ; expiry (1周)

1D ) ; minimum (1天)

@ IN NS ns1.benet.com.

@ IN NS ns2.benet.com.

ns1 IN A 192.168.0.5

,

ns2 IN A 192.168.0.6

host1 IN A 192.168.0.7

host2 IN A 192.168.0.8

mail IN CNAME host1.benet.com.

www IN CNAME host2.benet.com.

@ IN MX 5 mail.benet.com.

3、建立反向区域文件 (该文件需要用vi 编辑器手动建立在/var/named中,并写其内容) # cat /var/named/192.168.0.rev

$TTL 86400

@ IN SOA ns1.ltest.com. hostmaster.ltest.com. (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

@ IN NS ns1.ltest.com.

@ IN NS ns2.ltest.com.

2 IN PTR ns1.ltest.com. (PTR 可用IP 省略方法,

1.168.192.in-addr.rapa 表192.168.1.2可写为2)

3 IN PTR ns2.ltest.com.

11 IN PTR host1.ltest.com.

12 IN PTR host2.ltest.com.

4、配置文件和区域文件的测试

A 、测试named.conf 主配置文件

# named-checkconf (如果不显示任何信息表示语法正确 )

B 、测试区域文件

# named-checkzone benet.com /var/named/benet.com.zone

# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev

(named-checkzone 命令对正向区域文件和反向区域文件进行检查语法是否错误,第一个参数指定区域名称,第二个参数指定区域文件名称,如果语法正确将显示OK )

5、重启named 服务

#service named restart

四、从域名服务器 的配置

,

(它做为主域名服务器的辅助和备份服务器,自身不建立区域文件,而是从主域名服务器中查询并保存,它可以与主域名服务器提供相同的域名解析服务,它需要在与主域名服务器不同的主机中构建)

1、在named.conf 文件中设置域

建立正向解析域

zone "benet.com" {

type slave; (type 设置为“slave”,表示当前DNS 服务器是该域的从域名服务器类型 )

file "slaves/benet.com.zone" (从域名服务器中的区域文件应设置保存在 “slaves”子目录中,区域文件将从主 域名服务器中获取并保存在该目录中,为了便于管理,尽量使用与主服务器

相 同的区域文件名称)

masters { 192.168.0.5; }; ( 使用masters 设置主域名服务器的IP 地址 ) };

建立反向解析域

zone "0.168.192.in-addr.arpa" {

type slave;

file " slaves/192.168.0.rev";

masters { 192.168.0.5; };

};

2、检测配置文件和启动named 服务

从域名服务器只需要检测配置文件的语法

# named-checkconf

启动从域名服务器

# service named start

查看区域文件

从服务器启动后将从主域名服务器中获得区域文件并保存在指定的目录中

# ls /var/named/slaves/

192.168.0.rev benet.com.zone

(如果/var/named/slaves/目录中没有发现区域文件,说明从域名服务器和主域名服务器之间传输区域文件不成功,需要排错。)

五、缓存域名服务器的配置

(它应保证能够与互联网中的其他DNS 服务器进行连接,它的主要作用是提高域名解析速度和节约出口带宽)

1、安装caching-nameserver 软件包

(RHEL4系统为配置缓存域名服务器专门提供了名为“caching-nameserver”的软件包,该

,

软件包保存在第1张安装光盘中,默认没有安装。)

# rpm -ivh caching-nameserver-7.3-3.noarch.rpm

(caching-nameserver 软件包安装时将对BIND 服务器的配置文件named.conf 的内容进行更改,原文件中的内容保存在/etc/named.conf.rpmorig中。)

2、named.conf 中的全局设置 (其中以//开头的行是无效行)

options {

directory "/var/named"; (directory 用于设置BIND 服务器的工作目录,即域名区域文件保存的目录 )

dump-file "/var/named/data/cache_dump.db"; (dump-file 用于设置域名缓存文件的保存位置和文件名 )

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

};

3、根区域设置

named.conf 中的根区域设置

zone "." IN {

type hint; (type 设置为hint 表示该区域的类型是根区域)

file "named.ca"; (file 用于设置区域文件,根区域文件的名称是“named.ca” ) };

(named.ca 是根区域文件,位于“/var/named/ ”目录中,named.ca 中包含全球DNS 根服务器的地址信息请不要更改)

4、localhost 正向解析

(localhost 区域的作用是对主机名称“localhost”和环回地址“127.0.0.1” 进行解析,总是代表本机)

zone "localhost" IN {

type master; ( type 设置为master 表示区域的类型为主服务器 ) file "localhost.zone"; (file 设置区域文件名的名字 ,localhost.zone 在/var/named中,是安装caching- nameserver时自动安装的,用cat /var/named/localhost.zone查看内容)

};

5、localhost 反向解析

zone "0.0.127.in-addr.arpa" IN {

type master; ( type 设置为master 表示区域的类型为主服务器 )

file "named.local"; (file 设置区域文件名的名字,named.local 在/var/named中,是安装caching-nameserver 时 自动安装的,用cat /var/named/named.local查看内容)

};

,

6、缓存域名服务器在安装caching-nameserver 软件包后不需要任何其他配置就可以启动运行,并实现域名查询和缓存功能,但它必须能够访问互联网。可以使用nslookup 命令进行测试。

六、DNS 服务器的测试

1、DNS 测试原理

DNS 服务器的主要测试方法

使用nslookup 、dig 和host 等专用工具可以对DNS 服务器进行较全面的测试

nslookup 命令在Linux 和Windows 系统中都默认安装,是比较常用的测试工具

2、使用nslookup 测试DNS 服务器

进入nslookup 命令交换环境

# nslookup

>

设置使用指定的DNS 服务器

> server 192.168.0.5

测试localhost 主机域名的正向解析

> localhost

测试localhost 主机域名的反向解析

> 127.0.0.1

测试互联网中的域名解析 测试benet.com 域中的A 记录

> host1.benet.com

测试benet.com 域中的PTR 记录

> 192.168.0.7

测试benet.com 域中的CNAME 记录 测试benet.com 域中的NS 记录

> set type=ns (设置域名查询类型为NS 即域名记录)

> benet.com

测试benet.com 域中的MX 记录

> set type=mx (设置域名查询类型为MX 即邮件交换记录) > benet.com

设置进行A 记录的测试

> set type=a (设置域名查询类型为A 即地址记录)

>mail.benet.com

3、使用dig 测试DNS 服务器 (dig 只运行在liunx 平台,是domain information grep

,

的缩写)

1)#dig --help

dig 命令的格式

Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}

{global-d-opt} host [@local-server] {local-d-opt}

[ host [@local-server] {local-d-opt} [...]]

Use "dig -h" (or "dig -h | more") for complete list of options

2)dig 命令可以比nslookup 命令显示更多的DNS 服务器信息

# dig @192.168.0.5 benet.com (@后是被查询的DNS 服务器的IP 地址,benet.com 域名做为命令参数)

; <<>> DiG 9.2.4 <<>> @192.168.0.5 benet.com

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51201

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION:

;benet.com. IN A

;; AUTHORITY SECTION:

benet.com. 86400 IN SOA ns1.benet.com. hostmaster.benet.com. 42 10800 900 604800 86400

标签: