博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Whatis DNS
阅读量:5820 次
发布时间:2019-06-18

本文共 22481 字,大约阅读时间需要 74 分钟。

什么是DNS

域名

如:www.baidu.com,这是一个主机名, 它实际上有一个明确的定义叫Full Qualified Domain Name,即完全限定域名.这个主机名对应的真正域名是.com和.baidu.com.由此可知,其实域名,是指一定范围内主机名的集合.

Domain Name Service(DNS)名称解析服务, 实际上是在进行名称转换,背后有一个数据查询的过程,以实现两种目标名称的相应转换.而DNS正是这种将FQDN转换成IP地址的服务.如:

119.75.213.61 ---> www.baidu.com211.98.71.195 ---> www.bilibili.com

之所以存在主机名和IP地之间名称转换的问题,可以这么理解. 人的思考方式总是与计算机不同的,对于计算机而言,所有的语言最终都不过是数字,因此计算机之间通信用以区分彼此的是IP地址.但人类也需要通过自己能理解的方式去区分主机,用IP地址显然不得记忆,因些人们通过主机名来识别互联网中的每一台主机.

nsswitch框架: /etc/nsswitch.conf是这个框架的具体体现

给名称解析提供一个平台,而实际完成名称解析操作的是具体的一个个的店铺.这个框架依靠linux系统调用库工具帮助具体实现名称解析的程序完成名称解析.这两个库是如下

  • libnss_files.so

  • libnss_dns.so

/etc/nsswitch.conf中有一行内容为hosts: files dns

这里的files是libnss_files去/etc/hosts文件,通过这个文件完成主机名称到ip地址的映射关系;dns则是指dns服务.

所以当我们去请求一个主机名时,系统会调用一个库函数实现主机名到ip的转换,这个过程由stub resolvers完成.这个过程可以通过网际协议ping来查看.

➜  ~ ping http://www.bilibili.com/PING http://www.bilibili.com/ (211.98.71.195): 56 data bytes64 bytes from 211.98.71.195: icmp_seq=0 ttl=250 time=3.399 ms64 bytes from 211.98.71.195: icmp_seq=1 ttl=250 time=4.362 ms64 bytes from 211.98.71.195: icmp_seq=2 ttl=250 time=6.390 ms64 bytes from 211.98.71.195: icmp_seq=3 ttl=250 time=6.101 ms64 bytes from 211.98.71.195: icmp_seq=4 ttl=250 time=4.439 ms

早期主机名--->IP的方法,通过hosts文件,这时候的主机较少

IPADDR            FQDN                Aliases211.98.71.195     www.bilibili.com    www

IANA和ICANN

IANA负责维护主机名与IP地址的映射关系.IANA即互联网名称分配机构.IANA通过ftp服务器保存一个hosts文件.所有的主机网络中访问其它主机时,会先去IANA的ftp服务器上下载最新的hosts文件,从而拿到要请求主机对应的IP地址.

  • 周期性任务更新hosts文件

  • Server: 由发送的请求目标主机在服务器端更新,之后将目标主机名对应的IP发送给客户端

    • 当时的条件,请求达到1KW条时,导致服务器不堪重负,查询也慢.

  • 分布式数据库

    • 按Level管理域名

    • 自顶向下为: 根,顶级,二级...

    • 上级仅知道其直接下级

    • 下级仅知道根的位置

    • 按Level管理域名

    • TLD(Top Level Domain)

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

        • 国家域: .cn, .jp, .hk, .tw, .ca, .iq

        • 反向域: IP--->FQDN

但随着互联网中主机数量增大,后来民间成立了一个ICANN替代了IANA的作用.

名称解析分类

  • 正向解析: FQDN--->IP

  • 反向解析: IP--->FQDN

  • 一个IP可以对应多个FQDN

  • 一个FQDN也可以对应多个IP, 这是DNS的高级功能,可能实现负载均衡,提高服务器的负载能力

