免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 987 | 回复: 0
打印 上一主题 下一主题

使用DNS-views实现IP地址分区域解析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-13 09:24 |只看该作者 |倒序浏览

一、简介
在实际的网络应用中,我们有时希望对于同一个Domain Name能够根据不同的请求IP地址/区域,解析到不同的对应IP地址,比如:有时对于企业内部网络和外部网络希望对同一域名解析到不同的IP地址以达到安全目的或者应用目的,又比如为了解决中国南北方电信/网通互访速度差异问题,您也会希望电信用户解析到的域名IP是位于电信网络中的服务器,网通用户亦然,使用户能够访问到临近的最快的服务器。
而这些应用都可以通过对DNS的简单配置达到,使用DNS达到这一目的有以下的优点:
  • 低成本-无需添加任何专用设备,只需通过简单配置即可;
  • 灵活性强-可随时增加/删除解析规则;
  • 有一定的可扩展能力-如果搭配Round Robin DNS可无缝快速的配置简单的负载均衡;
    二、DNS-views配置
    1、原理
    使用DNS提供的view指令可以实现根据不同的IP范围来对同一个域名进行解析。

    • 注意:view指令只在BIND9存在,以前的BIND8是没有view指令的!

    2、配置示例
    (1)环境假想

    • 操作系统:CentOS 3.6
    • BIND版本:BIND 9.2.4-5
    • DNS 服务器:123.213.111.222(eht0)、10.0.0.1(eth1)
    • 企业内部IP段:10.0.0.0/24
    • 企业外部IP段:除10.0.0.0/24之外的所有
    • 域名:testdns.org

    我们希望企业内部IP所解析到www.testdns.org的IP地址为:12.34.56.78,外部IP段则解析到:87.65.43.21
    (2)配置示例

    • named.conf
    //
    // named.conf for Red Hat caching-nameserver
    //
       
       options {
            directory "/var/named";
            dump-file "/var/named/data/cache_dump.db";
             statistics-file "/var/named/data/named_stats.txt";
            /** 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; };
    };

    view "internal" {
            match-clients { 10.0.0.0/24; };

            zone "." IN {
           type hint;
           file "named.ca";
    };
            zone "testdns.org" {
            type master;
            file "db.internal";
    };
            zone "0.0.127.in-addr.arpa" IN {
           type master;
           file "named.local";
           allow-update { none; };
    };
    };

    view "other" {
            match-clients { any; };

           zone "." IN {
           type hint;
           file "named.ca";
    };
            zone "testdns.org" {
            type master;
            file "db.other";
    };
            zone "0.0.127.in-addr.arpa" IN {
           type master;
           file "named.local";
           allow-update { none; };
    };
    };

    include "/etc/rndc.key";

    • db.internal
    $TTL        86400
    $ORIGIN testdns.org.
    @ IN SOA ns1.testdns.org. webmaster.ns1.testdns.org. (
            200512264
             60              
             60              
             36000           
             86400 )         
            IN NS ns1.testdns.org.
    @        IN A  10.0.0.1
    ns1        IN A  10.0.0.1
    www        IN A  12.34.56.78

    • db.other
    $TTL        86400
    $ORIGIN testdns.org.
    @ IN SOA ns1.testdns.org. webmaster.ns1.testdns.org. (
               200512264       
            60               
            60               
            36000               
            86400 )               
            IN NS ns1.testdns.org.
    @        IN A  10.0.0.1
    ns1        IN A  10.0.0.1
    www        IN A  87.65.43.21
    通过这样的配置就可以实现我们之前所假想的功能了!测试:在内部网络中的一台电脑中将DNS服务器设置为10.0.0.1,之后ping www.testdns.org,会得到结果12.34.56.78;使用非内部网络的电脑设置好DNS:123.213.111.222,之后ping www.testdns.org,会得到结果87.65.43.21。
    取自"
    http://kb.discuz.net/index.php?title=%E4%BD%BF%E7%94%A8DNS-views%E5%AE%9E%E7%8E%B0IP%E5%9C%B0%E5%9D%80%E5%88%86%E5%8C%BA%E5%9F%9F%E8%A7%A3%E6%9E%90
    "

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35012/showart_399726.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP