FQDN 全称域名

localhost(主机名或者是别名).localdomain(域名)
    FQDN=主机名.域名

根域               .

顶级域名       .com   .net    .org

二级域名

www  一般是代表一台主机的别名

DNS服务基础原理

1.小型规模  适用于企业内部网络

2.DNS解析原理

DNS解决方案

1.bind           使用最广泛

2.Unbond

DNS:Domain Name Service 应用层协议

1.udp  53

2.tcp   53

DNS服务器类型

主DNS服务器

(1) 在主配置文件中定义区域

zone "ZONE_NAME" IN

{

type { master|slave|hint|forward};

file "ZONE_NAME.zone";

};

(2) 定义区域解析库文件

出现的内容

宏定义

资源记录

从DNS服务器

1、应该为一台独立的名称服务器

2、主服务器的区域解析库文件中必须有一条NS记录指向从服务器

3、从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于 /var/named/slaves/目录中

4、主服务器得允许从服务器作区域传送

5、主从服务器时间应该同步,可通过ntp进行;

6、bind程序的版本应该保持一致; 否则,应该从高   主低

定义从区域的方法:

zone "ZONE_NAME" IN {

type slave;

masters { MASTER_IP; };

file "slaves/ZONE_NAME.zone";

};

转发器(缓存)DNS服务器

注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行