查询

  • 递归: 只发出一次请求

  • 迭代: 发出多次请求

  • 所有DNS请求都是两段式: 前半段递归,后半段迭代

  • 查询结果会缓存下来

DNS服务器

  • 接受本地客户端的查询请求(递归)

  • 外部客户端请求: 请求权威答案的

    • 肯定答案: TTL

    • 否定答案: TTL

  • 外部客户端请求非权威答案: 非权威答案,不给递归查询

  • 根或.com的域不会给任何人递归,安全起见

/etc/resolv.conf

这个文件中的nameserver IP必须是允许递归的服务器地址,而stub resolver又是一个要求必须有应答的递归请求.因些,一旦写成不允许递归的IP, stub resolver将得不到应答.

DNS服务器

不同的域名层级实际就是由一台一台的域名服务器组织起来的.

根服务器

全球一共有A-M排列的13组根服务器,共504台.其中中国北京有四台根镜像.域名格式为a.root-servers.net.

DNS服务器主从结构

如果一台DNS服务器,意味着这个台DNS服务器管理的所有主机都将不可达.这是十分危险的,从而有必要提供安全机制,以防止DNS服务器挂掉后造成不可想象的后果.

  • MASTER DNS服务器: 数据修改

  • SLAVE DNS服务器: 请求数据同步,只有有需要时才会pull数据

    • serials number: 版本号

    • refresh: 多长时间检查一次MASTER的版本号

    • retry: 重试时间

    • expire: 认为MASTER挂掉的时间

    • negative answer TTL: 否定答案缓存时长

缓存DNS服务器

不提供任何权威答案,只负责缓存

转发DNS服务器

不提供权威答案,也不缓存,只将请求转发出去

NOTE:

DNS服务器是由上级在数据库授权的

DNS主机角色

所有域中的主机都有自己的角色,比如有的是邮件服务器,有的是www的服务器等等.

在数据库中的每一个条目叫作一个资源记录,每条记录中的RRT(资源记录类型)字段用以区分这条记录最终要转换成什么.格式:

$TTL 600;NAME  TTL(可省略,但必须提供全局变量)    IN    RRT    VALUEwww.baidu.com                       IN    A      1.1.1.11.1.1.1                             IN    PTR    www.baidu.com

资源记录类型RRT

用来表示这条记录要解析的值在DNS内部是什么角色.

  • A

  • AAAA

  • NS

  • MX

  • WWW

  • PTR

  • @: 用来表示域名zone name

A记录

FQDN           ---> IPv4www.baidu.com. ---> 119.75.213.61

AAAA记录

FQDN           ---> IPv6www.baidu.com. ---> 2001:503:ba3e::2:30

NS记录

在一个zone内,允许有多台NS服务器,而这些服务器的主从关系是通过配置文件加以区分.

Zone Name      ---> FQDNbaidu.com.     ---> ns1.baidu.com.(NS记录)ns1.baidu.com. ---> 119.75.213.61(A记录)ZoneName      TTL    IN    RRT   VALUE     baidu.com.    600    IN    NS    ns1.baidu.com.ns1.baidu.com.600    IN    A     1.1.1.1

SOA:起始授权记录

由于一个zone内,允许有多台NS服务器,主从之间如何同步数据,以及起始授权对象是谁,这个申明通过SOA记录负责完成.这条记录必须出现在数据文件的第一条.

邮箱格式正常为 nora@126.com, 但是在资源记录中要写成nora.126.com.因为在资源记录中这个@是一个通配符,代表zone name.

# MASTER FQDN 是主DNS服务器主机全限定主名称# 主从之间请求的几个参数可以用的单位有: H, M, D, W, 默认是S# serial number最长不能超过10位,一般使用时间戳,数据文件每修改一次,serialnumber也要修改一次# 这个资源数据文件中注释用`;`开头$TTL 600;ZONE NAME    IN        RRT        MASTER FQDN    ADMINISTRATOR_MAILBOX (                                         serial number                                         refresh                                         retry                                         expire                                         negative answer)baidu.com    IN        SOA        ns1.baidu.com. admin.baidu.com. (                                         201706241641 ; 版本号                                         1H                                         1M                                         1W                                         1D )

