读书人

linux停DNS服务器配置

发布时间: 2013-10-25 14:36:53 作者: rapoo

linux下DNS服务器配置

DNS服务的配置是个比较复杂的过程,在这里先介绍服务器的搭建过程,服务搭好之后再详细介绍

一、安装相关软件

[root@localhost bin]# yum install bind bind-chroot bind-utils caching-nameserver -y

[root@localhost bin]# rpm -qa | egrep bind
bind-utils-9.3.6-4.P1.el5_4.2 #######DNS工具包
bind-9.3.6-4.P1.el5_4.2 #######DNS软件包
bind-libs-9.3.6-4.P1.el5_4.2 #######DNS库文件包
ypbind-1.19-12.el5 #######DNS客户端搜寻主机的相关密令包
bind-chroot-9.3.6-4.P1.el5_4.2 ####禁锢DNS主目录

[root@localhost bin]# rpm -qa | egrep caching
caching-nameserver-9.3.6-4.P1.el5_4.2 #####样例包,缓存服务器包

在安装caching-nameserver之后,会生成named.caching-nameserver.conf,这是DNS缓冲配置文件,而named.conf 就是DNS的配置文件。

DNS解析的一般过程就是首先查找缓冲文件,如果缓冲文件没有然后才进行解析。展现一下DNS的树形图,便于对dns配置文件路径的理解。

[root@localhost chroot]# pwd
/var/named/chroot
[root@localhost chroot]# tree
.
|-- dev
| |-- null
| |-- random
| `-- zero
|-- etc
| |-- localtime
| |-- named.caching-nameserver.conf
| |-- named.rfc1912.zones
| `-- rndc.key
`-- var
|-- log
|-- named
| |-- data
| |-- localdomain.zone
| |-- localhost.zone
| |-- named.broadcast
| |-- named.ca
| |-- named.ip6.local
| |-- named.local
| |-- named.zero
| `-- slaves
|-- run
| `-- named
`-- tmp

二、DNS服务所需文件的配置

1、DNS主配置文件/var/named/chroot/etc/named.conf的修改

这个文件时不存在的,所以我将安装caching-nameserver之后生成named.caching-nameserver.conf 复制成named.conf

cp named.caching-nameserver.conf named.conf, 然后对这个文件进行修改

[root@localhost etc]# cat named.conf

linux停DNS服务器配置

linux停DNS服务器配置

下面的黑色部分就是我自己要设置的域avil.com

2、主配置文件完成后,就开始设置zone文件/var/named/chroot/etc/avil.com.zones

[root@localhost etc]# cp -a named.rfc1912.zones avil.com.zones ###-a 保证所有的权限一致

linux停DNS服务器配置

3、DNS 区域数据库配置文件/var/named/chroot/var/named/avil.com.zone

[root@localhost named]# pwd
/var/named/chroot/var/named
[root@localhost named]# cp -a localhost.zone avil.com.zone

[root@localhost named]# vi avil.com.zone

linux停DNS服务器配置

接下来将服务器的DNS改为我的本机

[root@localhost named]# cat /etc/resolv.conf
nameserver 192.168.254.153
search localdomain

[root@localhost named]# service named restart
停止 named: [确定]
启动 named: [确定]

三、开始测试能否解析

linux停DNS服务器配置

全都解析成功。

########以上就是DNS解析的配置截图#######下面我把自己的配置贴出来#######

四、配置文件的部分介绍

1、主配置文件

[root@localhost etc]# cat /var/named/chroot/etc/named.conf
options {
listen-on port 53 { any; }; #DNS服务的端口号53
listen-on-v6 port 53 { any; };
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"; # DNS的一些统计数据


allow-query { any; }; #允许查询
allow-query-cache { any; }; #允许查询缓存
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};


zone "avil.com" IN {
type master;
file "avil.com.zone";
allow-update { none; };
};


zone "254.168.192-addr.arpa" IN {
type master;
file "192.168.254.local";
allow-update { none; };
};

----------------------------------------------------------------------------------

2、 zone配置文件

[root@localhost etc]# cat /var/named/chroot/etc/avil.com.zones


zone "avil.com" IN {
type master;
file "avil.com.zone";
allow-update { none; };
};




zone "254.168.192.in-addr.arpa"{
type master;
file "avil.com.arpa.zone";
allow-update { none; };
};

-----------------------------------------------------------------------------------

3、DNS区域数据库配置文件

[root@localhost named]# cat /var/named/chroot/var/named/avil.com.zone
$TTL 86401 #DNS查询放在请求方服务器的有效时间长
@ IN SOA dns.avil.com. mail.avil.com. ( #@代表zone; # "."非常重要,带便一个完整地主机名(FQDN)
42 ; serial (d. adams) #识别序号
3H ; refresh #服务器更新时间
15M ; retry #当slave更新失败,多久重新更新一次
1W ; expiry #重复多久后就不再尝试更新
1D ) ; minimum #相当于TTL


@ IN NS dns.avil.com. #NS name server 的缩写
@ IN MX 10 mail.avil.com. #MX mail exchange 的简写
dns IN A 192.168.254.153 # A正向解析的意思 表示主机对应的IP是多少
www IN A 192.168.254.153
news IN A 192.168.254.153
itop IN A 192.168.254.46
mail IN A 192.168.254.152
IN AAAA ::1

######################################################

五、DNS语法检测工具和日志

1、配置文件检查 named-checkconf

[root@localhost named]# named-checkconf -t /var/named/chroot/
[root@localhost named]# 如果没有返回结果证明配置文件语法没有任何问题

2、zone检查 named-checkzone

[root@localhost named]# named-checkzone -t /var/named/chroot/var/named/ avil.com avil.com.zone
zone avil.com/IN: loaded serial 42
OK 正向解析配置文件没问题

[root@localhost named]# named-checkzone -t /var/named/chroot/var/named/ 254.168.192.in-arpa avil.com.arpa.zone
zone 254.168.192.in-arpa/IN: loaded serial 1997022700
OK 反向解析配置文件也没问题

3、日志文件/var/log/messages

tail -f /var/log/messages

linux停DNS服务器配置


###########################################################

六、DNS的负载均衡

如果我的网站访问量非常大,单靠一台服务器或者一个VIP是很可能顶不住的,所以在DNS解析的时候可以给该网站做个负载均衡,举个百度的例子

linux停DNS服务器配置

解析两次得到了不同的IP地址,这是怎么实现的呢?答案很简单:

只要在我们的区域数据库配置文件中再加一条A记录,然后重启服务。

www IN A 192.168.254.153
www IN A 192.168.254.46


linux停DNS服务器配置

在这里顺便提一下一个概念,泛域名解析

举个简单的例子,在我想访问我的网页时,不小心把www.avil.com输成了wwww.avil.com或者是wwwwwww.avil.com,这种情况怎么办?

那就用到泛域名解析了,其实无外乎就是再加一条A记录

dns IN A 192.168.254.153
www IN A 192.168.254.153
www IN A 192.168.254.46
news IN A 192.168.254.153
* IN A 192.168.254.46

加了这条A记录后,所有的XXX.avil.com 均可被解析成192.168.254.46.

linux停DNS服务器配置

这点其实国内有些大的网站还没有实现(或许有其它原因),例如

linux停DNS服务器配置

先到这里,后面的实验还在调试,明天继续……



读书人网 >UNIXLINUX

热点推荐