centos6.5下DNS搭建
- 什么是DNS。
域名系统(domain name system)的缩写,直白点就是域名与ip之间的对应关系的数据库,相对ip字符串,域名更容易记忆,方便用户访问互联网。而域名到ip之间的转换就叫做域名解析。
比如:我们想访问www.baidu.com这个网站
这样就可以正常访问了,这就是DNS的重要性。
2.开始安装了
2.1、我们要使用的DNS就是使用柏克莱大学发展出来的 BIND ( Berkeley Internet Name Domain, BIND ) 这个套件。所以要安装DNS,就看看系统有么有安装这个套件。使用rpm这个命令看看
[root@dns-catch ~]# rpm -qa | grep bind
2.2、如果没有安装,下面我们就使用yum这个命令安装
[root@dns-catch ~]# yum -y install bind
bind的设定档主要有3个
/etc/named.conf:主机的设定值都在这个档案
/etc/named.rfc1912.zones:设定zone,定义hostname <--> IP 的对应关系
/var/named/:存放zone规定的档案
说到这里,有三个概念需要了解下
1、zone:区域,一个正解或者反解的设定就是一个zone。
2、正解:hostname到ip的映射,不唯一
3、反解:ip到hostname的映射,唯一一个
4、关于正反解的格式
下面通过例子来详细说明正反解
这些都是固定格式,正解反解都一样
$TTL 600 ;catch的缓存时间
@ IN SOA @ hostname. (
serial:主备之间更新参考的参数
refresh:更新时间
retry:间隔多久重新连接
expire:连接超时多久后不再连接
minimum:类似与TTL值
)
下面说正解的格式
$TTL 600
@ IN NS hostname.
hostname. IN A 对应的ip
www IN CNAME hostname.
反解的格式:
@ IN NS hostname.
hostname. IN A 对应的ip
对应的ip IN PTR hostname.
对于正解和反解都可以简写
就拿上面的正解来看对应的简写方式
NS hostname.
A 对应ip
CNAME hostname.
就这么简单,@ IN 都可以省略
2.3、简易的 cache-only DNS 设定:
设定一个 cache-only 的 DNS 主机其实真的很简单的啦!因为不需要设定正反解的 Zone ,所以只要设定一个档案(就是 named.conf)即可。转发移动公共DNS:114.114.114.114
2.4、重启named服务
[root@dns-catch /]# service named restart
2.5、观察port:53端口的变化,看下有么有启动
[root@dns-catch /]# netstat -tunl | grep :53
tcp 0 0 *.*.*.*:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 ::1:53 :::* LISTEN
udp 0 0 *.*.*.*:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 ::1:53 :::*
2.6、检查/var/log/message的讯息
named 这个服务的记录文件就直接给他放置在 /var/log/messages 里面啦,所以来看看里面的几行吧!
2.7、没什么问题,就开始测试了,正常解析就大功告成。
但是客户端nslookup会显示下面的问题,这是因为么有做正反解。
下来就需要创建两个zone,一个正解,一个反解。
/etc/named.rfc1912.zones:设定zone,定义hostname <--> IP 的对应关系
zone "cache-1" IN {
type master;
file "named.cache-1";
allow-update {none ;};
};
zone "*.*.*.*.in-addr.arpa" IN {
type master;
file "named.*.*.*.*";
allow-update {none ;};
};
建立好zone后,就需要对zone做相应的正反解,/var/named/:存放zone规定的档案
root@root@dns-cache named]# vi named.cache-1
$TTL 600
@ IN SOA @ cache-1. (
20170530
28800
14400
720000
86400)
NS cache-1.
A *.*.*.*
[root@root@dns-cache named]# vi named.*.*.*.*
$TTL 600
@ IN SOA @ cache-1. (
20170530
28800
14400
720000
86400)
NS cache-1.
A *.*.*.*
PTR cache-1.
设置完,重启named服务
[root@root@dns-cache named]# service named restart
下面再来nslookup,就可以正常显示了
转载于:https://blog.51cto.com/9840752/1930761