MX(Mail Exchanger)

最终指向某个域内邮件服务器的主机名,一般会有多台,由优先级字段决定使用中的是哪台.优先级从0-99,数字越小优先级越高. 同时也要像NS一样,要给出这台邮件服务器对应的A记录,以告诉请求者这台服务器的IP地址.

ZONE NAME      ---> FQDNZONE NAME         TTL     IN    RRT    PRI    VALUEbaidu.com.        600     IN    MX     10     mail.baidu.com.mail.baidu.com.   600     IN    A             1.1.1.1

PTR记录: 反向解析,交换IP转换成FQDN

IP             ---> FQDN1.1.1.1    600    IN    PTR    www.baidu.com

CNAME: Canonical Name 正式名称

FQDN              ---> FQDNzone name            TTL        IN        RRT        VALUEwww2.baidu.com.    600      IN        CNAME    www.baidu.com.

还有一些概念

  • 域: Domain是一个逻辑概念.

  • 区域: Zone是一个物理概念.

NOTE:

Zone是一个物理概念.一个域名在DNS解析的过程中依赖解析数据文件,正向解析依赖正向解析文件,反向解析依赖反向解析文件,正向解析文件即正向区域,反向解析文件即反向区域.这两个区域构成的空间即为域.但是域与区域之间没有必然的包含关系.因为域由上级授权,授权通过区域完成,因此域来自于区域文件.同时,正向域与反向域的授权是分开进行的.正向区域的zone name与域名相同,但是反向区域的zone name却是与域名有很大的区别.

# 注册了一个域名 xpercent.com# 又从ICANN获得了一个网段 10.211.55.0/24# xpercent.com域中 域名解析服务器主机为 10.211.55.2# xpercent.com域中 还有一台MX邮件服务器, 主机IP为 10.211.55.3# 从上级获取授权, 写一个授权记录# 授权记录Zone Name            IN        RRT        VALUExpercent.com.        IN        NS        ns1.xpercent.com.ns1.xpercent.com.IN        A        10.211.55.2# 正向区域文件Zone Name             IN        RRT        FQDN    ADMIN_MAILBOXxpercent.com.      IN        SOA        ns1.xpercent.com. mail.xpercent.com. (                                201706241641 ; 版本号                                1H                                5M                                1W                                1D )xpercent.com.      IN     MX        10.211.55.3www.xpercent.com. IN    A        10.211.55.2注意,soa的zone name写成@,@知道自己处于哪个域内,这是通过配置文件实现的.而此后的所有记录zone name都可以将域名去掉后只写前半段.**不可加上`.`**# 反向区域文件# ZONE NAME是网段地址的逆序且加上.in-addr.arpa后缀Zone Name                           IN        RRT        VALUE55.211.55.in-addr.arpa.      IN        SOA        2.55.211.10.in-addr.arpa.   IN     PTR     www.xpercent.com.# 上面的PTR记录zone name可简写为2
  • 区域传送的类型

    • 完全区域传送: axfr

    • 增量区域传送: ixfr

  • 主从区域类型

    • 主区域: 主DNS服务器 MASTER

    • 从区域: 从DNS服务器 SLAVE

    • 提示区域: 自己找不到的,根据hint找到根的位置 HINT

    • 转发区域: 添加一条可递归的DNS服务器 FORWAR

DNS服务器搭建

规划

  • 注册域名: xpercent.me

  • 网段号: 10.211.55.0/24

  • 搭一台缓冲DNS服务器: 10.211.55.1 负责解析注册域的所有FQDN工作

  • www.xpercent.me 10.211.55.1, 10.211.55.3

  • mail.xpercent.me 10.211.55.2

  • ftp.xpercent.me www.xpercent.me

BIND安装

