dns服务的基本配置
本文环境:CentOS 7
简介
DNS(Domain Name System)即域名服务系统,是Internet上用的最频繁的服务之一,它的本质是一个范围很广的分布式数据库,组织成域层次结构的计算机和网络服务命令系统,相比于32位(IPv4)甚至是128位(IPv6)的纯数字IP地址,人们更容易记住具有具体含义的文本形式的域名,比如www.baidu.cn,总所周知,在网络中是以IP地址唯一标识一台主机的,所以就需要一个工具来把域名翻译成IP地址,而这项工作就是由DNS完成的,在现代操作系统中都还保留这一个叫做hosts的文件,里面存在放着IP地址与对应的域名,如,
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
在Linux中,这个文件位于/etc/hosts
在Windows中,这个文件位于C:\Windows\System32\drivers\etc\hosts
这个文件是旧时的操作系统的IP地址与域名映射数据文件,但是由于现代网络越来越复杂,域名越来越繁多,如果把所有的映射关系写到这个文件,那么这个文件就会很庞大,所以就出现了DNS这项技术。
DNS的组成
1.DNS域名空间
用于组织域的层次关系,类似于数据结构中的树,根域位于顶部,用”.”表示,紧接着是若干个顶级域名,而每个顶级域名又可以划分出二级域名,以此类推,直到某台具体的主机。
2.NDS服务器
DNS服务器是保持和维护域名空间中数据的程序,由于域名是分布式的,每个DNS服务器包含一个域名空间的完整信息,其控制范围称为区(Zone),对于来自本区的请求由本区的DNS服务器完成,如果无法完成请求将交给上级DNS服务器。
DNS域名空间举例,
分析一个具体的网址:http://www.baidu.cn.com,
首先这个网址的域名部分是www.baidu.cn.com,它的顶级域名是com,二级域名是cn,三级域名是baidu,提供服务的主机是www,www类型的主机用于提供互联网信息,而http是访问时的协议,即以超文本方式访问。
DNS解析方式
1.本地解析:hosts文件或浏览器缓存
2.直接解析:本地DNS服务器进行解析,本地DNS服务器查看它自己的缓存
3.递归解析:本地DNS通过递归方式向根域名服务器请求解析
4.迭代解析:本地DNS通过迭代方式向各级DNS服务器请求解析
(递归和迭代的具体含义可以百度,网上有很详细的解释)
DNS服务器的配置
1.安装
在Linux上最流行的DNS服务软件是BIND(Berkeley Internet Name Domain Service),这里 采用YUM源方式安装,
[root@localhost ~]# yum -y install bind
2.配置与运行
BIND的主配置文件是/etc/named.conf,BIND的守护进程(服务名)是named,当named 运行时会读取这个文件,这个配置文件只包括BIND的基本配置,不含任何DNS的区域 数据,其中options用于设置DNS服务器的全局配置信息,logging用于设置日志相关信 息,include用于包含其他配置文件作为主配置文件的一部分,zone用于定义一个区域, 进行如下修改,
listen-on port 53 { 127.0.0.1; };
改为
listen-on port 53 { any; };
表示将监听服务器上的所有网络接口,
allow-query { localhost; };
改为
allow-query { any; };
表示允许对所有主机的请求进行解析
然后修改区域定义文件,vim /etc/named.rfc1912.zones
追加如下内容,
zone "mymete.cn" IN {
type master;
file "mymete.cn.zone";
};
然后切换到/var/named目录,复制其中的named.empty并重命名为mymete.cn.zone, 这个文件就是具体的区域数据文件,其中的内容修改如下,
$TTL 3H
@ IN SOA @ root.mymete.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.mymete.cn.
dns IN A 192.168.88.128
www IN A 192.168.88.128
mail IN A 192.168.88.101
exec IN A 192.168.88.102
最后重启named服务。
3.验证
输入nslookup进行验证(nslookup属于bind-utils包,需要先yum -y install bind-utils进 行安装),
[root@localhost named]# nslookup
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> www.mymete.cn
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find www.mymete.cn: SERVFAIL
发现出现了错误,这是由于区域数据文件mymete.cn.zone的权限问题,
[root@localhost named]# ll mymete.cn.zone
-rw-r-----. 1 root root 241 Dec 23 21:37 mymete.cn.zone
解决方法,
[root@localhost named]# chown named:named mymete.cn.zone
然后重启named服务并重试,
[root@localhost named]# nslookup
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> www.mymete.cn
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.mymete.cn
Address: 192.168.88.128
> mail.mymete.cn
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: mail.mymete.cn
Address: 192.168.88.101
> exit
输入exit可以退出互交式的nslookup命令。
至此,dns服务器的基本配置完成!
最新文章
- FlashBuilder4安装SVN插件步骤
- plsql修改表报错:ORA-25150
- 一个ActionResult中定位到两个视图&mdash;<;团委项目>;
- 一篇介绍jquery中的ajax的结合
- Camel routes in Spring config file
- Linux中输入命令按tab提示后会自动转义解决方案(xjl456852原创)
- sql中Statement与PreparedStatement的区别
- java载入XML文件并解析xml
- 使用Azure Policy(策略)强制实现资源Tag的坑
- Web前端:改变鼠标样式
- C++ bitset用法
- css实现单行(多行)文本溢出显示 ...
- Oracle 体系结构chapter2
- Confluence 6 升级自定义的站点和空间应用你的自定义布局
- 彻底关闭win10后台同步数据(转自技术社区)
- 2016/2/26Android实习笔记(Android签名和aapt)
- Non-negative Matrix Factorization 非负矩阵分解
- src引入js时添加时间戳参数方法
- 电脑cpu100%的原因
- C#:ORM--实体框架EF(entity framework)(2)