Gentoo Archives: gentoo-commits

From: "Le Zhang (r0bertz)" <r0bertz@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/doc/zh_cn: bind-guide.xml metadoc.xml
Date: Sun, 29 Nov 2009 18:44:52
Message-Id: E1NEolN-0007e0-AP@stork.gentoo.org
1 r0bertz 09/11/29 18:44:49
2
3 Modified: metadoc.xml
4 Added: bind-guide.xml
5 Log:
6 [zh_cn] added bind-guide.xml, thanks to Chu Shi
7
8 Revision Changes Path
9 1.58 xml/htdocs/doc/zh_cn/metadoc.xml
10
11 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/metadoc.xml?rev=1.58&view=markup
12 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/metadoc.xml?rev=1.58&content-type=text/plain
13 diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/metadoc.xml?r1=1.57&r2=1.58
14
15 Index: metadoc.xml
16 ===================================================================
17 RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/zh_cn/metadoc.xml,v
18 retrieving revision 1.57
19 retrieving revision 1.58
20 diff -u -r1.57 -r1.58
21 --- metadoc.xml 11 Oct 2009 17:03:11 -0000 1.57
22 +++ metadoc.xml 29 Nov 2009 18:44:49 -0000 1.58
23 @@ -1,9 +1,9 @@
24 <?xml version="1.0" encoding="UTF-8"?>
25 <!DOCTYPE metadoc SYSTEM "/dtd/metadoc.dtd">
26 -<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/zh_cn/metadoc.xml,v 1.57 2009/10/11 17:03:11 r0bertz Exp $ -->
27 -<!-- English CVS version: 1.221 -->
28 +<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/zh_cn/metadoc.xml,v 1.58 2009/11/29 18:44:49 r0bertz Exp $ -->
29 +<!-- English CVS version: 1.222 -->
30 <metadoc lang="zh_cn" parent="/doc/en/metadoc.xml">
31 - <version>1.143</version>
32 + <version>1.144</version>
33 <members>
34 <lead>r0bertz</lead>
35 </members>
36 @@ -370,6 +370,7 @@
37 <file id="texlive-migration-guide">/proj/en/tex/texlive-migration-guide.xml</file>
38 <file id="openrc-migration">/doc/zh_cn/openrc-migration.xml</file>
39 <file id="multipath">/doc/en/multipath.xml</file>
40 + <file id="bind-guide">/doc/zh_cn/bind-guide.xml</file>
41 <file id="devmanual">/proj/en/qa/devmanual.xml</file>
42 </files>
43 <docs>
44 @@ -839,6 +840,9 @@
45 <doc fileid="multipath">
46 <memberof>sysadmin_specific</memberof>
47 </doc>
48 + <doc fileid="bind-guide">
49 + <memberof>sysadmin_specific</memberof>
50 + </doc>
51 <doc fileid="devrel-policy">
52 <memberof>gentoodev_policies</memberof>
53 <memberof>project_devrel</memberof>
54
55
56
57 1.1 xml/htdocs/doc/zh_cn/bind-guide.xml
58
59 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/bind-guide.xml?rev=1.1&view=markup
60 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/bind-guide.xml?rev=1.1&content-type=text/plain
61
62 Index: bind-guide.xml
63 ===================================================================
64 <?xml version="1.0" encoding="utf-8"?>
65 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
66
67 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/zh_cn/bind-guide.xml,v 1.1 2009/11/29 18:44:49 r0bertz Exp $ -->
68 <!-- English CVS version: 1.3 -->
69
70 <guide link="/doc/zh_cn/bind-guide.xml">
71 <title>Gentoo BIND 指南</title>
72
73 <author title="作者">
74 <mail link="peratu@×××××××××.com">Vicente Olivert Riera</mail>
75 </author>
76 <author title="编辑">
77 <mail link="nightmorph"/>
78 </author>
79 <author title="译者">
80 <mail link="zm3345@×××××.com">楚石</mail>
81 </author>
82
83 <abstract>
84 本指南教你如何为你的域及本地网络安装和配置BIND
85 </abstract>
86
87 <version>2</version>
88 <date>2009-08-21</date>
89
90 <chapter>
91 <title>摘要</title>
92 <section>
93 <body>
94
95 <p>
96 这个教程将向你展示怎样安装与配置BIND,这个Internet上用得最多的DNS服务器。我们将采用不同的配置文件来配置<c>bind</c>,一个用来配置你的本地网络,另外一个配置外部网络。我们采用视图(view)来完成这个功能。你的内部区域(zone)(本地网络)使用一个视图(view),外部zone(外部网络)使用另外一个view。
97 </p>
98
99 </body>
100 </section>
101 </chapter>
102
103 <chapter>
104 <title>示例中所使用的数据</title>
105 <section>
106 <body>
107
108 <table>
109 <tr>
110 <th>关键字</th>
111 <th>注释</th>
112 <th>示例</th>
113 </tr>
114 <tr>
115 <ti>YOUR_DOMAIN</ti>
116 <ti>你的域名</ti>
117 <ti>gentoo.org</ti>
118 </tr>
119 <tr>
120 <ti>YOUR_PUBLIC_IP</ti>
121 <ti>公网ip是网络提供商(ISP)分配给你的</ti>
122 <ti>204.74.99.100</ti>
123 </tr>
124 <tr>
125 <ti>YOUR_LOCAL_IP</ti>
126 <ti>内部ip地址</ti>
127 <ti>192.168.1.5</ti>
128 </tr>
129 <tr>
130 <ti>YOUR_LOCAL_NETWORK</ti>
131 <ti>本地网络</ti>
132 <ti>192.168.1.0/24</ti>
133 </tr>
134 <tr>
135 <ti>SLAVE_DNS_SERVER</ti>
136 <ti>域中从DNS服务器的ip地址</ti>
137 <ti>209.177.148.228</ti>
138 </tr>
139 <tr>
140 <ti>ADMIN</ti>
141 <ti>DNS服务器的管理员名称</ti>
142 <ti>root</ti>
143 </tr>
144 <tr>
145 <ti>MODIFICATION</ti>
146 <ti>zone文件的修改时间,用数字表示</ti>
147 <ti>2009062901</ti>
148 </tr>
149 </table>
150
151 <figure link="/images/docs/local-network-map.png" short="network" caption="网络示意图"/>
152
153 </body>
154 </section>
155 </chapter>
156
157 <chapter>
158 <title>配置BIND</title>
159 <section>
160 <title>安装</title>
161 <body>
162
163 <p>
164 首先,安装<c>net-dns/bind</c>
165 </p>
166
167 <pre caption="安装bind">
168 # <i>emerge net-dns/bind</i>
169 </pre>
170
171 </body>
172 </section>
173 <section>
174 <title>配置/etc/bind/named.conf文件</title>
175 <body>
176
177 <p>
178 需要配置的第一个文件便是<path>/etc/bind/named.conf</path>。此文件的第一部分包括设定bind的根目录,ip和监听端口,pid文件以及ipv6协议。
179 </p>
180
181 <pre caption="选项(options)区域">
182 options {
183 directory "/var/bind";
184
185 listen-on-v6 { none; };
186 listen-on port 53 { 127.0.0.1; YOUR_LOCAL_IP; };
187
188 pid-file "/var/run/named/named.pid";
189 };
190 </pre>
191
192 <p>
193 <path>named.conf</path>文件的第二个部分是为你的本地网络设置内部视图(view)。
194 </p>
195
196 <pre caption="内部视图(Internal view)">
197 view "internal" {
198 match-clients { YOUR_LOCAL_NETWORK; localhost; };
199 recursion yes;
200
201 zone "YOUR_DOMAIN" {
202 type master;
203 file "pri/YOUR_DOMAIN.internal";
204 allow-transfer { any; };
205 };
206 };
207 </pre>
208
209 <p>
210 <path>named.conf</path>文件的第三部分是外部视图(external view)配置,它负责为其他网络解析我们的内部域名,并且为我们自己(以及任何使用本DNS服务器的人)解析其他所有域名。
211 </p>
212
213 <pre caption="外部视图(External view)">
214 view "external" {
215 match-clients { any; };
216 recursion no;
217
218 zone "." IN {
219 type hint;
220 file "named.ca";
221 };
222
223 zone "127.in-addr.arpa" IN {
224 type master;
225 file "pri/127.zone";
226 allow-update { none; };
227 notify no;
228 };
229
230 zone "YOUR_DOMAIN" {
231 type master;
232 file "pri/YOUR_DOMAIN.external";
233 allow-query { any; };
234 allow-transfer { SLAVE_DNS_SERVER; };
235 };
236 };
237 </pre>
238
239 <p>
240 <path>named.conf</path>文件的最后一个部分是日志策略。
241 </p>
242
243 <pre caption="外部视图(External view)">
244 logging {
245 channel default_syslog {
246 file "/var/log/named/named.log" versions 3 size 5m;
247 severity debug;
248 print-time yes;
249 print-severity yes;
250 print-category yes;
251 };
252 category default { default_syslog; };
253 };
254 </pre>
255
256 <p>
257 <path>/var/log/named/</path>目录必须存在并且属于<c>named</c>:
258 </p>
259
260 <pre caption="创建一个日志文件">
261 # <i>mkdir -p /var/log/named/</i>
262 # <i>chmod 770 /var/log/named/</i>
263 # <i>touch /var/log/named/named.log</i>
264 # <i>chmod 660 /var/log/named/named.log</i>
265 # <i>chown -R named /var/log/named/</i>
266 # <i>chgrp -R named /var/log/named/</i>
267 </pre>
268
269 </body>
270 </section>
271 <section>
272 <title>创建一个内部区域文件</title>
273 <body>
274
275 <p>
276 我们使用示例图片中的主机名和ip地址。注意几乎所有的(不是全部)域名都以点号(".")结束。
277 </p>
278
279 <pre caption="/var/bind/pri/YOUR_DOMAIN.internal">
280 $TTL 2d
281 @ IN SOA ns.YOUR_DOMAIN. ADMIN.YOUR_DOMAIN. (
282 MODIFICATION ; serial
283 3h ; refresh
284 1h ; retry
285 1w ; expiry
286 1d ) ; minimum
287
288 YOUR_DOMAIN. IN MX 0 mail.YOUR_DOMAIN.
289 YOUR_DOMAIN. IN TXT "v=spf1 ip4:YOUR_PUBLIC_IP/32 mx ptr mx:mail.YOUR_DOMAIN ~all"
290 YOUR_DOMAIN. IN NS ns.YOUR_DOMAIN.
291 YOUR_DOMAIN. IN NS SLAVE_DNS_SERVER
292 www.YOUR_DOMAIN. IN A 192.168.1.3
293 ns.YOUR_DOMAIN. IN A 192.168.1.5
294 mail.YOUR_DOMAIN. IN A 192.168.1.3
295 router.YOUR_DOMAIN. IN A 192.168.1.1
296 hell.YOUR_DOMAIN. IN A 192.168.1.3
297 heaven.YOUR_DOMAIN. IN A 192.168.1.5
298 desktop.YOUR_DOMAIN. IN A 192.168.1.4
299 </pre>
300
301 </body>
302 </section>
303 <section>
304 <title>创建外部区域(external zone)文件</title>
305 <body>
306
307 <p>
308 这里我们只有几个为外部客户端(网页www,邮件mail以及域名ns)服务的子域。
309 </p>
310
311 <pre caption="/var/bind/pri/YOUR_DOMAIN.external">
312 $TTL 2d
313 @ IN SOA ns.YOUR_DOMAIN. ADMIN.YOUR_DOMAIN. (
314 MODIFICATION ;serial
315 3h ;refresh
316 1h ;retry
317 1w ;expiry
318 1d ) ;minimum
319
320 YOUR_DOMAIN. IN MX 0 mail.YOUR_DOMAIN.
321 YOUR_DOMAIN. IN TXT "v=spf1 ip4:YOUR_PUBLIC_IP/32 mx ptr mx:mail.YOUR_DOMAIN ~all"
322 YOUR_DOMAIN. IN NS ns.YOUR_DOMAIN.
323 YOUR_DOMAIN. IN NS SLAVE_DNS_SERVER
324 www.YOUR_DOMAIN. IN A YOUR_PUBLIC_IP
325 ns.YOUR_DOMAIN. IN A YOUR_PUBLIC_IP
326 mail.YOUR_DOMAIN. IN A YOUR_PUBLIC_IP
327 </pre>
328
329 </body>
330 </section>
331 <section>
332 <title>完成配置</title>
333 <body>
334
335 <p>
336 你需要将<c>named</c>加入default runlevel:
337 </p>
338
339 <pre caption="加入default runlevel">
340 # <i>rc-update add named default</i>
341 </pre>
342
343 </body>
344 </section>
345 </chapter>
346
347 <chapter>
348 <title>配置客户端</title>
349 <section>
350 <body>
351
352 <p>
353 现在你可以在本地网络的所有机器上使用此DNS服务器了。请修改内部机器的<path>/etc/resolv.conf</path>文件。
354 </p>
355
356 <pre caption="编辑/etc/resolv.conf">
357 search YOUR_DOMAIN
358 nameserver YOUR_DNS_SERVER_IP
359 </pre>
360
361 <p>
362 注意我们在文档中使用的YOUR_DNS_SERVER_IP和YOUR_LOCAL_IP地址是相同的,在示例图片中都是192.168.1.5 。
363 </p>
364
365 </body>
366 </section>
367 </chapter>
368
369 <chapter>
370 <title>测试</title>
371 <section>
372 <body>
373
374 <p>
375 我们可以开始测试我们的新域名服务器了。首先,启动服务。
376 </p>
377
378 <pre caption="手动开启服务">
379 # <i>/etc/init.d/named start</i>
380 </pre>
381
382 <p>
383 现在,我们将要针对一些域名运行一些<c>host</c>命令。当然可以使用本地网络中的任何一台电脑来做测试。如果你还没有安装<c>net-dns/host</c>,可以用<c>ping</c>来代替;当然也可以运行<c>emerge
384 host</c>先安装。
385 </p>
386
387 <pre caption="开始测试">
388 $ <i>host www.gentoo.org</i>
389 www.gentoo.org has address 209.177.148.228
390 www.gentoo.org has address 209.177.148.229
391
392 $ <i>host hell</i>
393 hell.YOUR_DOMAIN has address 192.168.1.3
394
395 $ <i>host router</i>
396 router.YOUR_DOMAIN has address 192.168.1.1
397 </pre>
398
399 </body>
400 </section>
401 </chapter>
402
403 <chapter>
404 <title>使用iptables保护服务器</title>
405 <section>
406 <body>
407
408 <p>
409 如果你使用iptables保护你的服务器,你可以为DNS服务添加这样一些规则:
410 </p>
411
412 <pre caption="Iptables规则">
413 iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
414 iptables -A INPUT -p udp --dport 53 -j ACCEPT
415 iptables -A INPUT -p tcp --sport 53 -j ACCEPT
416 iptables -A INPUT -p tcp --dport 53 -j ACCEPT
417 </pre>
418
419 </body>
420 </section>
421 </chapter>
422 </guide>