码迷,mamicode.com
首页 > 其他好文 > 详细

centos DNS服务搭建 第三十节课

时间:2015-12-16 22:42:56      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

centos  DNS服务搭建     第三十节课

 

 

 

 

上半节课

 

 

 

下半节课

 

 

 

 

 

 

 

一. DNS原理相关
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。
其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。 DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP。
全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DNS服务器根据角色可以分为:主DNS, 从DNS, 缓存DNS服务器,DNS转发服务器。

 

 


二. 使用bind搭建DNS服务器

1. 安装bind
yum install -y bind  //会顺便安装bind-utils包
cp /etc/named.conf /etc/named.conf.bak
>/etc/named.conf
vim /etc/named.conf
加入如下配置:
options {
directory "/var/named";
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};

chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone //加入

@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
localhost. IN A 127.0.0.1

vim named.local //加入

$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost

检测配置是否有问题: named-checkconf
检测正解析: named-checkzone "localhost" /var/named/localhost.zone
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
rndc-confgen -r /dev/urandom -a // 这一步是生成 rndc.key, 如果没有这个key ,namd 是启动不了的。
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp |grep named // 查看一下named进程是否监听了53端口
首先测试正向解析:dig @127.0.0.1 localhost.
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1

 

2. 增加一个域名(zone)
vim /etc/named.conf //增加
zone "abc.com" IN {
type master;
file "abc.com.zone";
};

zone "137.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};

编辑zone文件: vim /var/named/abc.com.zone//增加
$TTL 600
@ IN SOA abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
IN NS ns.abc.com.
IN MX 10 mail.abc.com.
ns IN A 192.168.0.11
www IN A 192.168.137.73
mail IN A 192.168.137.10
bbs IN CNAME www.abc.com.

编辑反解析文件: vim /var/named/192.168.zone //增加
$TTL 600
@ IN SOA ns.abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
@ IN NS ns.abc.com.
10 IN PTR ns.abc.com.
11 IN PTR mail.abc.com.
73 IN PTR www.abc.com.

 

分别检测两个配置文件是否有问题:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone
重启named服务

测试 dig @127.0.0.1 www.abc.com
dig @127.0.0.1 -x 192.168.137.11

vi  /etc/resolv.conf   //修改为自己机器的DNS的IP

 

 

3. 配置DNS转发
我们配置的DNS是只能解析我们定义的zone的,我们没有定义的是不能解析的。
配置DNS转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个DNS服务器解析了。
vim /etc/named.conf //在options{} 里面增加
forward first;
forwarders { 8.8.8.8; };
这两行就是用来配置转发的,该DNS服务器不能解析的域名会转发到8.8.8.8这个DNS服务器上去解析。

 

4. 配置主从
在从服务器上 yum install -y bind
拷贝主上的配置文件到从上,其中有/etc/named.conf, /var/named/localhost.zone, /var/named/named.local
拷贝过来后,修改一下从的/etc/named.conf 内容参考:
options {
directory "/var/named";
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};

zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters { 192.168.0.11; };
};

zone "137.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.0.11; };
};

从上生成rndc.key: rndc-confgen -r /dev/urandom -a
chown named:named /etc/rndc.key
从上启动named: /etc/init.d/named start
启动成功后会在 /var/named/下生成一个slaves目录,这个目录下会有192.168.zone, abc.com.zone这两个文件,内容是和主上的一样的
在从上测试: dig @127.0.0.1 www.abc.com

 

 

5. 测试主从同步
在主dns上更改文件 /var/named/abc.com.zone // 在最后增加一行:
123 IN A 1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主namd服务: /etc/init.d/named restart
经测试我们发现一个问题,就是从经常会同步特别慢,这是很要命的。所以需要我们做一个特殊操作,在主上的/etc/named.conf中,abc.com的zone中增加两行:
notify yes;
also-notify { 192.168.0.12; };

下面的知识点请自行配置学习
再配置一个域名(zone)
bind配置视图(view) http://wubinary.blog.51cto.com/8570032/1378363
使用mydns搭建DNS服务器 http://www.aminglinux.com/bbs/thread-186-1-1.html
使用dnsmasq配置dns缓存 http://www.aminglinux.com/bbs/thread-5284-1-1.html
理解dns的递归和迭代查询 http://jeffyyko.blog.51cto.com/28563/215293 http://jeffyyko.blog.51cto.com/28563/216962

 

 

 

安装dig工具

yum install bind-utils

 

根据域名解析ip

dig www.aminglinux.com

 

指定DNS的ip,也可以获取到 www.aminglinux.com这个域名的ip
正解析

dig @8.8.8.8 www.aminglinux.com

反解析

dig @8.8.8.8 -x 183.26.39.112

 

 


 

各种域名解析记录

NS记录:用来解析你的主机IP的DNS服务器,解析域名的DNS服务器在哪里,就是你的DNS server
A记录:像hosts文件 指定各个服务器的ip www服务器的ip,mail服务器的ip,bbs服务器的ip,hosts文件里面的记录就是A记录
CNAME记录:我一个变大家跟着我变,不用一个一个改A记录 cname转发,原来是abc.com 我现在改为bcd.com 只需要修改cname记录
MX记录:邮件

 

定义NS记录,NS记录又对应一个A记录

技术分享

不停转发

技术分享


 

 

mydns的好处是:不用授权给php或者shell修改配置文件,不安全,用mysql的话,授权用户修改数据库里的数据比较安全,php更改mysql

 

f

centos DNS服务搭建 第三十节课

标签:

原文地址:http://www.cnblogs.com/MYSQLZOUQI/p/5052339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!