解析:
在查阅许多DNS配置手册后,无法是照办还是修改,我始终没有配置正确,总是正向解析无法解析.最后,在一次配置中,突然灵机一动,终于配置成功。(2002-12-12 11:47:50) By Angelhua
下面是我配置DNS的实例:
1 所需配置文件:
/etc/named.conf 系统自带,需要配置
/etc/resolv.conf 系统自带,需要配置
/var/named/myqmail.db 系统没有,自已创建
/var/named/db.192.168.0.198 系统没有,自已创建
/var/named/named.local 系统自带,不需要修改
/var/named/named.ca 系统自带,不需要修改
2 相关工具
nslookup
说明:检测DNS是否配置正确的工具,系统自带。
3 配置方案
3.1 /etc/named.conf
说明:DNS主配置文件,定义了域数据库信息的基本参数和源点,该文件可以存放在本地或远程的服务器上。源文件:
generated by named-bootconf.pl
options {
directory "/var/named"
/*
* If there is a firewall beeen you and nameservers you want
* to talk to, you might need to unment 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 {
i 127.0.0.1 allow { localhost} keys { rndckey}
}
zone "." IN {
type hint
file "named.ca"
}
zone "localhost" IN {
type master
file "localhost.zone"
allow-update { none}
}
zone "0.0.127.in-addr.arpa" IN {
type master
file "named.local"
allow-update { none}
}
zone "myqmail" IN {
type master
file "myqmail.db"
allow-update { none}
}
zone "0.168.192.in-addr.arpa" IN{
type master
file "db.192.168.0.198"
allow-update { none}
}
include "/etc/rndc.key"
3.2 /var/named/myqmail.db
说明:正向解析配置文件,即实现域名到IP的对应。源文件:
$TTL 86400
@ IN SOA myqmail. myqmail. (
*********** Serial
28800 Refresh
14400 Retry
3600000 Expire
86400 ) Minimum
IN NS myqmail.
localhost IN A 127.0.0.1
IN A 192.168.0.198
3.3 /var/named/db.192.168.0.198
说明:DNS反向解析配置文件,即实现IP地址很域名的映射。源文件:
$TTL 86400
@ IN SOA myqmail. myqmail. (
*********** Serial
28800 Refresh
14400 Retry
3600000 Expire
86400 ) Minimum
IN NS myqmail.
198 IN PTR myqmail.
3.4 /etc/resolv.conf
说明:指定域名服务器的IP和搜索顺序。源文件:
search myqmail
nameserver 192.168.0.198
4 测试及管理办法
4.1 测试方法
1. 修改完DNS的配置文件,需要执行/etc/rc.d/init.d/named restart来使更改生效。
2. nslookup:测试正向、反向的解析是否正常
5 小结
DNS服务是许多服务的基础,所以我刚开始linux服务器时,就着手配置DNS服务器。在不懂如何开始时,就拚命上网查相关配置文档。但我犯错了。因为我的DNS是用在局域网中,根本不连接Inter,仅仅限于局域网中为各个部门的各主机及服务器作解析用。但是许多网上资料都是针对有DNS服务器来配置的,也就是说是一种层层解析方式,与我的配置思路不一样。在耗用了许多时间的情况下,我终于成功地配置了自己的DNS服务器。希望我的配置实例对大家有很好的帮助。
BIND安装软件下载地址:http://www.isc.org/software/bind,目前最新版本是BIND 9.8.1-P1。
安装依赖:
yum -y install gcc openssl-devel
开始安装bind.
wget ftp://ftp.isc.org/isc/bind9/9.8.1-P1/bind-9.8.1-P1.tar.gz
tar xzf bind-9.8.1-P1.tar.gz
cd bind-9.8.1-P1
./configure --prefix=/usr/local/bind
make &&make install
执行完成后,bind已经安装到了/usr/local/bind目录。
配置主dns服务器
配置bind主要是两种文件,一是主配置文件named.conf,二是区域文件zone(包括正解析,反解析)。
在下面的配置中,我们的主dns服务器是ns1.qbtop.com 23.19.81.191,从dns服务器是ns2.qbtop.com 23.19.81.194(这两个dns都已经在godaddy注册好了)。
下面 *** 作仅在主dns服务器23.19.81.191执行。
主配置文件named.conf
首先执行rndc-confgen -a生成/etc/rndc.key密钥文件。
/usr/local/bind/sbin/rndc-confgen -a
vi /usr/local/bind/etc/named.conf
写入如下内容:
include "/usr/local/bind/etc/rndc.key"
controls { inet 127.0.0.1 port 953 allow { 127.0.0.1} keys { "rndckey"}}
logging {
channel default_syslog { syslog local2severity notice}
channel audit_log { file "/var/log/bind.log"severity noticeprint-time yes}
category default { default_syslog}
category general { default_syslog}
category security { audit_logdefault_syslog}
category config { default_syslog}
category resolver { audit_log}
category xfer-in { audit_log}
category xfer-out { audit_log}
category notify { audit_log}
category client { audit_log}
category network { audit_log}
category update { audit_log}
category queries { audit_log}
category lame-servers { audit_log}
}
options {
directory "/usr/local/bind/etc"
pid-file "/usr/local/bind/var/run/bind.pid"
transfer-format many-answers
interface-interval 0
allow-query { any}
}
zone "qbtop.com" {
type master
file "qbtop.com.zone"
allow-transfer { 23.19.81.194}
}
zone "81.19.23.in-addr.arpa" {
type master
file "81.19.23.in-addr.arpa"
allow-transfer { 23.19.81.194}
}
named.conf文件说明:
上面的named.conf文件包括三部分:key,controls,logging,options,zone。
logging:设置日志服务器和日志信息的发送地。
options:控制服务器的全局配置选项和为其它语句设置默认值
zone:定义一个域,比如正解析域和反解析域。
logging是定义日志的,不需要深究,主要是options和zone。
在options中:
directory "/usr/local/bind/etc":定义bind的工作目录为/usr/local/bind/etc,配置文件中所有使用的相对路径,指的都是在这里配置的目录下。
pid-file "/usr/local/bind/var/run/bind.pid":把bind程序运行的pid写入文件bind.pid。
transfer-format many-answers:使用更加有效的域传输格式many-answers。
allow-query { any}:允许所有用户查询dns。
在zone中:
这里定义了两个zone,一个是正解析zone qbtop.com,一个是反解析zone 81.19.23.in-addr.arpa。
他们的参数基本相同:
type master:定义dns服务器为主dns。
file "qbtop.com.zone":定义此zone的文件名。
allow-transfer { 23.19.81.194}:允许向从dns 23.19.81.194传输dns数据。
唯一不同的是zone名称的定义,正解析zone名称的定义是受权的域名,可以是顶级域名,也可以是二级域名,或多级。反解析zone名称定义规定前部分ip倒着写。如ip 192.168.1.2,名称定义为1.168.192.in-addr.arpa。
正解析qbtop.com.zone
vi /usr/local/bind/etc/qbtop.com.zone
写入如下内容:
$TTL 3600
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
2012022301 Serial
3600 Refresh
900 Retry
3600000 Expire
3600 ) Minimum
@ IN NS ns1.qbtop.com.
@ IN NS ns2.qbtop.com.
ns1 IN A 23.19.81.191
ns2 IN A 23.19.81.194
aaa IN A 23.19.81.191
bbb IN A 23.19.81.191
文件说明:
$TTL 3600:指示为每个没有特殊TTL设置的RR给出了一个默认的TTL。
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
2012022301 Serial
3600 Refresh
900 Retry
3600000 Expire
3600 ) Minimum
定义SOA记录,包括Zone的名字,一个技术联系人和各种不同的超时值。
@ IN NS ns1.qbtop.com.
@ IN NS ns2.qbtop.com.
设置两个ns记录ns1.qbtop.com和ns2.qbtop.com。
ns1 IN A 23.19.81.191
ns2 IN A 23.19.81.194
aaa IN A 23.19.81.191
bbb IN A 23.19.81.191
设置主机为ns1,ns2,aaa和bbb的A记录。
反解析文件81.19.23.in-addr.arpa
反解析zone可以不设置。
vi /usr/local/bind/etc/81.19.23.in-addr.arpa
写入如下内容:
$TTL 3600
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
2012022301 Serial
3600 Refresh
900 Retry
3600000 Expire
3600 ) Minimum
@ IN NS ns1.qbtop.com.
@ IN NS ns2.qbtop.com.
191 IN PTR ns1.qbtop.com.
194 IN PTR ns2.qbtop.com.
说明:
上部分是定义SOA记录,下部分是设置IP反解析。
如设置IP 23.19.81.191反解析成ns1.qbtop.com,23.19.81.194反解析成ns2.qbtop.com。
配置从DNS服务器
下面我们来配置从DNS服务器。配置从DNS服务器只需要配置主配置文件named.conf,zone文件不需配置,因为这是从主DNS服务器获取的。
首先建立目录slaves用来存放从主dns获取的zone文件。
mkdir /usr/local/bind/etc/slaves
写入如下内容:
logging {
channel default_syslog { syslog local2severity notice}
channel audit_log { file "/var/log/bind.log"severity noticeprint-time yes}
category default { default_syslog}
category general { default_syslog}
category security { audit_logdefault_syslog}
category config { default_syslog}
category resolver { audit_log}
category xfer-in { audit_log}
category xfer-out { audit_log}
category notify { audit_log}
category client { audit_log}
category network { audit_log}
category update { audit_log}
category queries { audit_log}
category lame-servers { audit_log}
}
options {
directory "/usr/local/bind/etc"
pid-file "/usr/local/bind/var/run/bind.pid"
transfer-format many-answers
interface-interval 0
allow-query { any}
}
zone "qbtop.com" {
type slave
file "slaves/qbtop.com.zone"
masters { 23.19.81.191}
}
zone "81.19.23.in-addr.arpa" {
type slave
file "slaves/81.19.23.in-addr.arpa"
masters { 23.19.81.191}
}
文件说明:
从dns跟主dns主要的区别是zone的定义,type slave定义此dns服务器为从dns,masters { 23.19.81.191}定义主dns的IP。
启动BIND
1、在启动BIND之前,我们需要执行/usr/local/bind/sbin/named-checkconf检查named.conf配置文
件,和执行/usr/local/bind/sbin/named-checkzone zone名称
zone文件名,如/usr/local/bind/sbin/named-checkzone qbtop.com
/usr/local/bind/etc/qbtop.com.zone。
然后调试模式启动bind,/usr/local/bind/sbin/named -g,g参数的意思是前台执行bind,这会输出启动的信息,发现没有严重的错误后,再把g参数删除重新以/usr/local/bind/sbin/named方式后台启动bind。
2、设置开机启动,在/etc/rc.d/rc.local中加入/usr/local/bind/sbin/named。
手动添加记录
1、直接添加删除或修改zone文件里的记录
2、执行rndc reload zone名称重载,如rndc reload qbtop.com
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)