主机名控制者: DNS 服务器地址:http://vbird.dic.ksu.edu.tw/linux_server/0350dns_1.php

安装博客:http://www.linuxidc.com/Linux/2013-06/86060.htm

整个分层查询的流程就是这样,总是得要先经过 . 来向下一层进行查询,最终总是能得到答案的。这样分层的好处是:

主机名修改的仅需自己的 DNS 更动即可,不需通知其他人:
当一个『合法』的 DNS 服务器里面的设定修改了之后,来自世界各地任何一个 DNS 的要求,都会正确无误的显示正确的主机名对应
IP 的信息,因为他们会一层一层的寻找下来。所以,要找你的主机名对应的 IP 就一定得要透过你的上层 DNS
服务器的纪录才行!因此,只要你的主机名字是经过上层『合法的
DNS』服务器设定的,那么就可以在 Internet 上面被查询到啦!呵呵!很简单维护吧,机动性也很高。

DNS 服务器对主机名解析结果的快取时间:
由于每次查询到的结果都会储存在 DNS 服务器的高速缓存中,以方便若下次有相同需求的解析时,能够快速的响应。
不过,查询结果已经被快取了,但是原始 DNS 的主机名与 IP 对应却修改了,此时若有人再次查询,
系统可能会回报旧的 IP 喔!所以,在快取内的答案是有时间性的!通常是数十分钟到三天之内。
这也是为什么我们常说当你修改了一个 domain name 之后,可能要 2 ~ 3 天后才能全面的启用的缘故啦!

可持续向下授权 (子领域名授权):
每一部可以记录主机名与 IP 对应的 DNS 服务器都可以随意更动他自己的数据库对应,
因此主机名与域名在各个主机底下都不相同。举例来说, idv.tw 是仅有台湾才有这个 idv 的网域~
因为这个 idv 是由 .tw 所管理的,所以只要台湾 .tw 维护小组同意,就能够建立该网域喔!

例题:

透过 dig 实作出本小节谈到的 . --> .tw --> .edu.tw --> .ksu.edu.tw --> www.ksu.edu.tw 的查询流程,并分析每个查询阶段的 DNS 服务器有几部?

答:

事实上,我们可以透过第四章约略谈过的 dig 这个指令来实作出喔!使用追踪功能 (+trace) 就能够达到这个目的了。使用方式如下:

[root@www ~]# dig +trace www.ksu.edu.tw
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>>+trace www.ksu.edu.tw
;; global options: printcmd
. 486278 IN NS a.root-servers.net.
. 486278 IN NS b.root-servers.net.
....(底下省略)....
# 上面的部分在追踪 . 的服务器,可从 a ~ m.root-servers.net.
;; Received 500 bytes from 168.95.1.1#53(168.95.1.1) in 22 ms

tw. 172800 IN NS ns.twnic.net.
tw. 172800 IN NS a.dns.tw.
tw. 172800 IN NS b.dns.tw.
....(底下省略)....
# 上面的部分在追踪 .tw. 的服务器,可从 a ~ h.dns.tw. 包括 ns.twnic.net.
;; Received 474 bytes from 192.33.4.12#53(c.root-servers.net) in 168 ms

edu.tw. 86400 IN NS a.twnic.net.tw.
edu.tw. 86400 IN NS b.twnic.net.tw.
# 追踪 .edu.tw. 的则有 7 部服务器
;; Received 395 bytes from 192.83.166.11#53(ns.twnic.net) in 22 ms

ksu.edu.tw. 86400 IN NS dns2.ksu.edu.tw.
ksu.edu.tw. 86400 IN NS dns3.twaren.net.
ksu.edu.tw. 86400 IN NS dns1.ksu.edu.tw.
;; Received 131 bytes from 192.83.166.9#53(a.twnic.net.tw) in 22 ms

www.ksu.edu.tw. 3600 IN A 120.114.100.101
ksu.edu.tw. 3600 IN NS dns2.ksu.edu.tw.
ksu.edu.tw. 3600 IN NS dns1.ksu.edu.tw.
ksu.edu.tw. 3600 IN NS dns3.twaren.net.
;; Received 147 bytes from 120.114.150.1#53(dns2.ksu.edu.tw) in 14 ms

