当前位置:文档之家› linux中DNS配置

linux中DNS配置

linux中DNS配置
linux中DNS配置

嗯,出于安全考虑,一般将bind工作在chroot环境,因些还会有

bind-chroot包

从RHEL5之后,为了方面搭建Bind。Redhat还提供了一个named.conf的模板包caching-nameserver

所以一般建设dns要装这三个包

bind、bind-chroot、caching-nameserver。AP版的安装光盘的Server目录都是有的,如果楼主找不到,我再发邮件给你。

[root@killgoogle ~]# rpm -qa bind*

bind-9.3.3-10.el5

bind-libbind-devel-9.3.3-10.el5

bind-sdb-9.3.3-10.el5

bind-devel-9.3.3-10.el5

caching-nameserver //bind-chroot包放最后一个安装

bind-chroot-9.3.3-10.el5

安装chroot包时要将/usr/share/doc/bind-9.3.3/sample/etc/named.conf

范本文件复制为/etc/named.conf,否则会报错

Locating /var/named/chroot//etc/named.conf failed: [失败]

使用了chroot后,虚拟根目录为/var/named/chroot,则namd.conf实际位

置为/var/named/chroot/etc,而工作目录/var/named实际路径为/var/named/chroot/var/named.

如果没有安装这些包的话可以用:以下方法安装

[root@killgoogle ~]# yum install bind*

[root@killgoogle ~]# yum install caching-nameserver

安装过后BIND服务就已经完成三分之一了,剩下的三分之二就是配置

BIND服务。好,开始!我是想配置一个DNS可以解析我的域名:

[root@killgoogle ~]# cd /var/named/chroot/etc/

[root@killgoogle etc]# ls

localtime named.rfc1912.zones

named.caching-nameserver.conf named.rfc1912.zones.rpmsave rndc.key

这里我们可以看到在/var/named/chroot/etc/下的几个主要的配置文件。但是我们还是不要动这些文件的好,可以先复制它们并对它们进行修改。在进行复制的时候应该加上参数-P,这样在复制的时候把文件的属性不会改变。

[root@killgoogle etc]# cp -p named.caching-nameserver.conf named.conf

现在就可以用named.conf文件进行配置了。

[root@killgoogle etc]# vi named.conf //红色为改动部分

options {

listen-on port 53 { any; };

listen-on-v6 port 53 { ::1; };

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

query-source port 53;

query-source-v6 port 53;

allow-query { any; };

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

view localhost_resolver {

match-clients { any; };

match-destinations { any; };

recursion yes;

include "/etc/named.rfc1912.zones";

};

[root@killgoogle etc]# vi named.rfc1912.zones

。下面是我的文件内容

zone "." IN {

type hint;

file "named.ca";

};

zone "localdomain" IN {

type master;

file "localdomain.zone";

allow-update { none; };

};

zone "localhost" IN {

type master;

file "localhost.zone";

allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

type master;

file "named.ip6.local";

allow-update { none; };

};

zone "255.in-addr.arpa" IN {

type master;

file "named.broadcast";

allow-update { none; };

};

zone "0.in-addr.arpa" IN {

type master;

file "named.zero";

allow-update { none; };

};

zone "https://www.doczj.com/doc/7616818075.html," IN {

type master;

file "https://www.doczj.com/doc/7616818075.html,.zone";

allow-update { none; };

};

zone "1.168.192.in-addr.arpa" IN {

type master;

file "192.168.1.zone";

allow-update { none; };

};

其中可以看见有这个配置文件里又引用了两个新的文件:https://www.doczj.com/doc/7616818075.html,.zone 和192.168.1.zone。这两个文件可以CP过来。

[root@killgoogle var]# cd /var/named/chroot/var/named/

[root@killgoogle var]# cp -p localdomain.zone https://www.doczj.com/doc/7616818075.html,.zone

[root@killgoogle var]# cp -p named.local 192.168.1.zone

在这之中比较重要的还是要加参数P,要不然很有可能启动不了named 服务。好了,现在就可以编辑这两个文件了。

[root@killgoogle var]# vi 192.168.1.zone

$TTL 86400

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS https://www.doczj.com/doc/7616818075.html,.

12 IN PTR https://www.doczj.com/doc/7616818075.html,.

12 IN PTR https://www.doczj.com/doc/7616818075.html,.

有必要说明的是最后两句前面的那个12是指的我自己IP:192.168.1.12的最后一个数

[root@killgoogle var]# vi https://www.doczj.com/doc/7616818075.html,.zone

$TTL 86400

@ IN SOA localhost root (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS localhost

www IN A 192.168.1.12

ftp IN A 192.168.1.12

其中192.168.1.zone是反向解析文件,而https://www.doczj.com/doc/7616818075.html,.zone是正向解析文件.下一步就是修改/etc/resolv.conf文件了.只有修改了这个文件才可以用自己的的机器进行域名解析

[root@killgoogle var]# vi /etc/resolv.conf

只要加上一句:nameserver 192.168.41.12就行了。

这样配置就完成了。不过现在开始配置rhel5的selinux。因为不配置这个的话就不会让别人访问你的DNS服务器。

[root@killgoogle var]# setup

弹出一个对话框。我们要进行的是防火墙配置,所以选择第六个选项:防火墙配置。选择“定制”再在弹出的对话框的允许进入的最后一栏即:其它端口里输入:53:tcp 53:udp

好了。这样就完成了所有过程。实验中可关闭Selinux,开启服务service named start.

[root@killgoogle ~]# nslookup

> https://www.doczj.com/doc/7616818075.html,

Server: 192.168.1.12

Address: 192.168.1.12#53

Name: https://www.doczj.com/doc/7616818075.html,

Address: 192.168.1.12

温馨小提示:

1.rndc reload一个非常有用的命令,能在不关闭服务的情况下,即时更新bind;另nslookup交互环境中,可以用命令server 19

2.168.1.102指定此DNS服务器为提供服务的DNS服务器,因为笔者的机子上面有3个服务器.

2.Non-authoritative answer项,它表示非授权的回答,说明来自其他DNS 服务器或缓存

3.泛域名:比如用户的域名是https://www.doczj.com/doc/7616818075.html,,那么我们将主机名设置为"*",IP解析到比如:218.10

4.78.100,大家都知道*是通配符,他表明https://www.doczj.com/doc/7616818075.html, 之前的所有子域名都将解析到218.104.78.100,这就意味着例如输入https://www.doczj.com/doc/7616818075.html,或者https://www.doczj.com/doc/7616818075.html,或者https://www.doczj.com/doc/7616818075.html,都将解析到218.104.78.100,这里需要说明的是,在我们系统里面如果单独设置一个子域名解析,比如将主机名设置为mail,单独解析到218.104.78.79,那么该解析记录优先。泛域名在实际使用中作用是非常广泛的,比如实现无限二级域名功能,提供免费的url转发,在IDC部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用。

4.在实际工作中,可把自己的DNS服务器设置成forarding DNS,而将公网开放的DNS作为forwarder DNS.

相关主题
文本预览
相关文档 最新文档