Fedora中DNS的配置

Fedora10 DNS 的配置
 
网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“ IP 地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。 当某台主机要与其他主机通信时,就可以利用主机名称向 DNS 服务器查询该主机的 IP 地址。整个 DNS 域名系统由以下 4 个部分组成
1 DNS 域名空间
2 .资源记录
3 DNS 服务器
4 DNS 客户端
Linux 下架设 DNS 服务器通常是使用 Bind 程序来实现的。 Bind Berkeley Internet Name Domain Service 的简写,它是一款实现 DNS 服务器的开放源码软件。 Bind 原本是美国 DARPA 资助伯克里大学( Berkeley )开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的 DNS 服务器软件,目前 Internet 上绝大多数的 DNS 服务器有都是用 Bind 来架设的
DNS 服务器种类:
1.Master Server 主服务器
2.Slave Server 辅助服务器 / 从服务器
3.Caching only Server 缓存服务器
4.Forwarder Server 转发服务器
5.Stealth Server 秘密服务器
***********************************************************
DNS BIND 区域类型:
***************
类型                描述
master      DNS 区域
slave       DNS 区域,由主 DNS 区域控制
stub        与从区域类似,但只保存 DNS 服务器的名字
forward     将任何询问请求转发给其他服务器
hint        DNSInternet 服务器集
**********************************************************
常见的 BIND 配置语句和选项:
*********************
语句                  描述
/* 注释 */            C 语言风格的 BIND 注释
// 注释                C++ 语法风格的 BIND 注释
# 注释                 Unix shell Perl 系统风格的 BIND 注释
Acl             定义 IP 地址匹配列表
Include         包含一个文件
Key             指明用于识别和授权的密钥信息
Logging         指名服务器日志记录的内容和日志信息的来源
Options         全局服务器的配置选项和其他语句的默认值
Control         声明 ndc 软件工具使用的控制通道
Server          设置某个服务器的配置参数
trusted-keys    定义预先配置到服务器中,并且信任的 DNSSEC 密钥
zone            定义一个区域
type            指明一个区域类型
file            指明一个区域文件
directory       指明区域文件目录
forwarders      列出主机请求将要被转发的 DNS 服务器
masters         列出做为从服务器使用的 DNS 主服务器主机
allow-transfer  指明允许那台主机接受区域传送的请求
allow-query      指明允许那台主机提出询问
motify          当主区域数据允许改变和更新时,允许主服务器通知从服务器
*********************************************************
资源记录类型:
**************
类型               描述
A       主机地址,映射主机名字到 IP
NS      本域授权名字服务器
CNAME   规范的名字,用来注释主机的别名
SOA     授权开始,在域文件中开始 DNS 条目,为域和其他特征 ( 像点和序号 ) 指定名字服务器
WKS     已知的服务描述
PTR     指针记录,执行逆向域名访问,映射 IP 地址到主机名
RP      文本字符串,包含有关主机的接点信息
HINFO   主机信息
MINFO   电子信箱或邮件列表信息
MX      邮件交换器,传送到域邮件服务器的远程站点
TXT     文本字符串,通常是主机信息
*********************************************************
一、 安装
[root@localhost ~]# rpm -q bind
[root@localhost /]# cd /media/Fedora\ 10\ i386\ DVD/Packages/
[root@localhost Packages]# find . -name "bind*"
bind-9.5.0-16.a6.fc8.i386.rpm
bind-chroot-9.5.0-16.a6.fc8.i386.rpm
bind-libs-9.5.0-16.a6.fc8.i386.rpm
bind-utils-9.5.0-16.a6.fc8.i386.rpm
BIND 程序的虚拟目录是 /var/named/chroot/
如: /etc/named.conf 其实就是 /var/named/chroot/etc/named.conf
如: /var/named/ 其真正的路径是 /var/named/chroot/ var/named/
[root@localhost Packages]# rpm -ivh bind-libs-9.5.0-16.a6.fc8.i386.rpm
warning: bind-libs-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...         ########################################### [100%]
        package bind-libs-9.5.0-16.a6.fc8 is already installed
[root@localhost Packages]# rpm -ivh util-linux-ng-2.13-3.fc8.i386.rpm
warning: util-linux-ng-2.13-3.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...          ########################################### [100%]
        package util-linux-ng-2.13-3.fc8 is already installed
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
        libmysqlclient.so.15 is needed by bind-9.5.0-16.a6.fc8.i386
        libmysqlclient.so.15(libmysqlclient_15) is needed by bind-9.5.0-16.a6.fc8.i386
        libodbc.so.1 is needed by bind-9.5.0-16.a6.fc8.i386
        libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
        mysql is needed by bind-9.5.0-16.a6.fc8.i386
        postgresql is needed by bind-9.5.0-16.a6.fc8.i386
        unixODBC is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Packages]# rpm -ivh mysql-libs-5.0.45-4.fc8.i386.rpm