shell> rpm -qa | grep "^bind"shell> rpm install -y bind-lib, bind-utils, bindshell> rpm -qlv bind # 查看bind最后的安装目录及配置文件等# 文件列表如下drwxr-x---    2 root  named  0 May  9 21:43 /etc/named-rw-r-----    1 root  named  984 Nov 20 2015 /etc/named.conf-rw-r--r--    1 root  named  2389 May  9 21:43 /etc/named.iscdlv.key-rw-r-----    1 root  named  931 Jun 21  2007 /etc/named.rfc1912.zones-rw-r--r--    1 root  named  487 Jul 19  2010 /etc/named.root.key# 守护进程脚本-rwxr-xr-x    1 root  root   7992 May  9 21:43 /etc/rc.d/init.d/named# 守护进程脚本的配置文件-rw-r--r--    1 root    root 1695 May  9 21:43 /etc/sysconfig/named# rndc文件-rw-r-----    1 root    named  0 May  9 21:43 /etc/rndc.conf-rw-r-----    1 root    named  0 May  9 21:43 /etc/rndc.key# 二进制程序-rwxr-xr-x    2 root    root   550744 May  9 21:43 /usr/sbin/named-rwxr-xr-x    1 root    root   28464 May  9 21:43 /usr/sbin/named-checkconf-rwxr-xr-x    1 root    root   24416 May  9 21:43 /usr/sbin/named-checkzone# 区域数据文件-rw-r-----    1 root  named  3171 Jan 11  2016 /var/named/named.ca-rw-r-----    1 root  named  152 Dec 15  2009 /var/named/named.empty-rw-r-----    1 root  named  152 Jun 21  2007 /var/named/named.localhost-rw-r-----    1 root  named  168 Dec 15  2009 /var/named/named.loopback

BIND相关文件

  • /etc/named

  • /etc/named.conf BIND进程的工作属性,区域的定义等主配置文件,相当于已经安装caching-server

  • /etc/rndc.key

    • rndc: 远程域名控制进程

    • rndc.key: 是远程管理使用的密钥

    • 配置文件其实是: /etc/rndc.conf

  • /var/named: 区域数据文件存储位置

  • /etc/rc.d/named: start|stop|restart|reload|status|configtest

  • /var/log/message: dns运行时日志文件

  • named: 二进制程序,位于/usr/sbin/named

  • named-checkconfig: 检查区域配置文件的语法

  • named-checkzone: 检查区域配置文件的语法

  • named.ca: 13组根结点

  • named.localhost: 将localhost解析成127.0.0.1及::1

  • named.loopback: 本地主机名的正反向解析

DNS监听的端口

  • UDP 53, 默认的查询请求协议

  • TCP 53, 从服务器同步数据时用TCP

  • TCP 953, RNDC监听的端口

数据文件注意事项

格式: 全文所有括号前后有空格,每一个完整语句必须以;结束.

ZONE "ZONE NAME" IN {    type master|slave|hint|forward    file "相对option中的directory而言"};
  • options: 全局选项,对每一个zone有效

    • directory: 定义数据目录,是个相对路径,文件中其它目录都相对这个路径而言

    • recursion: 是否给所接收的请求进行递归查询

  • ZONE:

    • 根区域: type hint;

    • 主区域: type master;

    • 从区域: type slave;

  • include:

搭建流程

用到的一些命令及基说明

shell> mv /etc/named.conf /etc/named.conf.backupshell> cp /etc/named.conf.backup /etc/named.conf -pshell> named-checkconfigshell> named-checkzone "." /var/named/named.ca# named-checkzone "zone name" filenameshell> named-checkzone "localhost" /var/named/named.localhostshell> named-checkzone "loopback" /var/named/named.loopbackshell> getenforce # 确认selinux是否开启,开启的话要关闭shell> setenforce 0 # 临时性的关闭selinuxshell> servcie named startshell> tail /var/log/messageshell> netstat -npl#p父进程id/l列表/n以ip:port形式显示进程/t:tcp/u:udpshell> ping www.baidu.com # 能ping能表示服务器搭建成功shell> dig -t "RT" "ZONE NAME"shell> dig -t NS    xpercent.meshell> dig -t A www.xpercent.me.shell> dig -t MX mail.xpercent.me.shell> dig -x IP# dig: domain information gropher,在域名服务器系统中查看相关信息shell> dig -t NS . # 查找要域的所有DNS服务器,前提是运行dig进程的主机必须要能访问互联网shell> dig -t NS . @A.ROOT-SERVERS.NET. # 直接通过A.ROOT-SERVERS.NET.这个域查找根域的信息

