本文环境: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服务器的基本配置完成!

dns服务的基本配置的更多相关文章

  1. 【Linux】DNS服务-BIND基础配置(二)

    BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...

  2. 【Linux】DNS服务-BIND基础配置

    1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...

  3. CentOS7.x的DNS服务的基础配置

    一.bind服务器安装 bind:开源.稳定.应用广泛的DNS服务.bind的软件包名bind,服务名称named. 查看是否安装bind, 安装bind包: rpm -qa bind yum -y ...

  4. 打造私有的DNS 服务

    在企业内部一般都会有自己的DNS服务,主要为了企业方便管理,例如访问一些内部系统,控制一些网站不让访问,今天我们就说说如何打造私有的DNS服务 系统基础配置 Ubuntu14.04  内存:354M ...

  5. 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)

    环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...

  6. LINUX中的DNS服务---高速缓存DNS

    一.什么是DNS     Domain Name System,域名系统.     万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.他主要负责把域名和IP的相互转换 ...

  7. Liunx下配置DNS服务

    当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...

  8. redhat enterprixe 5.0 DNS 服务配置与管理

    一.了解DNS相关概念 DNS是一个分布式数据库,在本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户机/服务器模式在整个网络上存取.通过采用复制技术和缓存技术使得整个数据库稳定可靠的同时, ...

  9. linux服务器的所有服务web/dns/dhcp/vsftp-nfs-samba的配置

    nfs是sun开发的 network filesystem 网络文件系统,相当于win的映射网络驱动器, 可以将一台nfs服务器上的目录"挂载"到本地机器上的 一个 本地目录 一样 ...

随机推荐

  1. Summernote文本编辑器入门

    1.summernote是一个界面比较简洁美观的富文本编辑器. 2.文件导入(官方下载地址:http://summernote.org/) 下载回来的文件夹是这样的: 插件的核心文件放在 dist 这 ...

  2. Selenium 2自动化测试实战6(异常)

    一.异常 python用异常队形(exception object)来表示异常情况,遇到错误后,会引发异常.如果异常对象并未被处理和捕捉,则程序就会用所谓的回溯(Traceback,一种错误信息)来终 ...

  3. 微信小程序---音乐播放和控制

    1.效果图如下: 2.代码如下: //index.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello World', userInf ...

  4. JS BOM(浏览器对象)

    BOM即浏览器对象模型,它包括如下一些对象! (一)screen对象,Screen 对象中存放着有关显示浏览器屏幕的信息. 常见的属性有: availHeight:返回显示屏幕的高度 availWid ...

  5. window10安装Elasticsearch及可视化工具es header

    1.下载es(选择windows版本) https://www.elastic.co/cn/downloads/elasticsearch 2.解压安装包,到bin目录下,运行elasticsearc ...

  6. Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work

    错误: 解决: cat /etc/sysctl.conf net.ipv4.ip_forward=1net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_recycle ...

  7. 关于FPS游戏的设计问题

    第一个想到的问题: 首先以unity的FPSCharactorController为例,这里规定,相机的方向中心一定是瞄准的方向中心.设置身体的扭曲朝向相机方向,这样身体可以弯腰.你们看图中,我让玩家 ...

  8. <数据结构系列2>栈的实现与应用(LeetCode<有效的的括号>)

    首先想要实现栈,就得知道栈为何物,以下一段摘抄至百度百科: 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底. ...

  9. screen重新连接会话

    1.# yum -y install screen 2.# screen 3.# /usr/local/kibana/bin/kibana  (具体使用案例) 然后按ctrl+a+d组合键,暂时断开s ...

  10. CSS3与页面布局学习总结——多种页面布局

    一.负边距与浮动布局 1.1.负边距 所谓负边距就是margin取负值的情况,如margin:-40px:margin-left:-100%.当一个元素与另一个元素margin取负值时将拉近距离.常见 ...