查看完整版本: [轉貼]用BIND构建分离解析的DNS服务器

chun 2010-2-25 22:48

[轉貼]用BIND构建分离解析的DNS服务器

<P><A href="http://oneday.cz.cc/archives/145.html">http://oneday.cz.cc/archives/145.html</A></P>
<P>&nbsp;</P>
<P>一、概念</P>
<P>1.分离解析:来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果</P>
<P>2.其实它还是主域名服务器</P>
<P>3.方法:</P>
<P>1)在named.conf主配置文件中为不同的客户机地址分别设立view视图</P>
<P>2)在每个view视图区域中,用 match-clients配置项指定相匹配的IP地址或网络地址范围</P>
<P>3)在每个view视图区域中,设置zone ,再各自使用独立的数据文件</P>
<P>4.view 格式</P>
<P>view “名字” {</P>
<P>match-clients { IP地址或网段或any(任意地址); } //设置明显什么用户的视图</P>
<P>zone “区域” IN {</P>
<P>type master;</P>
<P>file “区域数据库配置文件”</P>
<P>};</P>
<P>};</P>
<P>5.注意:将包含”match-clients { any; };”的view配置段放在文件的最后一部分,否则会导致其后面的view配置失效(找到一个匹配结果后不在继续找)</P>
<P><SPAN id=more-145></SPAN></P>
<P>二、实验环境</P>
<P>1.域名服务器架设在企业网关服务器中,外网IP:173.16.16.1 内网IP192.168.1.1</P>
<P>2.DNS域为“redhat.com”,在Internet中的公共域名为www.redhat.com</P>
<P>3.公司的WEB服务器在内部局域网中,IP为192.168.1.2</P>
<P>三、要求</P>
<P>1.外部网络用域名访问公司网站时,解析的地址为 173.16.16.1</P>
<P>2.内部网络用域名访问公司网站时,解析的地址为 192.168.1.2</P>
<P>四、拓扑图如下</P>
<P><A href="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image0021.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image002_thumb1.jpg" width=520 height=311></A></P>
<P>五、步骤</P>
<P>1.安装bind</P>
<P>2.设置主配置文件</P>
<P>Vi /var/named/chroot/etch/named.conf</P>
<DIV class=wp_syntax>
<DIV class=code><PRE style="FONT-FAMILY: monospace" class=bash>options <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN>
&nbsp;
listen-on port <SPAN style="COLOR: #000000">53</SPAN> <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN> any; <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
directory <SPAN style="COLOR: #ff0000">"/var/named"</SPAN>;
&nbsp;
dump-file <SPAN style="COLOR: #ff0000">"/var/named/data/cache_dump.db"</SPAN>;
&nbsp;
statistics-file <SPAN style="COLOR: #ff0000">"/var/named/data/named_stats.txt"</SPAN>;
&nbsp;
memstatistics-file <SPAN style="COLOR: #ff0000">"/var/named/data/named_mem_stats.txt"</SPAN>;
&nbsp;
allow-query <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN> any; <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
view <SPAN style="COLOR: #ff0000">"lan"</SPAN> <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN>
&nbsp;
match-clients <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN> 192.168.1.0<SPAN style="COLOR: #000000; FONT-WEIGHT: bold">/</SPAN><SPAN style="COLOR: #000000">24</SPAN>; <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
zone <SPAN style="COLOR: #ff0000">"redhat.com"</SPAN> IN <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN>
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">type</SPAN> master;
&nbsp;
<SPAN style="COLOR: #c20cb9; FONT-WEIGHT: bold">file</SPAN> <SPAN style="COLOR: #ff0000">"redhat.com.zone.lan"</SPAN>;
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
view <SPAN style="COLOR: #ff0000">"wan"</SPAN> <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN>
&nbsp;
match-clients <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN> any; <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
zone <SPAN style="COLOR: #ff0000">"redhat.com"</SPAN> IN <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">{</SPAN>
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">type</SPAN> master;
&nbsp;
<SPAN style="COLOR: #c20cb9; FONT-WEIGHT: bold">file</SPAN> <SPAN style="COLOR: #ff0000">"redhat.com.zone.wan"</SPAN>;
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;
&nbsp;
<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">}</SPAN>;</PRE></DIV></DIV>
<P>3.分别建立对外、内解析的区域数据库文件</P>
<P>Vi /var/named/chroot/var/named/redhat.com.zone.lan</P>
<DIV class=wp_syntax>
<DIV class=code><PRE style="FONT-FAMILY: monospace" class=bash><SPAN style="COLOR: #007800">$TTL</SPAN> <SPAN style="COLOR: #000000">86400</SPAN>
&nbsp;
<SPAN style="COLOR: #000000; FONT-WEIGHT: bold">@</SPAN> IN SOA ns1.redhat.com. root.redhat.com. <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">(</SPAN>
&nbsp;
<SPAN style="COLOR: #000000">2090222002</SPAN> ; serial <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">(</SPAN>d. adams<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">)</SPAN>
&nbsp;
3H ; refresh
&nbsp;
15M ; retry
&nbsp;
1W ; expiry
&nbsp;
1D <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">)</SPAN> ; minimum
&nbsp;
<SPAN style="COLOR: #000000; FONT-WEIGHT: bold">@</SPAN> IN NS ns1.redhat.com.
&nbsp;
ns1 IN A 192.168.1.1
&nbsp;
www IN A 192.168.1.2</PRE></DIV></DIV>
<P>Vi /var/named/chroot/var/named/redhat.com.zone.wan</P>
<DIV class=wp_syntax>
<DIV class=code><PRE style="FONT-FAMILY: monospace" class=bash><SPAN style="COLOR: #007800">$TTL</SPAN> <SPAN style="COLOR: #000000">86400</SPAN>
&nbsp;
<SPAN style="COLOR: #000000; FONT-WEIGHT: bold">@</SPAN> IN SOA redhat.com. root.rdhat.com <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">(</SPAN>
&nbsp;
<SPAN style="COLOR: #000000">42</SPAN> ; serial <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">(</SPAN>d. adams<SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">)</SPAN>
&nbsp;
3H ; refresh
&nbsp;
15M ; retry
&nbsp;
1W ; expiry
&nbsp;
1D <SPAN style="COLOR: #7a0874; FONT-WEIGHT: bold">)</SPAN> ; minimum
&nbsp;
<SPAN style="COLOR: #000000; FONT-WEIGHT: bold">@</SPAN> IN NS ns1.redhat.com.
&nbsp;
ns1 IN A 173.16.16.1
&nbsp;
www IN A 173.16.16.1</PRE></DIV></DIV>
<P>4.重启named服务</P>
<P>service named restart</P>
<P>六、测试</P>
<P>1.在局域网中客户机的IP地址是 192.168.1.3</P>
<P>nslookup wwwredhat.com</P>
<P>结果:</P>
<P>Server: 192.168.1.1</P>
<P>Address: 192.168.1.1#53</P>
<P>Name: www.redhat.com</P>
<P>Address: 192.168.1.2</P>
<P>2.在外网中客户机的IP地址是 173.16.16.16</P>
<P>1)nslookup wwwredhat.com</P>
<P>结果:</P>
<P>Server: 173.16.16.1</P>
<P>Address: 173.16.16.1#53</P>
<P>Name: www.redhat.com</P>
<P>Address: 173.16.16.1</P>
<P>七、一些图片,及其配置项的解释</P>
<P><A href="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image0041.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image004_thumb1.jpg" width=483 height=365></A></P>
<P><A href="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image0061.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image006_thumb1.jpg" width=490 height=263></A></P>
<P><A href="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image0081.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image008_thumb1.jpg" width=498 height=246></A></P>
<DIV class=fixed></DIV>
頁: [1]
查看完整版本: [轉貼]用BIND构建分离解析的DNS服务器