用实验快速掌握DNS配置[原创]

由 nobody_am 在 07-04-2003 15:28 发表:

用实验快速掌握DNS配置[原创]

用实验快速掌握DNS配置

由于配置DNS很重要,本文主要以做实验来快速掌握DNS配置.

[实验目的]

1.配置一个只可转发请求的DNS.

2.配置一个masterDNS.

3.配置一个slaveDNS.

[实验环境]

1.两台互连的计算机.

2.系统Redhat 8.0.

[实验步骤]

一.实验准备.

1.两台机关掉iptables

service iptables stop

chkconfig iptables off

2.两台机检查安装必要软件

rpm -q bind

rpm -q bind-utils

rpm -q caching-nameserver

根据结果,安装没安装的软件,从安装盘里找出没安装的包,有选择的执行下列步骤:

rpm -Uvh bind-9*

rpm -Uvh bind-utils*

rpm -Uvh caching-nameserver*

3.互连两台机.

①编辑两台机的相应文件.(编辑最好用vi,以下也是)

机器1:

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

DEVICE=eth0

BOOTPROTO=none

onBOOT=yes

IPADDR=192.168.0.254

NETMASK=255.255.255.0

/etc/hosts

127.0.0.1 localhost localhost.localdomain

/etc/resolv.conf

nameserver 192.168.0.254

/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=server1

机器2:

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

DEVICE=eth0

BOOTPROTO=none

onBOOT=yes

IPADDR=192.168.0.1

NETMASK=255.255.255.0

/etc/hosts

127.0.0.1 localhost localhost.localdomain

/etc/resolv.conf

nameserver 192.168.0.1

/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=station1

②分别在两台机上运行:

机器1:

ifdown eth0

ifup eth0

ping 192.168.0.1

机器2:

ifdown eth0

ifup eth0

ping 192.168.0.254

主意:两台机能互相ping通,继续下列实验,不通,再找找原因.

二.机器1上配置一个masterDNS.

机器1上:

1.编辑/etc/named.conf文件:

/etc/named.conf

options {

directory “/var/named/”;

};

zone “.” IN {

type hint;

file “named.ca”;

};

zone “localhost” IN {

type master;

file “localhost.zone”;

};

zone “0.0.127.in-addr.arpa” IN {

type master;

file “named.local”;

};

zone “example1.com” IN {

type master;

file “db.example1”;

};

zone “0.168.192.in-addr.arpa” IN {

type master;

file “db.192.168.0”;

};

----------------------------------------------------------------------

解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.

上述文件有六部分:option ,5个zone.

其中option,”.”,”localhost”,”0.0.127.in-addr.arpa”原来就有.

“example1.com”,“0.168.192.in-addr.arpa”为现在子网的正向和反向搜索区的

定义,“db.example1”,”db.192.168.0”的名字是随便取的,它们必需在/var/named/下

存在.

主义{}前后及中间的空格,及分号.

-----------------------------------------------------------------------

2.用vi创建两个文件,/var/named/db.example1,/var/named/db.192.168.0

/var/named/db.example1

$TTL 86400

@ IN SOA server1.example1.com. Root.server1.example1.com. (

2003070401 1H 1M 1W 1D )

IN NS server1.example1.com.

IN A 192.168.0.254

server1 IN A 192.168.0.254

station1 IN A 192.168.0.1

www IN A 192.168.0.254

ftp IN A 192.168.0.254

pop IN A 192.168.0.254

www1 IN CNAME server1.example1.com.

ftp1 IN CNAME server1.example1.com.

@ IN MX 10 server1.example1.com.

server1.example1.com IN MX 10 server1.example1.com.

----------------------------------------------------------------------

解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.

上述文件是一个正向搜索的数据库:

$TTL 86400 是文件开头,数字表示默认存活期,用秒计算的,做什么不用不要管它,

记着添上就行.

