Linux架设DNS服务器(二)
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
相关文章

Fedora Linux 42 稳定版发布: 带来大量新功能和软件更新
Fedora 42昨日发布,这是 Red Hat 赞助开发的杰出前沿 Linux 发行版的最新版,包含大量新功能和软件更新,使其成为 2025 年上半年发布的一款出色的 Linux 操作系统之一,内2025-04-16
如何在Linux查看硬盘信息? 查看Linux硬盘大小类型和硬件信息的5种方法
使用Linux系统的过程中,查看和了解硬盘信息是非常重要的工作,尤其是对于系统管理员而言,那么在Linux系统中如何查看硬盘信息?以下是具体内容介绍2025-03-12
如何在 Linux 中查看 CPU 详细信息? 3招轻松查看CPU型号、核心数和温度
在日常运维工作中,获取 CPU 信息是系统运维管理员常见的工作内容,无论是为了性能调优、硬件升级还是仅仅满足好奇心2025-03-11
什么是 Arch Linux? 独树一帜的Arch Linux发行版分析
Arch Linux是为简化,优化,现代化,实用主义,用户中心和多功能性而创建Linux发行版,究竟是什么让 Arch 与众不同?下面我们就来简要解读2025-02-19
一直用的linux办公,想要将笔记本电脑从 Linux 系统切换回 Windows 11,我们可以制作一个win11装机u盘,详细如下2025-02-17
Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南
Rsnapshot 不仅可以备份本地文件,还能通过 SSH 备份远程文件,接下来详细介绍如何安装、配置和使用 Rsnapshot,包括创建每小时、每天、每周和每月的本地备份,以及如何进2025-02-06
Linux Kernel 6.13发布:附更新内容及新特性解读
Linux 内核 6.13 正式发布,新版本引入了惰性抢占支持,简化内核抢占逻辑,通过减少与调度器相关的调用次数,让内核在运行时表现更优,从而提高效率2025-01-23
五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布
今日,深度操作系统正式推出deepin 25 Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系统2025-01-18
Linux Mint Xia 22.1重磅发布: 重要更新一览
Beta 版 Linux Mint“Xia” 22.1 发布,新版本基于 Ubuntu 24.04,内核版本为 Linux 6.8,这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面操作系统领域的2025-01-16
LinuxMint怎么安装? Linux Mint22下载安装图文教程
Linux Mint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南2025-01-16









最新评论