DNS服务原理详解

一、DNS

DNS:Domain Name Service

协议:

UDP:53

TCP:53

实现:BIND(Berkeley Internet Name Domain,PowerDNS,dnsmasq

MAC-->IP-->主机名称-->DNS

名称解析:将一种格式的信息转化为另外一种格式,以某关键字为标准查找某一数据库的过程

passwd <--> nsswitch转换

login:nsswitch为login提供服务

nsswitch配置文件在/etc/nsswitch

/etc/hosts:存放的为主机与ip、别名

namespace:名称空间

分布式数据库:将数据库切割,放在不同的服务器上

根域(.)-->一级域/顶级域(ICCNA)-->二级域(组织域)

一级域:

组织域:.com,.org,.mil,.gov,.edu,.net,

国家域:.cn,.hk,.tw,.jp,.ir(伊朗),.iq(伊拉克),.us,.uk

反向域:.in-addr.arpa,

二级域:申请

递归:逐层解析

迭代:DNS才会迭代

根拒绝回答递归问题

FQDN:Full Qualified Domain Name 完全域名解析

FQDN --> IP 正向解析

IP --> FQDN 反向解析

DNS服务器的类型

主DNS服务器

辅助DNS服务器

缓存名称服务器

区域传送:

辅助DNS服务器从主DNS服务器或其它的辅助DNS服务器请求传输数据的过程

完全区域传送:传送区域的所有数据,AXFR

增量区域传送:传送区域中改变的数据部分,IXFR

查询:

递归查询:只发起一次请求,最终能得到答案

迭(die)代查询:发起一次请求,不一定得到答案

客户端指向的DNS服务器,一定是允许给本地主机做递归的

资源记录(Resource Record):

数据库每一个条叫一个资源记录,资源记录有类型,用于表示资源的功能

SOA:Start Of Authority,起始授权

NS:Name Server,域名服务器

MX:mail eXchanger:邮件交换器

A:Address,(FQDN-->IP)地址记录

PTR: PoiTeR,(IP-->FQDN)

AAAA:Address,FQDN-->IPv6

CNAME:Canonical Name,正式名称(别名记录)

DNS:FQDN --> IP

正反向解析技术不同,因此不应该存放于同一个数据库文件中进行

域:Domain,逻辑概念

区域:zone,物理概念

DNS的数据库文件(区域数据文件,区域自身有名字):文本文件,只能包含资源记录或宏定义,每行一个

资源记录的格式:

name [ttl(缓存有效时间)]  IN  资源记录类型(RRtype)  Value

例子:

www  600(单位s)   IN    A         1.2.3.4

www.magedu.com.  600   IN A       1.2.3.4

SOA:

只能有一个

name:只能是区域名称,例如:magedu.com.通常可以简写为@,

value:有n个数值,最主要的是主DNS服务器的FQDN,点不可省略

注意:SOA必须是区域数据库文件第一条记录

例子:

@  600  IN  SOA   na.magedu.com. 管理员邮箱(dnsadmin.magedu.com.)(

序列号(serial number) ;注释内容,十进制数据,不能超过10位,通常使用日期,例如2015092017

刷新时间(refresh time) ;即每隔多久到主服务器检查一次

重试时间(retry time) ;应该小于refresh time

过期时间(expire time)

netgative answer ttl ;否定答案的ttl

NS:

可以有多条

name:区域名称,通常可以简写为@

value:DNS服务器的FQDN(可以使用相对名称)

例子:

@  600  IN  NS  ns

A:

只能定义在正向区域数据文件中

name:FQDN(可以使用相对名称)

value:IP

例子:

www  600(单位s) IN A 1.2.3.4

www  600(单位s) IN A 1.2.3.5

可做轮询,效果不好(缓存),

www  600(单位s) IN A 1.2.3.4

ftp  600(单位s) IN A 1.2.3.4

但凡以FQDN做为其值的记录,应该给这个值做一条A记录

AAAA:

MX:可以有多个

name:区域名称,用于标识smtp服务器

value:包含优先级和FQDN

优先级:0-99,数字越小,级别越高,

例子:

@ 600 IN MX 10 mail

@ 600 IN MX 20 mail2

CNAME:

name :FQDN

value :FQDN

例子:

ftp IN CNAME www

PTR:IP --> FQDN,指针记录,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in.addr.arpa.后缀组成

name:IP,逆向的主机地址,例如172.16.100.7的name为7.100,完全格式为7.100.16.172.in-addr-arpa.

value:FQDN

例子:

4.3.2    600 IN PTR www.magedu.com.

二、BIND

isc(www,isc.org)

DNS,bind,named

案例:magelinux.com

192.168.100.

mail,172.16.100.21

www,172.16.100.22

pop-->mail   别名

ftp-->www    别名

dns:192.168.100.20

主配置文件:

主配置文件:定义区域,/etc/named.comf 属主root,数组named,权限:640

区域数据文件:/var/named/   属主root,数组named,权限:640

至少有三个区域:

localhost

127.0.0.1

named:

用户:named

组:named

主配置文件:

options {

//全局选项

zone "ZONE name" {

//定义区域

logging {

//定义日志系统

格式:以分号结尾,{}间有空格

type {hint|master|slave|forward}

bind主配置文件:
[[email protected] ~]# cat /etc/named.conf
options {
         directory "/var/named";
};

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

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

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

zone "1.0.0.127.in-addr.arpa." IN {
           type master;
           file "named.loopback";
};

zone "magelinux.com" IN {
            type master;
            file "magelinux.zone";
};
[[email protected] ~]# service named configtest         #检测配置文件是否有错
zone locahost/IN: loaded serial 0
zone localhost.localdomain/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
[[email protected] ~]# named-c
named-checkconf    named-checkzone    named-compilezone  
[[email protected] ~]# named-checkconf
[[email protected] named]# chown root:named named.conf     #更改属主属组
[[email protected] named]# chmod 640 named.conf            #更改权限
区域数据/资源记录/DNS数据库文件:
[[email protected] named]# cat magelinux.zone
$TTL 6000
@ IN SOA dns.magelinux.com admin.magelinux.com. (
                      2015091019
                      2H
                      10M
                      7D
                      1D )
@ IN  NS dns
@ IN  MX 10 mail
dns IN A 192.168.100.20
mail IN A 192.168.100.21
WWW IN A 192.168.100.22
pop IN CNAME mail
ftp IN CNAME www
[[email protected] named]# chown root:named magelinux.zone
[[email protected] named]# chmod 640 magelinux.zone
[[email protected] named]# named-checkconf
[[email protected] named]# named-checkzone 
[[email protected] named]# vi magelinux.zone              
[[email protected] named]# named-checkzone "magelinux.zone" /var/named/magelinux.zone
zone magelinux.zone/IN: loaded serial 2015091019
OK
[[email protected] named]# killall -1 named
named: no process killed

dig命令:

时间: 2024-11-13 23:58:46

DNS服务原理详解的相关文章

DNS服务相关概念详解

实验环境:RHEL 32Bit DNS服务相关概念详解 DNS是一种域名解析服务,DNS服务的核心以及DNS服务的标准都是基于一个软件来实现的,这个软件叫做BIND(Berkeley Internet Name Domain),互联网上几乎所有的DNS服务都是由BIND来构建的,虽然也有其它的DNS服务构建标准,但是它们的使用语法以及工作机制都和BIND非常接近. ·Linux服务器和Windows服务器的比较 Linux服务器在没有SELinux的时候它的安全级别和Windows服务器的安全级

第十八天 DNS服务原理及bind详细配置

1.DNS服务原理详解 2.DNS服务原理详解 3.bind基本配置详解 一.DNS 服务 Domain name server 域名服务,工作在53号端口,查询时使用udp协议,传输时使用tcp协议. FQDN (Full Qualified Domain Name)完全合格域名 根域:root domain   如:.                        一级域:top-level domain  如: com\net\cn\ gov\org\mil\edu\cc\info   

Docker Kubernetes 服务发现原理详解

Docker Kubernetes  服务发现原理详解 服务发现支持Service环境变量和DNS两种模式: 一.环境变量 (默认) 当一个Pod运行到Node,kubelet会为每个容器添加一组环境变量,Pod容器中程序就可以使用这些环境变量发现Service. 环境变量名格式如下: {SVCNAME}_SERVICE_HOST {SVCNAME}_SERVICE_PORT 注:其中服务名和端口名转为大写,连字符转换为下划线. 限制: 1)Pod和Service的创建顺序是有要求的,Servi

JAVA消息服务JMS规范及原理详解

一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. JMS允许应用程序组件基于JavaEE平台创建.发送.接收和读取消息.它使分布式通信耦合度更低,消息服务更加可靠以及异步性. 二.常用术语介绍 在提到JMS时,我们通常会说到一些术语,解释如下: 消息

kickstart安装系统原理详解

前言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有什么? 光盘安装系统===>一个服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数.用USB外置光驱,插来插去也醉了. U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. 网络安装系统(ftp,http,nfs) ===>这个方法不错,只要服务器能联网就可以装系统了

Linux下DNS服务器搭建详解

 Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. 下面对DNS的工作流程及原理进行简要说明 DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts:若无结果,则client查看本地的DNS缓存服务器:若无结果,则查找所属域的首选DNS服务器:若此时本地首选DN

Tomcat原理详解

Tomcat原理详解 Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat目录: tomcat |---bin:存放启动和关闭tomcat脚本 |---conf:存放不同的配置文件(server.xml和web.xml): |---doc:存放Tomcat文档: |---lib/japser/common:存放Tomcat运行需要的库文件(JARS): |---lo

TOMCAT原理详解及请求过程(转)

https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat目录: tomcat |---bin:存放启动和关闭tomcat脚本 |---conf:存放不同的配置文件(server.xml和web.xml): |---doc:存放Tomc

LVS负载均衡群集(三种工作模式原理详解)

LVS负载均衡群集(三种工作模式原理详解) 一.前言 ? 在互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求越来越高,单台服务器力不从心.所以我们需要通过一些方法来解决这样的瓶颈. ? 最简单的方法就是使用价格昂贵的大.小型的主机:但这样在大多数企业中显然是不可取或者说不现实的.那么我们就需要通过多个普通服务器构建服务器群集. 二.相关概念概述 2.1何为LVS? ? LVS--Linux Virtual Server,即Linux虚拟服务器(虚拟主机.共享主机),虚拟主