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

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 28 ::
收藏到网摘: 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