最终的结果有找到 A (Address) 是 120.114.100.101,不过这个例题的重点是,要让大家瞧瞧整个 DNS 的搜寻过程! 在 dig 加上 +trace 的选项后,就能够达到这个目的。至于其他的都是服务器 (NS) 的设定值与追踪过程喔! 有没有很清楚啊?^_^。至于 A 与 NS 等相关的数据,我们在后续的 DNS 数据库介绍中,再分别介绍啰。

 

SOA:就是开始验证 (Start of Authority) 的缩写,相关资料本章后续小节说明;

NS:就是名称服务器 (NameServer) 的缩写,后面记录的数据是 DNS 服务器的意思;

A:就是地址 (Address) 的缩写,后面记录的是 IP 的对应 (最重要);


  • Master / Slave 数据的同步化过程

那么 Master/Slave 的数据更新到底是如何动作的呢?请注意,Slave 是需要更新来自 Master 的数据啊!所以当然 Slave 在设定之初就需要存在 Master 才行喔!基本上,不论 Master 还是 Slave 的数据库,都会有一个代表该数据库新旧的『序号』,这个序号数值的大小,是会影响是否要更新的动作唷! 至于更新的方式主要有两种:

  • Master 主动告知:例如在 Master 在修改了数据库内容,并且加大数据库序号后, 重新启动 DNS 服务,那 master 会主动告知 slave 来更新数据库,此时就能够达成数据同步;
  • 由 Slave 主动提出要求:基本上, Slave 会定时的向 Master 察看数据库的序号,
    当发现 Master 数据库的序号比 Slave 自己的序号还要大 (代表比较新),那么 Slave 就会开始更新。如果序号不变,
    那么就判断数据库没有更动,因此不会进行同步更新。

由上面的说明来看,其实设计数据库的序号最重要的目的就是让 master/slave 数据的同步化。那我们也知道 slave
会向 master 提出数据库更新的需求,问题是,多久提出一次更新,如果该次更新时由于网络问题,所以没有查询到
master 的序号 (亦即更新失败),那隔多久会重新更新一次?这个与 SOA 的标志有关,后续谈到正、反解数据库后,
再来详细说明吧!

如果你想要架设 Master/Slave 的 DNS 架构时,两部主机 (Master/Slave)
都需要你能够掌控才行!网络上很多的文件在这个地方都有点『闪失』,请特别的留意啊!因为鸟哥的 DNS
服务器常常会听到某些其他 DNS 的数据库同步化需求,真觉得烦吶!

最近配置bind时,修改/etc/resolv.conf后,dns解析是服务器ip,但下次启动电脑时dns的ip变成外网dns.觉得奇怪上网搜索资料发现原因:

          CentOS 5.4以上版本(我用的是centos 6.2)下面直接修改/etc/resolv.conf不行。必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。要不然,重启后,肯定使用eth0设置中没有设 dns的相关信息,使/etc/resolv.conf恢复到原来的状态。

  打开/etc/sysconfig/network-scripts/ifcfg-eth0,为了保险起见,可以同样修改eth1的设置

  DEVICE=eth0
  BOOTPROTO=none
  HWADDR=00:xx:19:xx:xx:xx
  ONBOOT=yes
  TYPE=Ethernet
  USERCTL=no
  IPV6INIT=no
  PEERDNS=yes
  NETMASK=255.255.255.0
  IPADDR=xxx.xxx.xxx.xxx   //你的ip地址
  GATEWAY=xxx.xxx.xxx.xxx   //网关
  DNS1=202.96.134.133   // dns我设的本机ip192.168.128.138  

DNS2=202.96.128.166   

 
这样设置后,/etc/resolv.conf里面根本就不需要设置。service network
restart 后,可以发现/etc/resolv.conf里面就有两个dns的解析ip了。配置好以后重启网络,cat
/etc/resolv.conf,可以看到如下参数:

   # Generated by NetworkManager
   nameserver 202.96.134.133
   nameserver 2202.96.128.166 
   search localdomain

  DNS解析设置成功。
  
在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig
/network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重
新变成空值。

named-checkzone iminer.com.zone  /var/named/iminer.com.internal.zone2 检测zone是否正常