warning: mysql-libs-5.0.45-4.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...         ########################################### [100%]
   1:mysql-libs     ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
        libodbc.so.1 is needed by bind-9.5.0-16.a6.fc8.i386
        libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
        mysql is needed by bind-9.5.0-16.a6.fc8.i386
        postgresql is needed by bind-9.5.0-16.a6.fc8.i386
        unixODBC is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh unixODBC-2.2.12-5.fc8.i386.rpm
warning: unixODBC-2.2.12-5.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...        ########################################### [100%]
   1:unixODBC    ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
        libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
        mysql is needed by bind-9.5.0-16.a6.fc8.i386
        postgresql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh postgresql-libs-8.2.7-1.fc8.i386.rpm
warning: postgresql-libs-8.2.7-1.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...         ########################################### [100%]
   1:postgresql-libs  ########################################
### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
        mysql is needed by bind-9.5.0-16.a6.fc8.i386
        postgresql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh postgresql-8.2.7-1.fc8.i386.rpm
warning: postgresql-8.2.7-1.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...          ########################################### [100%]
   1:postgresql      ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
        mysql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Packages]# rpm -ivh mysql-5.0.45-4.fc8.i386.rpm
warning: mysql-5.0.45-4.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...          ########################################### [100%]
   1:mysql          ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing...          ########################################### [100%]
   1:bind           ########################################### [100%]
[root@localhost ~]# rpm -q bind
bind-9.5.0-16.a6.fc8
二、 安装完毕后启动 DNS 服务器并测试回环
[root@localhost etc]# /etc/rc.d/init.d/named start
启动 named                                                [ 确定 ]
[root@localhost etc]# nslookup
> localhost
Server:         127.0.0.1
Address:        127.0.0.1#53
Name:   localhost
Address: 127.0.0.1
> 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53
1.0.0.127.in-addr.arpa  name = localhost.
> exit
[root@localhost etc]# /etc/rc.d/init.d/named stop
停止 named                                                [ 确定 ]
三、 修改网络配置脚本文件 (/etc/sysconfig/network-scripts/ifcfg-eth0)
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
修改后
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:65:21:05
BROADCAST=192.168.1.255
IPADDR=192.168.1.6
NETMASK=255.255.255.0
NETWORK=192.168.1.1
ONBOOT=yes
四、 修改本机域名服务器 IP 地址 (/etc/resolv.conf)
domain jw.com
nameserver 192.168.1.6
演示文档 /usr/share/doc/bind-9.5.0/sample
[root@localhost etc]# cp named.conf named.conf.old
修改 named.conf 文件 (/etc/named.conf):
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
Fedora 8 中,默认仅仅在回环地址 127.0.0.1 ::1(IPV6 的回环地址 ) 上打开 53 端口,如果希望在所有地址上都打开 53 端口,则应该修改成:
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query     { localhost; };
Fedora 8 中的 DNS 服务器默认只允许 127.0.0.1 这个客户端(即本机)发起查询,一般我们需要允许所有人查询,则因该修改成:
allow-query     { any; };
五、 设置主区域 (/etc/named.conf)
为了配置的方便和减少出错我们从系统( 127.0.0.1) 回环 /etc/named.rfc1912.zones 文件复制到 named.conf 文件并修改,将以下从 named.rfc1912.zones 文件复制
zone "localhost" IN {
        type master; 注: type file 是两个必选项, type 项用于指明区域类型 (master,slave,stub,forward,hint)
        file "named.localhost"; 注:用于指明区域文件的名字
        allow-update { none; }; 注:不允许区域复制,
};
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
修改成
zone "jw.com" IN {
        type master;
        file "jw.com.zone";
        allow-update { none; };       
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "1.168.192.arpa";
        allow-update { none; };
};
六、 建立区域文件在 (/var/named):
[root@localhost ~]# cd /var/named/
为了配置方便和减少出错我们复制系统( 127.0.0.1) 回环文件 ( 正向区域文件 /var/named/named.localhost 拟向区域文件 /var/named/named.loopback)
[root@localhost named]# cp named.localhost jw.com.zone
[root@localhost named]# cp named.loopback 1.168.192.arpa
jw.com.zone 原文件内容
$TTL 1D
@       IN SOA  @ rname.invalid. (   注:授权开始,指定名字服务器
                             0       ; serial 添加修改时相应的序列号
                             1D      ; refresh SOA 信息的刷新时间间隔
                             1H      ; retry 是与授权服务器联系的频率
                             1W      ; expire 是从服务器保存有关区域信息,而不更新它的时间间隔
                             3H )    ; minimum 是区域中记录存活的时间
        NS      @     注:本域授权名字服务器
        A       127.0.0.1    注:主机地址,映射主机名字到 IP 地址
        AAAA    ::1
