今天是: 返回首页  设为首页  将小虎社区加入收藏  
发新话题
打印

不同的网段,不同的D

不同的网段,不同的D

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

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

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

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

假设内网的网段是192.168.0.0/16,我们的域名是abcde.com,那么我们只要对named.conf等文件做些简单修改就可以了,我们来看这个named.conf的配置例子,

optio {directory“/var/named”;

     id-file“/var/named/named.pid”;};

view“internal”{ //view语句是以前版本的BIND没有的

match-clients { 192.168.0.0/16; }

      recursion ye

      zone“.”

   {type hint;

            file“named.ca”;};

      zone“0.0.127.IN-ADDR.ARPA”

   {type master;

            file“d .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 ye  //如果对公网不提供其它域名递归的解析,只提供自己域名的解析,将yes改为no就可以了,这样公网IP就不能用这个服务器做其它域名的解析了,可以减轻服务器负担。

     zone“.”

   {type hint;

            file“named.ca”;};

      zone“0.0.127.IN-ADDR.ARPA”

   {type master;

            file“d .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目录下面寻找相应的D 记录文件,如果是192.168.0.0/16网段的IP地址做查询,服务器就会查找/var/named/db.abcde.com.in这个文件里的数据并给出内网的解析结果,公网IP则查找/var/named/db.abcde.com.ex里的数据并给出公网的解析结果。注意,在这里/var/named目录下面所有的文件格式不需要做任何修改,只不过*.ex里面记录的是公网的数据,*.in里面记录的是内网的数据。

我相信任何有过BIND配置经验的管理员在这个配置上面不会存在任何问题,大家快去做做看吧,小小的一个配置上的改动,可以给大家省下一套D 服务器和不少资金哦。
发新话题
如果怕忘记本站网址,您可以把我们的网址(www.fjhoo.com)记在qq签名或者个人说明里头!也可以点这里【收藏到QQ书签】