DNS生产系统架构的更多相关文章

  1. 系统架构之负载均衡【F5\nginx\LVS\DNS轮询\】

    在做系统架构规划的时候,负载均衡,HA(高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点,当活动节点出现故障的时候,由备用节点接管)都是经常需要考虑的 ...

  2. (系统架构)标准Web系统的架构分层

    标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...

  3. PHP高并发高负载系统架构

    PHP高并发高负载系统架构 1.为什么要进行高并发和高负载的研究 1.1.产品发展的需要 1.2.公司发展的需要 1.3.当前形式决定的 2.高并发和高负载的约束条件 2.1.硬件 2.2.部署 2. ...

  4. 千万pv大型web系统架构,学习从点滴开始

     架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 ...

  5. 浅谈大型web系统架构

    动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应用系统通常与数据库系统. ...

  6. 性能测试知多少---系统架构分析 转自https://yq.aliyun.com/articles/35147?spm=5176.100239.blogcont24251.8.lS96At

    摘要: 有些事儿一旦放一放就难再拾起来,突然发现<性能测试知多少>这个系列两月没更新,关键时我都不知道啥时候放下的,总容易被各种技术所吸引走,如饥似渴的想学更多的东西,这几天一直有朋友问我 ...

  7. 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法

    最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...

  8. 高性能网站性能优化与系统架构(ZT)

    转载请保留出处:俊麟 Michael’s blog (http://space.itpub.net/7311285/viewspace-97) 我在CERNET做过拨号接入平台的搭建,而后在Yahoo ...

  9. 大型web系统架构详解

    (如果感觉有帮助,请帮忙点推荐,添加关注,谢谢!你的支持是我不断更新文章的动力.本博客会逐步推出一系列的关于大型网站架构.分布式应用.设计模式.架构模式等方面的系列文章) 动态应用,是相对于网站静态内 ...

随机推荐

  1. NOIP-比例简化

    题目描述 在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果.例如,对某一观点表示支持的有 1498 人,反对的有 902 人,那么赞同与反对的比例可以简单的记为 1498:902 . ...

  2. 关于部署php遇到的坑

    业务突然要启动一个久不使用的PHP项目, 发现部署到centos7上后 各种报错 就是不行. 我怀疑是apache或者php问题 就重新安装 编译安装也试过就是不行. 只能按笨办法 在测试环境安装了a ...

  3. Mesos源码分析(13): MesosContainerier运行一个Task

    MesosContainerizer的实现在文件src/slave/containerizer/mesos/containerizer.cpp中   Future<bool> MesosC ...

  4. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(5)

    八.KVM 这一步,像virsh start命令一样,将虚拟机启动起来了.虚拟机启动之后,还有很多的步骤需要完成. 步骤38:从DHCP Server获取IP 有时候往往数据库里面,VM已经有了IP, ...

  5. nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  6. Vue 学习笔记 — css属性计算的问题

    简书 今天在使用Vue时遇到一个问题:在切换css内联属性时某些特殊属性的计算会有问题,无法得到预期的结果. 例子: https://jsfiddle.net/blqw/cLwau40z/ 上面的页面 ...

  7. nginx+letsencrypt搭建https站点

    1. 申请好自己的域名 dockerhub.xxx.com,并解析好IP. 2. 安装nginx(默认开通了http) ,修改 server_name dockerhub.xxxx.com; 启动. ...

  8. Javascript高级编程学习笔记(85)—— Canvas(2)2D上下文

    2D上下文 使用2D上下文提供的方法可以绘制简单的2D图形,如矩形,弧线和路径; 2D上下文的坐标开始域<canvas>元素的左上角,原点坐标为(0,0) 后续所有操作的计算都基于原点,x ...

  9. [Swift]LeetCode781. 森林中的兔子 | Rabbits in Forest

    In a forest, each rabbit has some color. Some subset of rabbits (possibly all of them) tell you how ...

  10. java客户端与服务端交互通用处理 框架解析

    一.综述 java 客户端与服务端交互过程中,采用NIO通讯是异步的,客户端基本采用同一处理范式,来进行同异步的调用处理. 处理模型有以下几个要素: 1. NIO发送消息后返回的Future 2. 每 ...