Chinaunix首页 | 论坛 | 博客
  • 博客访问: 479426
  • 博文数量: 132
  • 博客积分: 2995
  • 博客等级: 少校
  • 技术积分: 1412
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-06 20:14
文章分类

全部博文(132)

文章存档

2010年(2)

2008年(21)

2007年(109)

我的朋友

分类:

2008-03-20 14:51:47

这部分内容出自《网管员世界》2004年第2期  |经验技巧|栏目

我们知道在大量网络结构中IP地址使用的是内网IP地址,然后通过PIX等防火墙工具进行地址转换连接到公网。如果网内建立有WWW、mail服务器的话一般是通过在PIX上做映射来实现。这样的网络结构带来的问题就是这些服务器在内网是一个内网的IP地址,在公网又是一个公网的IP地址,也就是说内网和公网用户必须通过不同的IP地址访问这些服务器。

在这类网络架构中为了实现服务器的正常访问无非就是两种情况:第一种是公网的DNS解析交给专门做域名解析的公司做,比如万网等,然后每年交注册费,同时在内网架设一台DNS服务器给内网用户使用,将域名解析成内网的IP地址,这样可以确保内网、公网用户都可以正常访问,但是这种方式每年需要交注册费用,且修改记录不是太方便。另一种情况就是注册DNS服务器,自己得到自己域名的权威解析权,那么只要注册一次,交一次费用即可,而且记录修改在自己的服务器上完成就可以了,但是这样做必须在内网安装两套DNS服务器,一套供内网使用,一套供公网解析你的域名使用,成本太高。这样看来目前使用的这些方法都不是太好。

我们都知道事实上标准的DNS软件就是BIND,几乎所有Unix、Linux下的DNS服务器使用的都是这个软件。如果你使用的是BIND8或以前的版本不能很好地处理这个问题,如果你使用DNS软件版本是BIND9的话,问题就可以得到很好的解决。

BIND9可以根据不同的原地址给出不同的解析结果,也就是说内网的用它解析得出是内网的IP地址,公网的用它解析得出的是公网的IP地址。要实现这个功能只需要用好BIND9的view语句就可以了,任何有BIND配置经验的管理员使用以下的方法都不会有任何困难,十分简单,只需将系统升级到BIND9,再按照下面方法做即可。

假设内网的网段是192.168.0.0/16,我们的域名是abcde.com,那么我们只要对named.conf等文件做些简单修改就可以了,我们来看这个named.conf的配置例子,
options{directory“/var/named”;
      pid-file“/var/named/named.pid”;};
view“internal”{ //view语句是以前版本的BIND没有的
match-clients { 192.168.0.0/16; }; 
       recursion yes;
       zone“.”
   {type hint;
                file“named.ca”;};
       zone“0.0.127.IN-ADDR.ARPA”
   {type master;
                file“dns.local”;};
       zone“abcde.com”
   {type master;
    file“db.abcde.com.in”;};
        zone“255.168.192.in-addr.arpa”in
   {type master;
    file“abcde.rev.in”;};
};
view“external”{
       match-clients { any; };
              recursion yes; //如果对公网不提供其它域名递归的解析,只提供自己域名的解析,将yes改为no就可以了,这样公网IP就不能用这个服务器做其它域名的解析了,可以减轻服务器负担。
        zone“.”
   {type hint;
                file“named.ca”;};
       zone“0.0.127.IN-ADDR.ARPA”
   {type master;
                file“dns.local”;};
       zone“abcde.com”
   {type master;
                file“db.abcde.com.ex”;};
        zone“95.111.211.in-addr.arpa”in
   {type master;
                file“abcde.rev.ex”;};
};

是不是很简单呢?这样配置以后服务器就会根据源地址的不同到/var/named目录下面寻找相应的DNS记录文件,如果是192.168.0.0/16网段的IP地址做查询,服务器就会查找/var/named/db.abcde.com.in这个文件里的数据并给出内网的解析结果,公网IP则查找/var/named/db.abcde.com.ex里的数据并给出公网的解析结果。注意,在这里/var/named目录下面所有的文件格式不需要做任何修改,只不过*.ex里面记录的是公网的数据,*.in里面记录的是内网的数据。

我相信任何有过BIND配置经验的管理员在这个配置上面不会存在任何问题,大家快去做做看吧,小小的一个配置上的改动,可以给大家省下一套DNS服务器和不少资金哦。

阅读(2322) | 评论(0) | 转发(0) |
0

上一篇:4500 rommon 启动问题

下一篇:HSRP 配置

给主人留下些什么吧!~~