接着的格式就是:[domain] [class]

  1<type> <rdata>   
  2  
  3  
  4  
  5[domain]如: server1.example1.com , www.   
  6  
  7Www是简写,实际会默认添上定义这个文件的那个 zone “example1.com”里的   
  8  
  9example1.com,即:www=www.example1.com.这个段可以升略不写,默认跟前一行的   
 10  
 11[domain]相同.@表示”example1.com”.   
 12  
 13  
 14  
 15[class]一般为internet类,即:IN ,可以省去不写.   
 16  
 17  
 18  
 19<type> 分别有SOA,NS,A,MX,CNAME,及反向数据库里的PTR.   
 20  
 21SOA=start of authority 必要的   
 22  
 23NS=nameserver 必要的   
 24  
 25A=域名和ip地址的映射. 必要的   
 26  
 27MX=mail exchange. 可选的   
 28  
 29CNAME=域名的一个假名 可选的   
 30  
 31PTR=用在反向:ip地址和域名的影射. 必要的   
 32  
 33  
 34  
 35假名不可以放在NS MX 的<rdata>字段.   
 36  
 37  
 38  
 39SOA 括弧中的5个数字:   
 40  
 41对应为( serial refresh retry expire Minimum )   
 42  
 43serial 可以是任何数字,一般:年月日修改数.   
 44  
 45refresh 是SOA信息的刷新时间.   
 46  
 47Retry是与授权服务器联系的频率.   
 48  
 49Expire slave服务器保存有关的区域信息,不更新它的时间间隔.   
 50  
 51Minimum 区域中记录的存活时间.   
 52  
 53  
 54  
 55H=hour D=day M=minute W=week   
 56  
 57  
 58  
 59SOA 后的server1.example1.com.表示这个区域授权给哪台机.   
 60  
 61root.server1.example1.com.表示管理人.用.代替@   
 62  
 63  
 64  
 65完整域名后一定要加.号,否则会自动为你加”example1.com”.   
 66  
 67  
 68  
 69以上如果你不懂,不用急,以后慢慢想清楚.   
 70  
 71\-----------------------------------------------------------------------   
 72  
 73  
 74  
 75/var/named/db.192.168.0   
 76  
 77$TTL 86400   
 78  
 79@ IN SOA server1.example1.com. root.server1.example1.com. (   
 80  
 812003070401 1H 1M 1W 1D )   
 82  
 83IN NS server1.example1.com.   
 84  
 85254.0.168.192.in-addr.arpa IN PTR server1.example1.com.   
 86  
 871.0.168.192.in-addr.arpa IN PTR station1.example1.com.   
 88  
 89\----------------------------------------------------------------------   
 90  
 91解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.   
 92  
 93此文件是反向搜索的数据库.   
 94  
 95主意IP反着写.   
 96  
 97其它的不用解释.   
 98  
 99\-----------------------------------------------------------------------   
100  
1013.检验:   
102  
103# cat &gt;&gt; /var/log/messages   
104  
105******   
106  
107******   
108  
109[ctrl]+d   
110  
111# service named restart   
112  
113# host server1.example1.com   
114  
115# host station1.example1.com   
116  
117# host www.example1.com   
118  
119# host www1.example1.com   
120  
121# host 192.168.0.254   
122  
123  
124  
125看看是否可以解析,如:server1.example1.com 对应的IP为192.168.0.254,   
126  
127192.168.0.254对应域名为server1.example1.com.如果不能解析,说明,配置有问题,   
128  
129可以到日志/var/log/messages里查看.具体位置在文件末尾的两行*******后,和调试   
130  
131程序一样,甚至他会告诉你哪个文件,哪行错了.修改后,重新执行:   
132  
133# cat &gt;&gt; /var/log/messages   
134  
135******   
136  
137******   
138  
139[ctrl]+d   
140  
141# service named restart   
142  
143# host server1.example1.com   
144  
145# host station1.example1.com   
146  
147# host www.example1.com   
148  
149# host www1.example1.com   
150  
151# host 192.168.0.254   
152  
153直到无错,且能够正确解析.   
154  
155  
156  
157三.机器2上配置一个只负责转发请求域名解析的DNS   
158  
159机器2上:   
160  
1611.编辑/etc/named.conf   
162  
163/etc/named.conf   
164  
165options {   
166  
167directory “/var/named/”;   
168  
169forwarders { 192.168.0.254; };   
170  
171};   
172  
173........   
174  
175\------------------------------------------------------------   
176  
177解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.   
178  
179forwarders { 192.168.0.254; }表示,如果此DNS不能解析出IP,则交给   
180  
181192.168.0.254这个DNS,其实在配置masterDNS时,也可以在option里加一个forwarders   
182  
183具体IP就是你平时上网用的DNS.如果有两个或多个也可以这样写:   
184  
185{ 210.35.92.77.45; 210.35.77.46; } 或者 { 210.35.92/24; 192.168.0.254 ;}   
186  
187.....表示其它的东西,不要动.   
188  
189\---------------------------------------------------------------------   
190  
1912.检验:   
192  
193# cat &gt;&gt; /var/log/messages   
194  
195******   
196  
197******   
198  
199[ctrl]+d   
200  
201# service named restart   
202  
203# host server1.example1.com   
204  
205# host station1.example1.com   
206  
207# host www.example1.com   
208  
209# host www1.example1.com   
210  
211# host 192.168.0.254   
212  
213  
214  
215看看是否可以解析,如:server1.example1.com 对应的IP为192.168.0.254,   
216  
217192.168.0.254对应域名为server1.example1.com.   
218  
219这个配置比较简单,一般不会有笔误,如果错误,排除bug的方法同检查masterDNS   
220  
221一样,看日志.   
222  
223  
224  
225三.机器2上配置一个slaveDNS   
226  
227机器2上:   
228  
2291.编辑/etc/named.conf   
230  
231/etc/named.conf   
232  
233options {   
234  
235directory “/var/named/”;   
236  
237};   
238  
239  
240  
241zone “.” IN {   
242  
243type hint;   
244  
245file “named.ca”;   
246  
247};   
248  
249  
250  
251zone “localhost” IN {   
252  
253type master;   
254  
255file “localhost.zone”;   
256  
257};   
258  
259  
260  
261zone 0.0.127.in-addr.arpa” IN {   
262  
263type master;   
264  
265file “named.local”;   
266  
267};   
268  
269  
270  
271zone “example1.com” IN {   
272  
273type slave;   
274  
275masters { 192.168.0.254; };   
276  
277file “db.example1-slave”;   
278  
279};   
280  
281  
282  
283zone 0.168.192.in-addr.arpa” IN {   
284  
285type slave;   
286  
287masters { 192.168.0.254; };   
288  
289file “db.192.168.0-slave”;   
290  
291};   
292  
293\------------------------------------------------------------   
294  
295解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.   
296  
297与masterDNS,不同的是:type slave; masters { 192.168.0.254; };   
298  
299slaveDNS的效果就是定期的向masterDNS复制一份数据库.   
300  
301一个网络一般只能有一个masterDNS,多个slaveDNS,slaveDNS用来使DNS的   
302  
303访问负载均衡.减轻masterDNS的负担.   
304  
305此时,删掉上面配置forward 的那句:forwarders { 192.168.0.254; };   
306  
307加着也没错,只不过,容易判断是否是slaveDNS在起作用。   
308  
309\------------------------------------------------------------   
310  
3112.检验:   
312  
313# cat &gt;&gt; /var/log/messages   
314  
315******   
316  
317******   
318  
319[ctrl]+d   
320  
321# service named restart   
322  
323# host server1.example1.com   
324  
325# host station1.example1.com   
326  
327# host www.example1.com   
328  
329# host www1.example1.com   
330  
331# host 192.168.0.254   
332  
333  
334  
335看看是否可以解析,如:# host server1.example1.com 显示:   
336  
337www.example1.com has address 192.168.0.254   
338  
339# host 192.168.0.254 显示:   
340  
341254.0.168.192.in-addr.arpa domain name pointer server1.example1.com.   
342  
3430.168.192.in-addr.arpa.   
344  
345  
346  
347且查看在/var/named/下是否生成: db.example1-slave , db.192.168.0-slave   
348  
349两个文件.</rdata></type></rdata></type>
Published At
Categories with 服务器类
Tagged with
comments powered by Disqus