DNS服务器配置文件/etc/named.conf

options {    directory "/var/named";};zone "." IN {    type hint;    file "named.ca";};zone "localhost" IN {    type master;    file "named.localhost";};zone "loopback" IN {    type master;    file "named.loopback";};zone "xpercent.me" IN {    type master;    file "xpercent.me.zone";};zone "55.211.10.in-addr.arpa" IN {    type master;    file "10.211.55.zone";};

正向区域文件/var/named/xpercent.me.zone

$TTL 86400;@            IN        SOA    ns1.xpercent.me.        admin.xpercent.me. (                    201706241800                    1H                    5M                    1W                    1D )                IN        NS           ns1                IN        MX  10       mailns1             IN        A            10.211.55.1www             IN        A            10.211.55.1mail            IN        A            10.211.55.2www             IN        A            10.211.55.3ftp             IN        CNAME        www

反向区域文件/var/named/10.211.55.1.zone

$TTL 86400;@    IN    SOA    ns1.xpercent.me.    admin.xpercent.me. (                    201706241800                    1H                    5M                    1W                    1D )    IN    NS    ns1.xpercent.me. ; 这里的FQDN必须写到`.`,1    IN    PTR    www.xpercent.me.2    IN    PTR    mail.xpercent.me.3    IN    PTR    www.xpercent.me.

/etc/resolv.conf

# 这里的nameserver必须指向一台可以联网的主机nameserver 10.211.55.200

测试一下

# 正向测试[root@os1 named]# dig -t A www.xpercent.me; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.xpercent.me;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55993;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0;; QUESTION SECTION:;www.xpercent.me.        IN    A;; ANSWER SECTION:www.xpercent.me.    86400    IN    A    10.211.55.1www.xpercent.me.    86400    IN    A    10.211.55.3;; AUTHORITY SECTION:xpercent.me.        86400    IN    NS    www.xpercent.me.;; Query time: 0 msec;; SERVER: 10.211.55.200#53(10.211.55.200);; WHEN: Sat Jun 24 07:52:18 2017;; MSG SIZE  rcvd: 79# 反向测试[root@os1 named]# dig -x 10.211.55.1; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -x 10.211.55.1;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50309;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1;; QUESTION SECTION:;1.55.211.10.in-addr.arpa.    IN    PTR;; ANSWER SECTION:1.55.211.10.in-addr.arpa. 86400    IN    PTR    www.xpercent.me.;; AUTHORITY SECTION:55.211.10.in-addr.arpa.    86400    IN    NS    ns1.xpercent.me.;; ADDITIONAL SECTION:ns1.xpercent.me.    86400    IN    A    10.211.55.1;; Query time: 0 msec;; SERVER: 10.211.55.200#53(10.211.55.200);; WHEN: Sat Jun 24 08:48:14 2017;; MSG SIZE  rcvd: 105

递归与迭代区别

递归查询

