Linux DNS原理简介及配置

  1. DNS简介
  2. DNS原理
  3. 域名解析的过程
  4. 资源记录
  5. DNS BIND安装配置

一、简介

一般来讲域名比IP地址更加的有含义、也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了。

域名:www.baidu.com(也叫做FQDN:Full Qualified Domain Name, 完全限定域名,同时带有主机名和域名的名称)

通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。

TLD(top level domain)

组织域:.com, .org, .net, .cc

国家域: .cn, .tw, .hk, .iq, .ir, .jp

反向域: IP-->FQDN 将IP地址转换成主机名,早期只能正向解析,后来引入了一个机制。指针;但是从IP转换成FQDN是另外一套数据库。

DNS服务协议采用类似目录树的层次结构记录域名与IP地址的映射对应关系,形成一个分布式的数据库系统,上级仅知道其直接下级,下级只知道根的位置。结构模型:

DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:

正向解析:根据主机名(域名)查找对应的IP地址。

反向解析:根据IP地址查找对应的主机名(域名)。

二、原理

Linux下nsswitch(network service switch)是一个通用框架,与各种类型存储交互的公共实现,实现名称解析服务。其中有库文件,libnss_files.so库文件就是实现查找文件时, 其应该调用的文件。其展现的就是一个配置文件,/etc/nssitch.conf,此配置文件中

这个files就是通过libnss_files来查找/etc/hosts

hosts可通过两种方式来查找:     files    dns

file: /etc/hosts配置文件

dns: DNS服务器

系统中stub resolver:名称解析器,根据配置文件来查找对应的ip地址。

ping www.itodo.com此过程就是先查找本地/etc/hosts文件,如果没有再查找dns服务器。

hosts格式:

IPADDR FQDN    Ailases

192.168.100.1    www.ss.com     www

三、域名解析的过程

当应用过程需要将一个主机域名映射为IP地址时,就调用域名解析函数,解析函数将待转换的域名放在DNS请求中,以UDP报文方式发给本地域名服务器。本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回。

dns查询:

递归查询:主机向本地域名服务器的查询一般都是采用递归查询,只发出一次请求。

迭代查询:本地域名服务器向根域名服务器的查询的迭代查询,发出多次请求。

以上简单理解来说,主机1访问主机2的域名a.zz.com,首先向本机域名服务器发起请求主机2的ip,本机没有,向根域名服务器查询,根返回消息说顶级域名服务器那里知道,本机又向顶级域名服务器查询,顶级域名服务器又返回消息说二级域名服务器那里有答案,本机又向二级域名查询,最后经过本机域名服务器的缓存之后,返回主机2的域名对应的ip地址。

四、资源记录

数据库中的每一个条目称作一个资源记录(Resource Record,RR)

资源记录的格式:

$TTL 600;

NAME            [TTL]            IN            RRT            VALUE

www.ss.com                        IN            A            1.1.1.1

1.1.1.1                        IN            PTR            www.ss.com

资源记录类型(RRT):

SOA(start of authority)

ZONE_NAME    TTL        IN    SOA        FQDN        ADMINISTRATOR_MAILBOX(

serial number 版本号

refresh    刷新时间

retry    重试时间

expire    过期时间

na ttl )    否定答案的ttl

时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒

邮箱格式:admin@ss.com -写为-> admin.ss.com

@:也就是ZONE_NAME

NS(Name Server): ZONE_NAME --> FQDN

magedu.com.        600        IN        NS        ns1.magedu.com.

ns1.magedu.com.    600        IN        A        1.1.1.2

MX(Mail eXchanger): ZONE_NAME --> FQDN

ZONE NAME    TTL        IN        MX pri        VALUE

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

magedu.com.    600        IN        MX    10    mail.magedu.com.

mail.magedu.com.    600        IN    A    1.1.1.3

A(address):    FQDN-->IPv4

AAAA:FQDN-->IPv6

PTR(pointer):IP-->FQDN

CNAME(Canonical NAME): FQDN-->FQDN

www2.magedu.com.        IN        CNAME        www.magedu.com.

TXT:文本字符串

DNS区域:

正向区域文件

magedu.com.        IN        SOA

www.maged.com.   IN    A    192.168.0.1

简写为:

www          IN    A    192.168.0.1

反向区域文件

0.168.192.in-addr.arpa.       IN    SOA

1.0.168.192.in-addr.arpa.      IN    PTR        www.magedu.com.

简写为:

1       IN       PTR       www.magedu.com.

区域传送

区域传送的类型:

完全区域传送: axfr

增量区域传送:ixfr

区域类型:

主区域:master

从区域:slave

提示区域:hint

转发区域:forward

五、DNS BIND安装配置

