当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux架设DNS服务器(二)

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 Linux架设DNS服务器(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 31 ::
收藏到网摘: n/a

2. 安装服务器软件
  
  2.1 取得bind软件包(现在新的版本为8.2.2 p5)
  
  从bind的主页http://www.isc.org上取得最新stable版的三个文件:
  
  bind-contrib.tar.gz
  
  bind-doc.tar.gz
  
  bind-src.tar.gz
  
  或者从http://www.redhat.com上取得三个文件:
  
  bind-8.2.2-p5-9.i386.rpm
  
  bind-devel-8.2.2-p5-9.i386.rpm
  
  cache-nameserver-6.2-2.noarch.rpm
  
  2.2 安装bind软件包
  
  安装tar封装的软件包:
  
  先解压软件包
  
  tar zxpf bind-contrib.tar.gz
  
  tar zxpf bind-doc.tar.gz
  
  tar zxpf bind-src.tar.gz
  
  编辑修改Makefile.set 文件,增加或修改
  
  'DESTLIB=/usr/lib/bind/lib'
  
  'DESTINC='/usr/lib/bind/include'
  
  编译并安装
  
  make
  
  make install
  
  安装rpm封装的软件包:
  
  rpm -Uhv bind-8.2.2-p5-9.i386.rpm
  
  rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm
  
  rpm -Uhv cache-nameserver-6.2-2.noarch.rpm
  
  3.让服务器跑起来---基本篇
  
  3.1
  
  BIND可被配置成几种不同的运行方式,通用的BIND配置为纯解析器系统,纯缓存服务器,主服务器,辅服务器.
  
  解析器是指通过域名服务器查询域信息的程序代码,在unix系统中,它是以库例程的方式实现的,而并不是一个单独的客户程序.纯解析器系统很容易配置,只要设置一下/etc/resolv.conf文件.这种方式通常用于由于某些限制不能在本地运行域名服务器软件的系统中.
  
  例如:/etc/resolv.conf内容类似为:
  
  search test.com
  
  nameserver 127.0.0.1
  
  nameserver 172.16.0.1
  
  当配置解析器库以使用BIND名字服务进行主机查找,你也必须告知它使用哪个名字服务器。对此有一个独立的文件,称为resolv.conf。如果这个文件不存在或是空的,那么解析器就假设名字服务器在你本地的主机上。
  
  如果在你的本地主机上运行一个名字服务器,你必须单独地设置它。
  
  resolv.conf中最重要的选项是nameserver,它给出了要使用的名字服务器的IP地址。如果你通过几次给出nameserver选项指定了几个名字服务器,那么它们会以给出的顺序试用。因此,你应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。
  
  如果没有给出nameserver选项,那么解析器试图连接本地主机上的名字服务器。
  
  其它两个选项,domain和search涉及到如果BIND不能用第一个请求解析主机名时附加在主机名上的缺省域。search选项指定了一个试用的域名列表。列表项是用空格或制表符分开的。
  
  如果没有给出search选项,就会通过使用域名本身从本地域名以及直至root的父域中建立一个搜寻列表。本地域名可以使用domain语句给出;如果一个也没有给出,那么解析器就通过系统调用getdomainname(2)来获取。
  
  3.2 其它三类配置方式是用于域名服务器的
  
  纯缓存服务器
  
  纯缓存服务器运行域名服务器软件,但并没有域名服务器数据库文件,它记录下每一个从远程域名服务器获得的数据,以回答将来对同一信息的查询.
  
  纯缓存服务器所需的三个基本配置文件:
  
  /etc/named.conf
  
  /var/named/named.ca
  
  /var/named/named.local
  
  创建或修改/etc/named.conf:
  
  // generated by named-bootconf.pl
  
  options {
  
  directory "/var/named";
  
  /*
  
  * 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;
  
  forwarders {172.16.0.1;172.16.0.11;};
  
  };
  
  //
  
  // a caching only nameserver config
  
  //
  
  zone "." {
  
  type hint;
  
  file "named.ca";
  
  };
  
  zone "0.0.127.in-addr.arpa" {
  
  type master;
  
  file "named.local";
  
  };
  
  在文件中"forwarders {172.16.0.1;172.16.0.11;};"其中的IP地址是你网络中主服务器和辅服务器的IP地址.
  创建或修改/var/named/named.local
  
  @ IN SOA localhost. root.localhost. (
  
  1997022700 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expire
  
  86400 ) ; Minimum
  
  IN NS localhost.
  
  1 IN PTR localhost.
  
  创建或修改/var/named/named.ca:
  
  至于/var/named/named.ca就要从redhat linux光碟获得了.也用命令从互联网上获得:
  
  dig @.aroot-servers.net.ns > /var/named/named.ca
  
  如果是用rpm封装的软件包安装的话,这三个文件会自动生成,我们只需要修改/etc/named.conf.其中/var/named.ca一般是不用修改的.
  
  主服务器
  
  主服务器是给定域的所有信息的授权来源.它所装载的域信息来自于由域管理员所创建并在本地维护的磁盘文件.
  
  我们用"test.com"作为例子,我们需要五个基本配置文件:
  
  /etc/named.conf
  
  /var/named/named.ca
  
  /var/named/named.local
  
  /var/named/named.test.com
  
  /var/named/named.172.16.0
  
  创建或修改/etc/named.conf:
  
  // generated by named-bootconf.pl
  
  options {
  
  directory "/var/named";
  
  /*
  
  * 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 PM nameserver config
  
  //
  
  zone "." {
  
  type hint;
  
  file "named.ca";
  
  };
  
  zone "0.0.127.in-addr.arpa" {
  
  type master;
  
  file "named.local";
  
  };
  
  //there are our primary zone files
  
  zone "test.com" {
  
  type master;
  
  file "named.test.com";
  
  };
  
  zone "0.16.172.in-addr.arpa" {
  
  type master;
  
  file "named.172.16.0";
  
  };
  
  文件中的zone "test.com"段是声明这是用于test.com域的主服务器,用于该域的数据从/var/named/named.test.com文件中装载.
  
  文件中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主机名的文件.用于该域的数据从/var/named/named.172.16.0文件中装载.
  
  创建或修改/var/named/named.local
  
  @ IN SOA ns.test.com. root.ns.test.com. (
  
  2000051500 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expire
  
  86400 ) ; Minimum
  
  IN NS ns.test.com.
  
  1 IN PTR localhost.
  
  注意:在修改named.*文件时每次存盘时要注意增加Serial值.如使用绝对域名时千万别忘了后面带的"."
  
  资源记录中的@字符转变为当前的域test.com,IN表示资源记录使用TCP/IP地址,SOA表示管辖开始记录.ns.test.com. 是这个域的主DNS服务器的标准名称,在之后是联系的EMAIL地址,其中@字符必须用"."代替.
  
  创建或修改/var/named/named.test.com
  
  @ IN SOA ns.test.com. root.ns.test.com. (
  
  2000051500 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expire
  
  86400 ) ; Minimum
  
  IN NS ns.test.com.
  
  ns A 172.16.0.1
  
  ns2 A 172.16.0.11
  
  www A 172.16.0.2
  
  ftp CNAME www.test.com.
  
  mail A 172.16.0.3
  
  MX 10 mail.test.com.
  
  创建或修改/var/named/named.172.16.0
  
  @ IN SOA ns.test.com. root.ns.test.com. (
  
  2000051500 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expi