[root@os1 named]# dig -t A www.baidu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.baidu.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8910;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5;; QUESTION SECTION:;www.baidu.com.            IN    A;; ANSWER SECTION:www.baidu.com.        1200    IN    CNAME    www.a.shifen.com.www.a.shifen.com.    300    IN    A    111.13.100.91www.a.shifen.com.    300    IN    A    111.13.100.92;; AUTHORITY SECTION:a.shifen.com.        1145    IN    NS    ns1.a.shifen.com.a.shifen.com.        1145    IN    NS    ns2.a.shifen.com.a.shifen.com.        1145    IN    NS    ns3.a.shifen.com.a.shifen.com.        1145    IN    NS    ns5.a.shifen.com.a.shifen.com.        1145    IN    NS    ns4.a.shifen.com.;; ADDITIONAL SECTION:ns1.a.shifen.com.    1145    IN    A    61.135.165.224ns2.a.shifen.com.    1145    IN    A    180.149.133.241ns3.a.shifen.com.    1145    IN    A    61.135.162.215ns4.a.shifen.com.    545    IN    A    115.239.210.176ns5.a.shifen.com.    1145    IN    A    119.75.222.17;; Query time: 45 msec;; SERVER: 10.211.55.200#53(10.211.55.200);; WHEN: Sat Jun 24 09:32:16 2017;; MSG SIZE  rcvd: 260

迭代查询

Step1

[root@os1 named]# dig +norecurse -t www.baidu.com;; Warning, ignoring invalid type www.baidu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +norecurse -t www.baidu.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2486;; flags: qr ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13;; QUESTION SECTION:;.                IN    NS;; ANSWER SECTION:.            517857    IN    NS    e.root-servers.net..            517857    IN    NS    m.root-servers.net..            517857    IN    NS    k.root-servers.net..            517857    IN    NS    i.root-servers.net..            517857    IN    NS    j.root-servers.net..            517857    IN    NS    f.root-servers.net..            517857    IN    NS    l.root-servers.net..            517857    IN    NS    c.root-servers.net..            517857    IN    NS    h.root-servers.net..            517857    IN    NS    a.root-servers.net..            517857    IN    NS    g.root-servers.net..            517857    IN    NS    b.root-servers.net..            517857    IN    NS    d.root-servers.net.;; ADDITIONAL SECTION:a.root-servers.net.    517857    IN    A    198.41.0.4a.root-servers.net.    517857    IN    AAAA    2001:503:ba3e::2:30b.root-servers.net.    517857    IN    A    192.228.79.201b.root-servers.net.    517857    IN    AAAA    2001:500:200::bc.root-servers.net.    517857    IN    A    192.33.4.12c.root-servers.net.    517857    IN    AAAA    2001:500:2::cd.root-servers.net.    517857    IN    A    199.7.91.13d.root-servers.net.    517857    IN    AAAA    2001:500:2d::de.root-servers.net.    517857    IN    A    192.203.230.10e.root-servers.net.    517857    IN    AAAA    2001:500:a8::ef.root-servers.net.    517857    IN    A    192.5.5.241f.root-servers.net.    517857    IN    AAAA    2001:500:2f::fg.root-servers.net.    517857    IN    A    192.112.36.4;; Query time: 0 msec;; SERVER: 10.211.55.200#53(10.211.55.200);; WHEN: Sat Jun 24 09:34:19 2017;; MSG SIZE  rcvd: 508

Step2

[root@os1 named]# dig +norecurse -t A www.baidu.com @a.gtld-servers.net.; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +norecurse -t A www.baidu.com @a.gtld-servers.net.;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24622;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 5, ADDITIONAL: 5;; QUESTION SECTION:;www.baidu.com.            IN    A;; AUTHORITY SECTION:baidu.com.        172800    IN    NS    dns.baidu.com.baidu.com.        172800    IN    NS    ns2.baidu.com.baidu.com.        172800    IN    NS    ns3.baidu.com.baidu.com.        172800    IN    NS    ns4.baidu.com.baidu.com.        172800    IN    NS    ns7.baidu.com.;; ADDITIONAL SECTION:dns.baidu.com.        172800    IN    A    202.108.22.220ns2.baidu.com.        172800    IN    A    61.135.165.235ns3.baidu.com.        172800    IN    A    220.181.37.10ns4.baidu.com.        172800    IN    A    220.181.38.10ns7.baidu.com.        172800    IN    A    119.75.219.82;; Query time: 113 msec;; SERVER: 192.5.6.30#53(192.5.6.30);; WHEN: Sat Jun 24 09:35:41 2017;; MSG SIZE  rcvd: 201

