解析:
在查阅许多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服务器。希望我的配置实例对大家有很好的帮助。
linux配置dns服务器配置命令
Linux系统的DNS服务器怎么配置,配置命令有哪些?下面跟我一起来了解一下吧!
一、实验目的
熟悉Linux系统中DNS服务器的配置方法。理解配置过程的基本步骤的作用。
二、实验任务
(1)建立正向搜索区域,为网络个台服务器建立主机记录、别名记录。为网络建立邮件交换器记录。使得客户机能够根据服务器主机域名搜索出其IP地址。
(2)建立反向搜索区域,为网络个台服务器建立反向记录,使得客户机能够根据服务器主机IP地址搜索出其域名。
三、实验内容
1)DNS服务器配置的主要步骤:
首先在桌面右击,选择【新建终端】
1. 查看系统中是否已经安装了DNS服务器程序BIND,命令如下:
[root@libl root]#rpm –qa |grep bind(对照书本查看,一般都会有安装的。)
2、用命令直接启动dns服务器,命令如下:[root@libl root]# service named start
3、编辑主配置文件/etc/named.conf,主要是添加正向解析和反向解析,文件内容如下:
// generated by named-bootconf.pl
options {
directory "/var/named"
/*
* 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"//用来指定具体存放DNS记录的文件
}
zone "localhost" IN { //用来指定具体存放DNS记录的文件
type master
file " localhost.zone"
allow-update { none }
}
zone "0.0.127.in-addr.arpa" IN { //定义一个IP为127.0.0.* 的反向解析
type master
file "named.local"
allow-update { none }
}
zone "test.com" IN { //指定一个域名为test.com的`正向解析
type master
file "test.com.zone"
}
zone "173.168.192.in-addr.arpa" IN { //定义一个IP为192.168.173.* 的反向解析
type master
file "173.168.192.in-addr.arpa .zone"
}
Include “/etc/rndc.key”
4、配置正向解析文件
正向解析是根据域名得到其IP地址。编辑正向解析文件/var/named/test.com.zone 如下:
$TTL 86400
@ IN SOA dns.test.com. webmaster.test.com. (
20110510// 系列号,其值通常设置为日期。
28800//刷新时间
7200//重试
604800//过期
86400//生存时间
)
IN NS dns
@ IN MX 1 mail
dns IN A 192.168.173.66
www IN A 192.168.173.65
mail IN A 192.168.173.67
ftp IN CNAME www.test.com
5、配置反向解析文件
反向解析文件提供IP地址查询相应 DNS主机名。编辑反向解析文件/var/named/173.168.192.in-addr.arpa .zone 如下:
$TTL 86400
@ IN SOA dns.test.com. webmaster.test.com. (
20110510//
28800
7200
604800
86400
)
IN NS dns.tes.com.
66 IN PTR dns.test.com.
65 IN PTR www.test.com.
67 IN PTR mail.test.com.
6、接下来重启dns服务器,命令如下:[root@libl root]# service named restart
7、设置dns客户端。
对于windows2003环境系的dns客户端,使IP地址设为静态设置,其地址为192.168.173.65,子网掩码为 255.255.255.0,默认网关为192.168.173.254,首先DNS服务器(p)为192.168.173.66
8、测试DNS服务器。
1)在桌面的【开始】那点击后又点击【运行】
2)在d出的面板上输入“cmd”后就出现【命令提示符】下输入“ping dns.test.com”查看正向解析是否成功,接着再输入“ping 192.168.173.66”查看反向解析直接启动DHCP服务器,是否成功。若不成功,则在linux系统的配置dns服务器的机上的【新建终端】上先启动dns服务器,接着再查看正反向解析文件有没有建立好,命令如下:[root@ root]# named –g
安装 BIND 软件包1、安装
# yum -y install bind caching-nameserver
2、配置
下面的例子是以公网IP(172.16.0.80/29),局域网IP(192.168.0.0/24),域名(linuxde.net)作说明。在配置你自己的服务器时,请使用你自己的IP和域名。
# vim /etc/named.conf
options {
directory "/var/named"
# query range
allow-query { localhost192.168.0.0/24}
# transfer range
allow-transfer { localhost192.168.0.0/24}
# recursion range
allow-recursion { localhost192.168.0.0/24}
}
controls {
inet 127.0.0.1 allow { localhost} keys { rndckey}
}
# here is the section for internal informations
vimew "internal" {
match-clients {
localhost
192.168.0.0/24
}
zone "." IN {
type hint
file "named.ca"
}
# set zones for internal
zone "linuxde.net" IN {
type master
file "linuxde.net.lan"
allow-update { none}
}
# set zones for internal
zone "0.168.192.in-addr.arpa" IN {
type master
file "0.168.192.db"
allow-update { none}
}
zone "localdomain" IN {
type master
file "localdomain.zone"
allow-update { none}
}
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 "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}
}
}
vimew "external" {
match-clients {
any
}
zone "." IN {
type hint
file "named.ca"
}
# set zones for external
zone "linuxde.net" IN {
type master
file "linuxde.net.wan"
allow-update { none}
}
# set zones for external *note
zone "80.0.16.172.in-addr.arpa" IN {
type master
file "80.0.16.172.db"
allow-update { none}
}
}
include "/etc/rndc.key"
# *note : For How to write for reverse resolvimng, Write network address reversely like below.
the case for 192.168.0.0/24
network address? 192.168.0.0
range of network? 192.168.0.0 - 192.168.0.255
how to write? 0.168.192.in-addr.arpa
case of 172.16.0.80/29
network address? 172.16.0.80
range of network? 172.16.0.80 - 172.16.0.87
how to write? 80.0.16.172.in-addr.arp
设置Zones
创建zone文件以便服务器能解析域名IP。
1、内部zone文件
这个例子使用的是内网地址(192.168.0.0/24),域名(linuxde.net),请根据自己的具体情况配置。
# vim /var/named/linuxde.net.lan
$TTL86400
@INSOA ns.linuxde.net. root.linuxde.net. (
2007041501 Serial
3600 Refresh
1800 Retry
604800 Expire
86400Minimum TTL
)
# define name server
INNS ns.linuxde.net.
# internal IP address of name server
INA 192.168.0.17
# define mail exchanger
INMX 10 ns.linuxde.net.
# define IP address and hostname
ns INA 192.168.0.17
2、外部zone文件
这个例子使用的是外网地址(172.16.0.80/29),域名(linuxde.net),请替换成自己的。
# vim /var/named/linuxde.net.wan
$TTL 86400
@ INSOAns.linuxde.net. root.linuxde.net. (
2007041501Serial
3600 Refresh
1800 Retry
604800Expire
86400 Minimum TTL
)
# define name server
INNS ns.linuxde.net.
# external IP address of name server
INA172.16.0.82
# define Mail exchanger
INMX 10 ns.linuxde.net.
# define IP address and hostname
ns INA 172.16.0.82
创建zone文件使服务器能够反向解析IP到域名。
3、内部zone文件
这个例子使用的是内网地址(192.168.0.0/24),域名(linuxde.net),请使用自己的设置替换。
# vim /var/named/0.168.192.db
$TTL86400
@ INSOA ns.linuxde.net. root.linuxde.net. (
2007041501 Serial
3600 Refresh
1800 Retry
604800 Expire
86400 Minimum TTL
)
# define name server
INNSns.linuxde.net.
# define range that this domain name in
INPTR linuxde.net.
# define IP address and hostname
INA 255.255.255.0
17INPTR ns.linuxde.net.
4、外部zone文件
这例子使用外网地址(172.16.0.80/29),域名(linuxde.net),请替换成自己的。
# vim /var/named/80.0.16.172.db
$TTL 86400
@INSOA ns.linuxde.net. root.linuxde.net. (
2007041501 Serial
3600 Refresh
1800 Retry
604800 Expire
86400 Minimum TTL
)
# define name server
INNS ns.linuxde.net.
# define range that this domain name in
INPTR linuxde.net.
# define IP address and hostname
INA 255.255.255.248
82 INPTR ns.linuxde.net.
启动BIND
1、完成BIND的配置后,在启动named之前,还需要建立chroot环境。
# yum -y install bind-chroot
# /etc/rc.d/init.d/named start
# chkconfig named on
2、 *** 作检验
确认服务器已经正确解析域名或IP地址。
# dig ns.linuxde.net.
<<>>DiG 9.3.4 <<>>ns.linuxde.net.
global options: printcmd
Got answer:
->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54592
flags: qr aa rd raQUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
QUESTION SECTION:
ns.linuxde.net. IN A
ANSWER SECTION:
ns.linuxde.net. 86400 IN A192.168.0.17
AUTHORITY SECTION:
linuxde.net. 86400 IN NS ns.linuxde.net.
Query time: 0 msec
SERVER: 192.168.0.17#53(192.168.0.17)
WHEN: Thu Mar 8 19:35:19 2007
MSG SIZE rcvd: 68
# dig -x 192.168.0.17
<<>>DiG 9.3.4 <<>>-x 192.168.0.17
global options: printcmd
Got answer:
->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45743
flags: qr aa rd raQUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
QUESTION SECTION:
17.0.168.192.in-addr.arpa. IN PTR
ANSWER SECTION:
17.0.168.192.in-addr.arpa. 86400 IN PTR ns.linuxde.net.
AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400 IN NS ns.linuxde.net.
ADDITIONAL SECTION:
ns.linuxde.net. 86400 IN A 192.168.0.17
Query time: 0 msec
SERVER: 192.168.0.17#53(192.168.0.17)
WHEN: Thu Mar 8 19:37:50 2007
MSG SIZE rcvd: 107
配置从DNS服务器
配置从DNS服务器比较简单。下面的例子主DNS是“ns.linuxde.net”,从DNS是“ns.example.info”。
1、在主DNS服务器的zone文件作如下配置
# vim /var/named/linuxde.net.wan
$TTL 86400
@IN SOA ns.linuxde.net. root.linuxde.net. (
# update serial
2007041501 Serial
3600Refresh
1800Retry
604800 Expire
86400 Minimum TTL
)
IN NS ns.linuxde.net.
# add name server
IN NS ns.example.info.
IN A172.16.0.82
IN MX 10 ns.linuxde.net.
nsIN A172.16.0.82
# rndc reload
server reload successful
2、配置从DNS服务器
# vim /etc/named.conf
# add these lines below
zone "linuxde.net" IN {
type slave
masters { 172.16.0.82}
file "slaves/linuxde.net.wan"
}
# rndc reload
server reload successful
# ls /var/named/slaves
linuxde.net.wan # zone file in master DNS has been just transfered
设置别名记录,如果你想为你的主机设置另一个名称,在zone文件定义CNAME记录
# vim /var/named/server-Linux.info.wan
$TTL86400
@ INSOA ns.server-linux.info. root.server-linux.info. (
# update serial
2007041501 Serial
3600Refresh
1800Retry
604800 Expire
86400 Minimum TTL
)
INNSns.server-linux.info.
INA 172.16.0.82
INMX 10 ns.server-linux.info.
nsINA 172.16.0.82
# aliase IN CNAME server's name
ftp IN CNAME ns.server-linux.info.
# rndc reload
server reload successful
以下是一个整理的主配文件参数解释(仅供参考)/**/代表注释:
options { /*OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DI RECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到 /var/named 下,在这里你还可以指定端口等等。不指定则端口是53
*/
directory "/var/named"
}//
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost} keys { rndckey}
}
zone "." IN { //在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区
type hint
/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是:
master:表示定义的是主域名服务器
slave :表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器
*/
file "named.ca"//用来指定具体存放DNS记录的文件
}
zone "localhost" IN { //定义一具域名为localhost的正向区域
type master
file "localhost.zone"
allow-update { none}
}
zone "test.net" IN { //指定一个域名为test.net的正向区域
type master
file "test.net”
allow-update { none}
}
zone "0.0.127.in-addr.arpa" IN { //定义一个IP为127.0.0.*的反向域区
type master
file "named.local"
allow-update { none}
}
zone "0.192.168.in-addr.arpa" IN { //定义一个IP为168.192.0.*反向域区
type master
file "168.192.0"
/var/named/test.net文件
@ IN SOA linux.test.net. Webmaster.test.net. ( SOA表示授权开始
/*上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表test.net,即表示一个域名记录定义的开始。而linux.test.net则是这个域的主域名服务器,而webmaster.test.net则是管理员的邮件地址。注意这是邮件地址中用.来代替常见的邮件地址中的@.而SOA表示授权的开始
*/
2003012101 serial (d. adams) /*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来说你更新是没有意义的。
*/
28800 refresh
/*定义的是以为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
*/
7200 retry
/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试
*/
3600000 expiry
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的
*/
8400 )
/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记
录
*/
IN NS linux
IN MX 10 linux
linux IN A 168.192.0.14
it-test1 IN A 168.192.0.133
www IN CNAME linux
/*上面的第一列表示是主机的名字,省去了后面的域。
NS:表示是这个主机是一个域名服务器,
A:定义了一条A记录,即主机名到IP地址的对应记录
MX 定义了一邮件记录
CNAME:定义了对应主机的一个别名
/var/named/168.192.0
@ IN SOA linux.test.net. webmastert.linux.net. (
1997022700 Serial
28800 Refresh
14400 Retry
3600000 Expire
86400 ) Minimum
IN NS linux.test.net.
/*以上的各关键字的含义跟test.net是相同的
14 IN PTR linux.test.net.
133 IN PTR it-test1.test.net.
/*
上面的第一列表示的是主机的IP地址。省略了网络地址部分。如14完整应该是:
168.192.0.14
PTR:表示反向记录
最后一列表示的是主机的域名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)