LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 11681|回复: 6

我的dns配置过程

[复制链接]
发表于 2002-12-6 17:26:39 | 显示全部楼层 |阅读模式
  安装过程如下:
        # apt-get install bind9
        安装完毕后,用命令whereis bind可以发现bind安装在/etc/bind目录下,进入/etc/bind目录,看到目录下有这些文件:
db.0
db.127
db.255
db.empty
db.local
db.rev
db.root
named.conf
named.conf.local
named.conf.options
rndc.key
其中的关键文件是named.conf,我们可以查看它的内容:
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

include "/etc/bind/named.conf.local";
        我们注意到此文件include 两个文件"/etc/bind/named.conf.options"和 "/etc/bind/named.conf.local",此外是一些DNS解析区域及其记录文件。在此文件的注释里提示,如果要增加区域的话,可以编辑/etc/bind/named.conf.local。
        文件/etc/bind/named.conf.options的内容如下:
        options {
        directory "/var/cache/bind";

        // 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 and later use an unprivileged
        // port by default.

        // query-source address * port 53;

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.  
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //         0.0.0.0;
        // };

        auth-nxdomain no;    # conform to RFC1035

};

        文件/etc/bind/named.conf.local的内容如下,基本没有内容:
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
        从以上内容可以看出,除DNS的本地域名外,其它部分已经正常。要增加本地域名解析只要编辑/etc/bind/named.conf.local,并增加相应记录文件即可。本目录下的其它文件不必更改。
        这时可以作一些测试。笔者的测试环境如下:三台电脑,一台装debian,一台装redhat8,一台装win98,准备设置根域名为home,相应的域名与IP对应关系如下:
        debian.home  192.168.10.103
        win98.home    192.168.10.102
        rh8.home             192.168.10.101
在安装DNS前,各台机子的DNS设置为202.101.98.54,这是福建省的域名服务器,各台电脑间的互访通过hosts文件解析。
        在debian机子上,
/etc/resolve.conf的内容如下:
domain home.
nameserver 202.101.98.54
/etc/hosts的内容如下:
### etherconf DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT.
127.0.0.1       localhost
::1             localhost       ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
ff02::3         ip6-allhosts
192.168.10.103  debian.home     debian
### END OF DEBCONF AREA.  PLACE YOUR EDITS BELOW; THEY WILL BE PRESERVED.
192.168.10.102 win98.home      win98
192.168.10.101 winme.home      winme
        在redhat8电脑上的配置与此类似。
        在win98电脑上建立的/windows/hosts文件内容如下:
192.168.10.103  debian.home     debian
192.168.10.102 win98.home      win98
192.168.10.101 winme.home      winme
        也就是说在使用DNS前,它们用域名访问internet或互访都是正常。但现在我们要安装DNS,所以必须先它们去掉,才能知道所安装的DNS是否正常。步骤如下:
在debian机子上,
修改/etc/resolve.conf的内容如下:
domain home.
nameserver 192.168.10.103
/etc/hosts的内容如下:
### etherconf DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT.
127.0.0.1       localhost
::1             localhost       ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
ff02::3         ip6-allhosts
192.168.10.103  debian.home     debian
### END OF DEBCONF AREA.  PLACE YOUR EDITS BELOW; THEY WILL BE PRESERVED.
        在redhat8电脑上的配置与此类似。
        在win98电脑上删除/windows/hosts文件。并打开控制面板,选网络,再选TCP/IP,在“首选DNS”里面,输入DNS为192.168.10.103,点击确定,重启电脑。
        此时你会发现,三台电脑用域名互访不行了,但访问internet上的域名,比如www.linuxsir.cn都可以。因此接下来的步骤是增加本地域名解析,即编辑/etc/bind/named.conf.local,并增加相应记录文件。方法我推荐使用webmin-bind。当然如果你对记录文件格式很熟悉的话,可以手工编辑。我开始是采用手工编辑,浪费很多时间,直到我发现了webmin-bind。
        #apt-get install webmin webmin-bind
        安装完成后,在游览器的URL里输入https://localhost:10000/,输入用户名及密码进入webmin,即可看到BIND DNS服务器,点击进入,点击创建主区域,在出现的新建主区域选项中的区域类型单选框选正向(名称至地址),在域名 / 网络编辑框中输入home,在主服务器编辑框中输入debian.home,在Email 地址编辑框中输入root.debian.home,其它按默认。点击保存。再点击home主区域,点击地址,增加三条地址记录。