Step3

[root@os1 named]# dig +norecurse -t A www.baidu.com @dns.baidu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +norecurse -t A www.baidu.com @dns.baidu.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17196;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 5;; QUESTION SECTION:;www.baidu.com.            IN    A;; ANSWER SECTION:www.baidu.com.        1200    IN    CNAME    www.a.shifen.com.;; AUTHORITY SECTION:a.shifen.com.        1200    IN    NS    ns5.a.shifen.com.a.shifen.com.        1200    IN    NS    ns3.a.shifen.com.a.shifen.com.        1200    IN    NS    ns2.a.shifen.com.a.shifen.com.        1200    IN    NS    ns1.a.shifen.com.a.shifen.com.        1200    IN    NS    ns4.a.shifen.com.;; ADDITIONAL SECTION:ns1.a.shifen.com.    1200    IN    A    61.135.165.224ns2.a.shifen.com.    1200    IN    A    180.149.133.241ns3.a.shifen.com.    1200    IN    A    61.135.162.215ns4.a.shifen.com.    1200    IN    A    115.239.210.176ns5.a.shifen.com.    1200    IN    A    119.75.222.17;; Query time: 7 msec;; SERVER: 202.108.22.220#53(202.108.22.220);; WHEN: Sat Jun 24 09:36:45 2017;; MSG SIZE  rcvd: 228

总结

一条命令跟踪整个解析过程.

[root@os1 named]# dig +trace -t A www.baidu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +trace -t A www.baidu.com;; global options: +cmd.            517565    IN    NS    k.root-servers.net..            517565    IN    NS    d.root-servers.net..            517565    IN    NS    c.root-servers.net..            517565    IN    NS    l.root-servers.net..            517565    IN    NS    i.root-servers.net..            517565    IN    NS    a.root-servers.net..            517565    IN    NS    g.root-servers.net..            517565    IN    NS    f.root-servers.net..            517565    IN    NS    m.root-servers.net..            517565    IN    NS    e.root-servers.net..            517565    IN    NS    j.root-servers.net..            517565    IN    NS    b.root-servers.net..            517565    IN    NS    h.root-servers.net.;; Received 508 bytes from 10.211.55.200#53(10.211.55.200) in 5 mscom.            172800    IN    NS    c.gtld-servers.net.com.            172800    IN    NS    j.gtld-servers.net.com.            172800    IN    NS    l.gtld-servers.net.com.            172800    IN    NS    f.gtld-servers.net.com.            172800    IN    NS    d.gtld-servers.net.com.            172800    IN    NS    a.gtld-servers.net.com.            172800    IN    NS    k.gtld-servers.net.com.            172800    IN    NS    i.gtld-servers.net.com.            172800    IN    NS    h.gtld-servers.net.com.            172800    IN    NS    m.gtld-servers.net.com.            172800    IN    NS    b.gtld-servers.net.com.            172800    IN    NS    g.gtld-servers.net.com.            172800    IN    NS    e.gtld-servers.net.;; Received 491 bytes from 192.33.4.12#53(192.33.4.12) in 3170 msbaidu.com.        172800    IN    NS    dns.baidu.com.baidu.com.        172800    IN    NS    ns2.baidu.com.baidu.com.        172800    IN    NS    ns3.baidu.com.baidu.com.        172800    IN    NS    ns4.baidu.com.baidu.com.        172800    IN    NS    ns7.baidu.com.;; Received 201 bytes from 192.48.79.30#53(192.48.79.30) in 116 mswww.baidu.com.        1200    IN    CNAME    www.a.shifen.com.a.shifen.com.        1200    IN    NS    ns2.a.shifen.com.a.shifen.com.        1200    IN    NS    ns1.a.shifen.com.a.shifen.com.        1200    IN    NS    ns5.a.shifen.com.a.shifen.com.        1200    IN    NS    ns4.a.shifen.com.a.shifen.com.        1200    IN    NS    ns3.a.shifen.com.;; Received 228 bytes from 220.181.38.10#53(220.181.38.10) in 17 ms