DNS所用的最常用软件为BIND

bind:

/etc/named.conf

BIND进程的工作属性

区域的定义

/etc/rndc.key

rndc: Remote Name Domain Controller

密钥文件

配置信息:/etc/rndc.conf

/var/named/

区域数据文件

bind-chroot:为了提高系统安全新,把系统中的一个子目录作为bind运行时的目录。

默认:named

用户:named

组:named

/var/named/chroot/

etc/named.conf

etc/rdnc.key

sbin/named

var/named/

安装配置:

1.安装bind,查看是否安装成功

yum -y install bind bind-utils bind-chroot

rpm –qa | grep "^bind"

2.修改/etc/named.conf

listen-on port 53 { any; };

3.修改/etc/named.rfc1912.zones

4.添加所需要的zone文件

在/var/named目录下添加正向解析文件named.yan和反向解析文件named.222

5.检查语法

 named-checkconf

 named-checkzone "区域名" 区域文件路径

6.修改/etc/resolv,并启动服务。

systemctl start named

7.nslookup测试,或者使用dig命令。

正向解析测试:

反向解析测试:

至此简单的配置完毕。

Linux DNS原理简介及配置的更多相关文章

  1. Nginx 反向代理工作原理简介与配置详解

    Nginx反向代理工作原理简介与配置详解   by:授客  QQ:1033553122   测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...

  2. DNS原理及实战配置指南

    目录 DNS简介 DNS域名结构介绍 顶级域名 DNS工作原理 工作模式和端口 资源记录 安装bind(详细) 实战:配置一个正反向解析 实战:配置DNS转发 实战:配置DNS主从 实战:子域授权 实 ...

  3. 运维DNS原理配置

    Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...

  4. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  5. Linux DNS 服务器安装、配置和维护

    每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相对直观有意义的主机名就行了.这就是 DNS ...

  6. Linux SSH基于密钥交换的自动登陆原理简介及配置说明

    一.原理简介 SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key).公钥用于对数据进行加密,而且只能用于加密.而私钥只能对使用所匹配的公钥,所加密 ...

  7. Linux防火墙简介 – iptables配置策略

    Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...

  8. 关于dns服务工作的原理,和配置的细节理解。

    dns服务器相关 1,dns原理,也就是迭代,和递归查询.将域名解析为ip的过程. 一次完整的查询请求经过的流程: Client -->hosts文件 -->DNS Service Loc ...

  9. Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

    原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...

随机推荐

  1. jquery之商城菜单

    实现效果:悬浮总菜单,显示分类菜单,移走隐藏总菜单,悬浮分类菜单,显示商品种类,移走隐藏商品种类和分类菜单,悬浮商品种类,显示商品种类和分类菜单,移走隐藏商品菜单和分类菜单. 代码如下: <!D ...

  2. jQ效果:jQuery和css自定义video播放控件

    下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...

  3. GIS小知识

    1.GeoJson 2.EPSG:3857 几何对象:{"id":0,"style":null,"parts":[1],"poin ...

  4. PostGIS空间查询

    select * from footprints t where ST_intersects(t.geom,ST_GeomFromGeoJSON('{"type":"Po ...

  5. Linux原理总结 。。。更新中

    问题: 1.32位和64位Linux系统的区别是什么? 答:64位系统CPU运行速度快,支持更大的内存,能够更好的发挥服务器硬件的性能,提高业务效率 2.描述Linux分区的知识(包括设备名.主分区. ...

  6. JMeter 逻辑控制之While循环控制器(While Controller)

    逻辑控制之While循环控制器(While Controller)   by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 1.   添加While Control ...

  7. 51Testing专访史亮:测试人员在国外

    不久前,我接受了51Testing的访问,讨论了软件测试的一些问题.以下是全文. 1.史亮老师,作为我们51Testing的老朋友,能和我们说说您最近在忙些什么吗? 自2011年起,我加入Micros ...

  8. 单元测试工具Junit浅谈

    什么是单元测试?   写了一个类和一些方法,给别人用,会不会有bug?那就测一下这些方法吧 怎么测?   用main方法测?不能一起运行,需要人为观察输出是否正确,测试效率低 单元测试能带来什么好处? ...

  9. [20180408]那些函数索引适合字段的查询.txt

    [20180408]那些函数索引适合字段的查询.txt --//一般不主张建立函数索引,往往是开发的无知,使用trunc等函数,实际上一些函数也可以用于字段的查询.--//以前零碎的写过一些,放假看了 ...

  10. (转载)Oracle 树操作(select…start with…connect by…prior)

    转载地址:https://www.cnblogs.com/linjiqin/p/3152674.html 备注:如有侵权,请立即联系删除. oracle树查询的最重要的就是select…start w ...