本文环境: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. python 生成excel,并下载到本地

    from django.shortcuts import reverse,redirect,render from operations import models import xlwt impor ...

  2. java 接口default的判断规则

    1.前言 jdk1.8中新增加了default关键字,就是在接口中可以增加默认实现. 因为改动接口所有的实现类都要改动,所以增加了default关键字后不需要修改其他类,默认给所有实现类增加了方法. ...

  3. MyBatis框架原理2:SqlSession运行过程

    获取SqlSession对象 SqlSession session = sqlSessionFactory.openSession(); 首先通过SqlSessionFactory的openSessi ...

  4. jmeter监控服务器性能(windows系统)

    一.jmeter安装插件 前两个是jmeter插件,安装到本地的jmeter文件夹下第三个是放到服务器里的 jmeter插件官网地址:https://jmeter-plugins.org/ [我分享的 ...

  5. mysql注入常用函数

    system_user()  系统函数名 user()   用户名 current_user()   当前用户名 session_user()    连接数据库的用户名 database()   数据 ...

  6. 【VS开发】模态对话框和非模态对话框

    MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box). 一.模态对话框(model dialog box) 在程 ...

  7. WebService概念解释

    一句话概括什么是WebService   WebService是一种跨编程语言.跨操作系统平台的远程调用技术. 远程调用技术:远程调用是指一台设备上的程序A可以调用另一台设备上的方法B.比如:银联提供 ...

  8. js知识点——2之navigator

    navigator(领航者) 1.appCodeName(返回浏览器的代码名) var x= navigator; document.write("CodeName:"+x.app ...

  9. Codeforces 1156F Card Bag(概率DP)

    设dp[i][j]表示选到了第i张牌,牌号在j之前包括j的概率,cnt[i]表示有i张牌,inv[i]表示i在mod下的逆元,那我们可以考虑转移,dp[i][j]=dp[i-1][j-1]*cnt[j ...

  10. 模板渲染JinJa2

    模板渲染JinJa2 ​ 可以从数据库中查询数据,然后去替换我html中的对应内容(专业名词叫做模板渲染,你先渲染一下,再给浏览器进行渲染),然后再发送给浏览器完成渲染. 这个过程就相当于HTML模板 ...