域名与博客

需求

将xpercent.tech作为博客的访问入口

准备工作

  • 托管在github/coding/远程服务器上的hexo博客

  • github pages服务, repository中上传CNAME文件,内容为xpercent.tech

  • coding pages服务, CNAME同上

期望结果

hexo博客 域名 github pages 码市 pages
xpercent.tech noraxie.github.io xpercent.coding.me
xpercent.tech noraxie.github.io xpercent.coding.me

域名解析资源记录表

选用DNSPod域名解析服务器.

区域名(ZONE NAME): xpercent.tech

正向区域文件

ZONE NAME RRT IN TTL VALUE
@ CNAME IN 600 noraxie.github.io.
@ CNAME IN 600 xpercent.coding.me.
@ NS IN 86400 f1g1ns1.dnspod.net.
@ NS IN 86400 f1g1ns1.dnspod.net.
www CNAME IN 600 noraxie.github.io.
www CNAME IN 600 xpercent.coding.me.

验证域名

➜  ~ dig @f1g1ns1.dnspod.net. xpercent.tech. CNAME; <<>> DiG 9.8.3-P1 <<>> @f1g1ns1.dnspod.net. xpercent.tech. CNAME; (5 servers found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59769;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0;; WARNING: recursion requested but not available;; QUESTION SECTION:;xpercent.tech.            IN    CNAME;; ANSWER SECTION:xpercent.tech.        600    IN    CNAME    noraxie.github.io.;; AUTHORITY SECTION:xpercent.tech.        86400    IN    NS    f1g1ns2.dnspod.net.xpercent.tech.        86400    IN    NS    f1g1ns1.dnspod.net.;; Query time: 69 msec;; SERVER: 180.163.19.15#53(180.163.19.15);; WHEN: Fri Jun 30 17:59:30 2017;; MSG SIZE  rcvd: 126======================================================➜  ~ dig @f1g1ns1.dnspod.net. www.xpercent.tech. CNAME; <<>> DiG 9.8.3-P1 <<>> @f1g1ns1.dnspod.net. www.xpercent.tech. CNAME; (5 servers found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13990;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0;; WARNING: recursion requested but not available;; QUESTION SECTION:;www.xpercent.tech.        IN    CNAME;; ANSWER SECTION:www.xpercent.tech.    600    IN    CNAME    xpercent.coding.me.;; AUTHORITY SECTION:xpercent.tech.        86400    IN    NS    f1g1ns1.dnspod.net.xpercent.tech.        86400    IN    NS    f1g1ns2.dnspod.net.;; Query time: 63 msec;; SERVER: 180.163.19.15#53(180.163.19.15);; WHEN: Fri Jun 30 18:00:08 2017;; MSG SIZE  rcvd: 131

转载地址:http://nfzdx.baihongyu.com/

你可能感兴趣的文章
Linux下日志系统的设计
查看>>
我的RabbitMQ的学习成果
查看>>
小白都能看懂的Linux系统下安装配置Zabbix
查看>>
Async/Await是这样简化JavaScript代码的
查看>>
【高速接口-RapidIO】6、RapidIO核仿真与包时序分析
查看>>
微软开放6万项专利技术,叫停Linux专利战
查看>>
写给正在入坑linux系统的伙伴
查看>>
MySQL主从同步报错排错结果及修复过程之:Slave_SQL_Running: No
查看>>
background-position属性的百分比用法
查看>>
Java_error与Exception的区别,以及受控异常与运行时异常的区别
查看>>
Mybatis3
查看>>
Scala学习(八)继承
查看>>
go语言---接口
查看>>
易相测算:生肖为狗的人的姻缘测算
查看>>
jumpserver 报错"Incorrect string value
查看>>
111111111111111 java性能调优
查看>>
2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理...
查看>>
Ubuntu卸载程序
查看>>
《基于JQuery和CSS的特效整理》系列分享专栏
查看>>
sharding-jdbc源码解析之结果集归并
查看>>