再次点击创建主区域,在出现的新建主区域选项中的区域类型单选框选反向(地址至名称),在域名 / 网络编辑框中输入192.168.10,在主服务器编辑框中输入debian.home,在Email 地址编辑框中输入root.debian.home,其它按默认。点击保存。再点击192.168.10主区域,点击反向地址,增加三条地址记录。
单击启动名字服务器按钮运行 BIND 服务器, 并装载当前配置。这样就完成了增加本地域名解析的工作,DNS也大功告成了。可以在各台电脑上测试一下,用域名访问internet或互访都不成问题。
        但我们需要进一步知道webmin-bind作了哪些修改。
        这时的/etc/bind/named.conf的内容如下:
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

include "/etc/bind/named.conf.local";
zone "home" {
        type master;
        file "/var/cache/bind/home.hosts";
        };

zone "10.168.192.in-addr.arpa" {
        type master;
        file "/var/cache/bind/192.168.10.rev";
        };
我们可以发现只是末尾增加了两个zone。而且在/etc/bind/目录下的其它文件都没有改动,我们可以从文件的修改时间看出。增加的两个记录文件是/var/cache/bind/home.hosts,/var/cache/bind/192.168.10.rev。
        它们的内容如下:
        /var/cache/bind/home.hosts的内容如下:
$ttl 38400
home.        IN        SOA        debian.home. root.debian.home. (
                        1039102090
                        10800
                        3600
                        604800
                        38400 )
home.        IN        NS        debian.home.
debian.home.        IN        A        192.168.10.103
rh8.home.        IN        A        192.168.10.101
win98.home.        IN        A        192.168.10.102
        /var/cache/bind/192.168.10.rev的内容如下:
$ttl 38400
10.168.192.in-addr.arpa.        IN        SOA        debian.home. root.debian.home. (
                        1039102453
                        10800
                        3600
                        604800
                        38400 )
10.168.192.in-addr.arpa.        IN        NS        debian.home.
101.10.168.192.in-addr.arpa.        IN        PTR        rh8.home.
102.10.168.192.in-addr.arpa.        IN        PTR        win98.home.
103.10.168.192.in-addr.arpa.        IN        PTR        debian.home.

这些格式与网上很多文章介绍的有些不同,所以我才想写出来,希望其它初学者不要象我一样,一头雾水好几天。
DNS设置完了后,如果不能保证DNS机子一直开着,可以在其它机子上加上其它DNS,比如202.101.98.54。以免 本地DNS机子关机的时候,不能通过域名访问internet。
发表于 2002-12-6 19:05:03 | 显示全部楼层

请问数据库文件是否包含了所有的域名跟ip的映射

还是动态到网上特定的某个服务器搜索?
我的配置之后根本就不能工作,我在想是不是因为我在教育网内,无法到那些服务器获取数据?
发表于 2003-2-20 15:32:53 | 显示全部楼层

请教

我安你的方法配了,可是我没有装X,webmin-bind也没法用,可以用其他的手工方法配置么???
发表于 2004-4-23 13:24:39 | 显示全部楼层
这样的配置dns,只能解析外网的吧!本地要域委派的呀!??
发表于 2004-11-30 09:20:53 | 显示全部楼层
最初由 ruochen 发表
这样的配置dns,只能解析外网的吧!本地要域委派的呀!??


我试了下。感觉,通过这个DNS,访问外网的没有问题。但是ping自己,都ping不同

ping www.home

找不到主机 。    能访问外面,我想应该是   forwarders的功劳吧。

——-------------------------------
现在不能解析自身。感觉少了一个定义了
记得原来win下, 除了添加 www.,ftp,等这些A 记录,还要一个定义到本身机器的记录, win下的解释好像是 说,  将 home这个域名记录映射到本机ip

但这一步,不知道该如何作


希望兄弟有用过的,指点 :help :help :help
发表于 2004-11-30 16:48:45 | 显示全部楼层
最初由 ruochen 发表
这样的配置dns,只能解析外网的吧!本地要域委派的呀!??


不能解析外面的是因为,没有在在本DNS服务器上查询不到的时候,forwarders到internet上的DNS服务器

bind 里面options有一个 forwarders ,这里用isp的DNS就可以。

这样同时网内网外都可以,我现在测试的结果是这样的。
发表于 2004-11-30 20:07:15 | 显示全部楼层
加上forwarders,就成为FORWARD 服务器了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表