(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器  Options {   forward  first|only;   forwarders { ip;};  };

(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高  zone "ZONE_NAME" IN {   type forward;   forward  first|only;   forwarders { ip;};  };

注意:关闭dnssec功能:  dnssec-enable no;  dnssec-validation no;

DNS基础搭建示例

options {
listen-on port { localhost; };
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; }

/etc/named.conf

zone "yxh.com" IN {
type master;
file "yxh.com.zone"; };

/etc/named.rfc1912.zones

$TTL 1D
@ IN SOA master.yxh.com. admin.yxh.com. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.231.15
www A 192.168.231.15

/var/named/yxh.com.zone

#查看命令来自于哪个安装包
[root@localhost named]# which host
/usr/bin/host
[root@localhost named]# rpm -qf /usr/bin/host
bind-utils-9.9.-.el7.x86_64
#查看端口占用
[root@localhost centos7]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN 127.0.0.1: *:*
[root@yxh6 centos6]# netstat -ntlp | grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx
tcp ::: :::* LISTEN /nginx [root@localhost named]# tail -f /var/log/messages
Jun :: localhost named[]: zone localhost/IN: loaded serial
Jun :: localhost named[]: zone localhost.localdomain/IN: loaded serial
Jun :: localhost named[]: zone yxh.com/IN: loading from master file yxh.com.zone failed: permission denied #修改文件的属主属组
[root@localhost named]# chown root:named yxh.com.zone
[root@localhost named]# host www.yxh.com 192.168.231.15
Using domain server:
Name: 192.168.231.15
Address: 192.168.231.15#
Aliases:
www.yxh.com has address 192.168.231.15 [root@localhost named]# systemctl restart named
[root@localhost named]# dig www.yxh.com @192.168.231.15
[root@localhost network-scripts]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.231.15
nameserver 223.5.5.5
nameserver 223.6.6.6
[root@localhost network-scripts]# ping www.yxh.com
PING www.yxh.com (192.168.231.15) () bytes of data.
bytes from localhost.localdomain (192.168.231.15): icmp_seq= ttl= time=0.016 ms
[root@localhost network-scripts]# ping www.yxh.com
ping: www.yxh.com: Name or service not known
[root@localhost network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 192.168.231.15

其它注意事项

DNS数据库资源记录

区域解析库:由众多RR组成:

资源记录:Resource Record, RR

记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录, 必须位于解析库的第一条记录

A:internet      Address,作用,FQDN --> IP

AAAA:    FQDN --> IPv6

PTR: PoinTeR,IP --> FQDN

NS: Name Server,专用于标明当前区域的DNS服务器

CNAME:Canonical Name,别名记录

MX: Mail eXchanger,邮件交换器

SOA记录
           name: 当前区域的名字,例如“yxh.com.”

value: 有多部分组成

(1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;

(2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如 linuxedu.yxh.com

(3) 主从服务区域传输相关定义以及否定的答案的统一的TTL

例如: yxh.com. 86400 IN SOA ns.yxh.com. nsadmin.yxh.com.

(

2015042201 ;序列号

2H ;刷新时间

10M ;重试时间

1W ;过期时间

1D ;否定答案的TTL值

)

NS记录
        name: 当前区域的名字

value: 当前区域的某DNS服务器的名字,例如ns.yxh.com.

注意:一个区域可以有多个NS记录

例如: yxh.com. IN  NS   ns1.yxh.com.

yxh.com. IN  NS   ns2.yxh.com.

注意:

(1) 相邻的两个资源记录的name相同时,后续的可省略

(2) 对NS记录 而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录

DNS服务管理工具

dig:只用于测试dns系统,不会查询hosts文件进行解析

    • -x IP :测试反向解析
    • -t axfr ZONE_NAME @SERVER :模拟区域传送
    • -t NS . @a.root-servers.net :查询所有的根DNS服务器

host

    • -t:指定查询记录类型
    • host www.yxh.tech 192.168.0.7 :向192.168.0.7查询www.yxh.tech这个域名

rndc

    • reload: 重载主配置文件和区域解析库文件
    • reload zonename: 重载区域解析库文件
    • retransfer zonename: 手动启动区域传送,而不管序列号是否增加
    • notify zonename: 重新对区域传送发通知
    • reconfig: 重载主配置文件
    • querylog: 开启或关闭查询日志文件/var/log/message
    • trace: 递增debug一个级别
    • trace LEVEL: 指定使用的级别
    • notrace:将调试级别设置为 0
    • flush:清空DNS服务器的所有缓存记录

nsupdate :   远程管理DNS数据库记录

指定的zone语句块中:Allow-update {any;};

chmod 770 /var/named

setsebool -P named_write_master_zones on

nsupdate

>server 127.0.0.1

>zone yxh.com

>update add ftp.yxh.com 88888 IN A 8.8.8.8

>send

>update delete www.yxh.com A

>send

send的结果会立即保存到yxh.com.zone.jnl的文件中,需要隔断时间后台服务才会自动合并到 yxh.com.zone数据库中

测试:dig ftp.yxh.com @127.0.0.1

ll     /var/named/yxh.com.zone.jnl

cat    /var/named/yxh.com.zone

named-checkconf:检查配置文件的语法

named-checkzone "yxh.com"    /var/named/yxh.com.zone :查询区域数据库文件的语法

DNS服务基础原理介绍的更多相关文章

  1. Sql注入基础原理介绍

    说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...

  2. Ambari 自定义服务集成原理介绍

    之前,在 github 上开源了 ambari-Kylin 项目,可离线部署,支持 hdp 2.6+ 及 hdp 3.0+ .github 地址为:https://github.com/8418090 ...

  3. Bind DNS服务——基础知识

    Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...

  4. HAProxy基础原理介绍

    HAProxy的功能概述 反向代理 1. mode http,https: 七层反向代理(仅支持http,https七层协议) 2. mode  tcp:         (伪)四层反向代理 调度器 ...

  5. Http服务基础原理

    http服务相关解释 http :  Hyper Text Transfer Protocol,  80/tcp 超文本传输协议,基于tcp传输协议的80端口传输 html: Hyper Text M ...

  6. Linux:Day18(上) dns服务基础进阶

    DNS:Domain Name Service,协议(C/S,53/udp,53/tcp):应用层协议. BIND:Bekerley Internat Name Domain,ISC(www.isc. ...

  7. DNS服务基础

    DNS服务器的功能 – 正向解析:根据注册的域名查找其对应的IP地址 – 反向解析:根据IP地址查找对应的注册域名(不常用) NS(声明DNS记录) A(正向解析记录) CNAME(解析记录别名) 安 ...

  8. 1、DNS服务基础

    w'indows上名称解析目录: C:\Windows\System32\drivers\etc https://jocent.me/2017/06/18/dns-protocol-principle ...

  9. DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置

    DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS    DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...

随机推荐

  1. 用 SQLite 和 FMDB 替代 Core Data

    本文转载至 http://blog.csdn.net/majiakun1/article/details/38680147 为什么我不使用Core Data Mike Ash 写到: 就个人而言,我不 ...

  2. POJ 1958 Strange Towers of Hanoi

    Strange Towers of Hanoi Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3784 Accepted: 23 ...

  3. cordova 插件 调用iOS社交化分享(ShareSDK:微信QQ分享)

    1.github上已有的插件:https://github.com/nwpuhmz/ShareSDKPlugin 2.安装插件 cordova plugin add https://github.co ...

  4. Dom捕捉事件和冒泡事件-原理与demo测试

    先参考一下百度百科对冒泡事件流的解释: ----------不喜欢读文字的同学,可以直接看下面demo,传递顺序简单明了! http://baike.baidu.com/link?url=kaeJHT ...

  5. phpcms v9 的表单向导功能的使用方法 附多个案例

    本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解: 先介绍一下v9 的表单向导如何使用 表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供 ...

  6. DB2创建数据库常用参数详解

    转自http://czmmiao.iteye.com/blog/1335801 DB2创建数据库常用参数详解 本文只介绍DB2 create database语法中的常用参数http://publib ...

  7. Codeforces 603A - Alternative Thinking - [字符串找规律]

    题目链接:http://codeforces.com/problemset/problem/603/A 题意: 给定一个 $01$ 串,我们“交替子序列”为这个串的一个不连续子序列,它满足任意的两个相 ...

  8. 用CountDownLatch提升请求处理速度

    countdownlatch是java多线程包concurrent里的一个常见工具类,通过使用它可以借助线程能力极大提升处理响应速度,且实现方式非常优雅.今天我们用一个实际案例和大家来讲解一下如何使用 ...

  9. 介绍一款jquery ui组件gijgo(含tree树状结构、grid表格),特点:简易、文档全清晰易懂、示例代码

    http://gijgo.com   gijgo组件 特点:简易.文档全-虽然是英文的但是清晰易懂可读性强.含示例代码(后端直接用原生.Net C# MVC的哦!非常合.Net开发胃口),网站网速快, ...

  10. Cocos 2d TestCPP 学习

    Cocos 2d testcpp包含了大量的demo, 对于新手学习cocos引擎具有非常大的帮助.因为接下来的开发项目有可能会用到该引擎,所以希望可以利用自己的业余时间提前熟悉起来.该篇文章会记录自 ...