今天要搭一个域名解析系统的测试环境,看了一下named的使用手册,就能利用named搭出来一个简单的DNS服务器。
一、命令和参数
named是一个命令行程序,是linux的DNS服务器,基于RFCs 1033, 1034和1035设计,命令行的参数如下:
named [-c config-file] [-d debuglevel] [-f -g -s] [-n #cpus] [-p port#]
[-t directory] [-u user-id] [-v] [-x cache-file]
主要参数的含义:
-c 指定配置文件的路径,如果该参数不指定,named将加载默认的配置文件/etc/named.conf
-d 设定调试日志的级别
-f 在前台运行named程序
-g 在前台运行named程序并将日志强制输出到标准出错stderr
-p 指定dns服务默认的端口号
-u 用指定的user-id运行named
二、配置实例
比如我想建一个mydomain.com的域名,首先添加下面的内容到/etc/named.conf中:
zone "mydomain.com" in {
type master;
file "mydomain.zone"; #mydomain.com的名字服务的配置文件
};
named默认从目录/var/named/中读取名字服务配置文件,在/var/named/中,创建文件mydomain.zone,录入如下内容:
$TTL 2D
mydomain.com. IN SOA test root.localhost. ( #设定时间
1999092901 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS test #名字服务器
IN MX 10 test #mail服务器
test IN A 10.1.24.24 #在mydomain.com中名字test对应的地址,配置3个地址
IN A 10.1.24.25
IN A 10.1.24.26
test1 IN A 10.1.24.90 #在mydomain.com中名字test1对应的地址
test2 IN A 10.1.24.92
test3 IN A 10.1.24.91
test4 IN A 10.1.24.93
test5 IN A 10.1.24.94 #在mydomain.com中名字test5对应的地址
www IN CNAME test #在mydomain.com中改变名字www为test,再进行处理
ftp IN CNAME test #在mydomain.com中改变名字ftp为test,再进行处理
三、运行
有两种方法运行named,一是直接运行/usr/sbin/named -g -u named,二是在在root权限下进入/etc/init.d ,然后运行脚本 ./named start。
运行之后,看看dns的效果,将dns服务器地址指向运行named的机器,试着请求地址可以得到如下响应结果:
test.mydomain.com 10.1.24.24/10.1.24.25/10.1.24.26
www.mydomain.com 10.1.24.24/10.1.24.25/10.1.24.26
ftp.mydomain.com 10.1.24.24/10.1.24.25/10.1.24.26
test1.mydomain.com 10.1.24.90
test5.mydomain.com 10.1.24.94
好了,简单的名字到地址的解析功能已经可以了,如果需要从地址到名字的解析,还要再配置反向解析的参数文件,参考BIND9 Administrator Reference Manual