jw.com.zone 修改后的文件内容
$TTL 1D
jw.com.  IN SOA dns.jw.com.  admin.jw.com. (
                                        2008041201      ; serial
                                        1D      ; refresh
                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
jw.com.   IN NS dns.jw.com.
dns.jw.com. IN A 192.168.1.6
www.jw.com. IN A 192.168.1.6
bbs.jw.com. IN A 192.168.1.6
blog.jw.com. IN A 192.168.1.6
mail.jw.com. IN A 192.168.1.6
jw.com. IN MX 10 mail.jw.com.
aaa.jw.com IN CNAME www.jw.com.
1.168.192.arpa 原文件内容
$TTL 1D
@       IN SOA  @ rname.invalid. (
                               0; serial 添加修改时相应的序列号
                               1D; refresh SOA 信息的刷新时间间隔
                               1H; retry 是与授权服务器联系的频率
                               1W; expire 是从服务器保存有关区域信息,而不更新它的时间间隔
                               3H ); minimum 是区域中记录存活的时间
        NS      @
        PTR     localhost.   注:指针记录,执行逆向域名访问,映射 IP 地址到主机名
1.168.192.arpa 修改后的文件内容
$TTL 1D
1.168.192.in-addr.arpa. IN SOA  dns.jw.com. admin.jw.com. (
                                        2008041201      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
1.168.192.in-addr.arpa. IN NS   dns.jw.com.
6 IN PTR dns.jw.com.
6 IN PTR www.jw.com.
6 IN PTR bbs.jw.com.
6 IN PTR blog.jw.com.
6 IN PTR mail.jw.com.
七、 修改文件所属组:
[root@localhost named]# chgrp named jw.com.zone
[root@localhost named]# chgrp named 1.168.192.arpa
[root@localhost ~]# /etc/rc.d/init.d/named start
启动 named                                                [ 确定 ]
八、 测试
[root@localhost ~]# nslookup
> localhost
Server:         192.168.1.6
Address:        192.168.1.6#53
Name:   localhost
Address: 127.0.0.1
> 127.0.0.1
Server:         192.168.1.6
Address:        192.168.1.6#53
1.0.0.127.in-addr.arpa  name = localhost.
> www.jw.com 注:测试主机地址 A 资源记录
Server:         192.168.1.6
Address:        192.168.1.6#53
Name:   www.jw.com
Address: 192.168.1.6
> dns.jw.com
Server:         192.168.1.6
Address:        192.168.1.6#53
Name:   dns.jw.com
Address: 192.168.1.6
> 192.168.1.6    注:测试反向解析指针 PTR 资源记录
Server:         192.168.1.6
Address:        192.168.1.6#53
6.1.168.192.in-addr.arpa        name = www.jw.com.
6.1.168.192.in-addr.arpa        name = bbs.jw.com.
6.1.168.192.in-addr.arpa        name = blog.jw.com.
6.1.168.192.in-addr.arpa        name = dns.jw.com.
> set type=ns   注:测试名称服务器 NS 资源记录
> jw.com
Server:         192.168.1.6
Address:        192.168.1.6#53
jw.com  nameserver = dns.jw.com.
> set type=mx   注:测试邮件交换器 MX 资源记录
> jw.com
Server:         192.168.1.6
Address:        192.168.1.6#53
jw.com  mail exchanger = 10 mail.jw.com.
> set type=soa   注:测试起始授权机构 SOA 资源记录
> jw.com
Server:         192.168.1.6
Address:        192.168.1.6#53
jw.com
        origin = dns.jw.com
        mail addr = admin.jw.com
        serial = 2008041201
        refresh = 86400
        retry = 3600
        expire = 604800
        minimum = 10800
> set type=cname   注:测试别名 CNAME 资源记录
> aaa.jw.com
Server:         192.168.1.6
Address:        192.168.1.6#53
aaa.jw.com.jw.com       canonical name = www.jw.com.
> exit
九、 关闭服务
[root@localhost ~]# /etc/rc.d/init.d/named stop
停止 named

你可能感兴趣的:(linux,配置,dns,fedora,休闲)