DNS解析的作用
• 为什么需要DNS系统
– www.baidu.com 与 119.75.217.56,哪个更好记?
– 互联网中的114查号台/导航员

• DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名,不常用

所有域名都必须以 “.” 结尾   根域

“.”  根域
 
    .com  .cn   .us    .kr   .hk   .tw

.com.cn    .edu.cn    .org.cn

.sina.com.cn  
   
    主机名:www.sina.com.cn   tts.sina.com.cn

• Full Qualified Domain Name,完全合格主机名
   – = 站点名.域名后缀
   – = 站点名. .. .. .二级域.一级域

###################################################

BIND域名服务
• BIND(Berkeley Internet Name Daemon)
– 伯克利 Internet 域名服务

– 官方站点:https://www.isc.org/
[root@svr7 ~]# yum -y install bind-chroot bind
[root@svr7 ~]# rpm -qa bind*
bind-9.9.4-29.el7.x86_64    //域名服务包
bind-chroot-9.9.4-29.el7.x86_64    //提供虚拟根支持
• BIND服务器端程序

– 系统服务:named
– 默认端口:TCP/UDP 53

TCP 53  : 主从同步
  UDP 53  : 为客户端解析域名

– 运行时的虚拟根环境:/var/named/chroot/

• 主配置文件:/etc/named.conf    #设置负责解析的域名
 • 地址库文件:/var/named/        #主机名与IP地址对应记录

######################################################
服务端svr7:
1.安装bind、bind-chroot
2.修改主配置文件/etc/named.conf
  options {
      directory     "/var/named";    #指定地址库文件位置
   };
   zone  "tedu.cn"   IN  {         #指定负责解析的域名
      type   master;            #指定为权威主服务器
      file   "tedu.cn.zone";    #指定地址库文件的名称
    };

3.创建相应的地址库文件 /var/named/tedu.cn.zone
 # cd /var/named/
 # cp -p named.localhost  tedu.cn.zone     #保持属性不变  
 # ls -l tedu.cn.zone
 # vim tedu.cn.zone
 # tail -4  tedu.cn.zone
  tedu.cn.          NS        svr7.tedu.cn.  
  svr7            A         192.168.4.7
  www             A       1.1.1.1
  ftp             A       2.2.2.2

4.重起named服务

客户端测试:虚拟机pc207
指定DNS服务器IP地址
[root@pc207 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@pc207 ~]# nslookup www.tedu.cn

##########################################################
 特殊的解析记录
[root@svr7 /]# vim /var/named/tedu.cn.zone

tedu.cn.        NS      svr7.tedu.cn.
 svr7            A       192.168.4.7
 www             A       1.1.1.1
 ftp             A       2.2.2.2
 *               A       100.200.220.230
 $GENERATE  1-60  stu$    A  192.168.10.$
 
   stu1.tedu.cn--------》192.168.10.1
   stu2.tedu.cn--------》192.168.10.2
   stu3.tedu.cn--------》192.168.10.3
     .......
   stu60.tedu.cn-------》192.168.10.60

$GENERATE 造数工具

• 基于DNS的站点负载均衡
     – 一个域名 ---> 多个不同IP地址

[root@svr7 /]# vim /var/named/tedu.cn.zone

tedu.cn.        NS      svr7.tedu.cn.
 svr7            A       192.168.4.7
 www             A       192.168.4.10
 www             A       192.168.4.20
 www             A       192.168.4.30
 ftp             A       2.2.2.2
 *               A       100.200.220.230
 $GENERATE 1-60 stu$  A  192.168.10.$

######################################################

DNS子域授权

父域:www.tedu.cn       父域DNS(svr7)可以解析tedu.cn
      子域:www.bj.tedu.cn    子域DNS(pc207)可以解析bj.tedu.cn

父域DNS(svr7)可以解析tedu.cn
    子域DNS(pc207)可以解析bj.tedu.cn
    父域DNS(svr7)也可以解析bj.tedu.cn
    子域DNS(pc207)也可以解析tedu.cn

虚拟机pc207:
1.安装bind、bind-chroot
2.修改主配置文件/etc/named.conf
  options {
      directory     "/var/named";    #指定地址库文件位置
   };
   zone  "bj.tedu.cn"   IN  {         #指定负责解析的域名
      type   master;               #指定为权威主服务器
      file   "bj.tedu.cn.zone";    #指定地址库文件的名称
    };
3.创建相应的地址库文件 /var/named/bj.tedu.cn.zone
 # cd /var/named/
 # cp -p named.localhost  bj.tedu.cn.zone      #保持属性不变  
 # vim bj.tedu.cn.zone
  bj.tedu.cn.     NS          pc207
  pc207            A          192.168.4.207
  www              A      1.2.3.4

4.重起named服务,测试 nslookup  www.bj.tedu.cn 192.168.4.207

#######################################################
子域授权

父域DNS(svr7)也可以解析bj.tedu.cn
 
 虚拟机svr7:
[root@svr7 /]# vim /var/named/tedu.cn.zone

tedu.cn.         NS      svr7.tedu.cn.
  bj.tedu.cn.      NS      pc207.bj.tedu.cn.
  pc207.bj.tedu.cn. A       192.168.4.207
  svr7              A       192.168.4.7

[root@svr7 /]# systemctl restart named

[root@svr7 /]# nslookup www.bj.tedu.cn 192.168.4.7

递归解析: DNS服务器帮客户端与其他DNS服务器询问解析结果,并且将解析结果得到,给与客户端的过程
   
######################################################
 子域DNS将请求转发给父域的DNS

子域DNS(pc207)也可以解析tedu.cn

虚拟机pc207:

[root@pc207 /]# vim /etc/named.conf

zone "tedu.cn" IN {
     type forward;
     forwarders  { 192.168.4.7; };
 };

[root@pc207 /]#  systemctl restart named

[root@pc207 /]#  nslookup  www.tedu.cn 192.168.4.207

#######################################################
  缓存DNS服务器

缓存DNS
  – 不需要管理任何DNS区域,但是能够替客户机查询,
  而且通过缓存、复用查询结果来加快速度
  – 典型应用:ISP服务商、企业局域网

Service4的更多相关文章

  1. AngularJS之Service4

    AngularJS之Service(四)   前言 前面我们讲了控制器.过滤器以及指令,这一节我们来讲讲重大内容之一服务和其中涉及到的工厂. 话题 AngularJS中服务可以说是和DI紧密联系在一起 ...

  2. Javascript之自定义事件

    Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加.删除事件. 下面通过实例,一步一步构建一个具体的Javasc ...

  3. [WCF编程]7.实例上下文模式

    一.实例上下文模式概述 实例上下文(IntanceContext Mode)表示服务端的服务实例与客户端的服务代理的绑定方式. 在实例化服务器对象时,WCF采用了3种不同的模式:单调(Per-Call ...

  4. iOS动态部署方案

    转载: iOS动态部署方案 前言 这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容.新的业务流程部署进已发布的App.因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这里也没有特别多的 ...

  5. 自己对WSO2 ESB 见解

    这周没想到要更新什么内容,就把我最近工作接触的WSO2 ESB简单介绍下吧.     前提: 一切文档,知识都要与官方文档为准. WSO2 ESB: http://wso2.com/products/ ...

  6. Java多线程之synchronized(五)

    上篇介绍了用synchronized修饰static方式来实现“Class 锁”,今天要介绍另一种实现方式,synchronized(class)代码块,写法不一样但是作用是一样的.下面我附上一段代码 ...

  7. JavaEE程序编码规范

    JavaEE程序编码规范 目   录 JAVA程序编码规范1 1变量的命名规则1 1.1常量(包含静态的)1 1.2类变量(静态变量)及实例变量1 1.3局部变量1 1.4参数2 1.5其它2 2方法 ...

  8. python 接口自动化测试(三)

    1.WriteIni.py import ConfigParser cf = ConfigParser.ConfigParser() cf.add_section("PC_WSDL" ...

  9. 实现CA证书创建及客户端申请证书

    author:JevonWei 版权声明:原创作品 CA证书的相关文件路径 openssl配置文件/etc/pki/tls/openssl.cnf /etc/pki/tls/openssl.cnf C ...

随机推荐

  1. 每天一个Linux命令:rmdir(6)

    rmdir rmdir命令用来删除空目录.当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录.利用rmdir命令可以从一个目录中删除一个或多个空的子目录.删除目录时,必须具 ...

  2. shell脚本编程测试类型下

    一bash的数值测试 -v VAR变量VAR是否设置 数值测试:-gt 是否大于greater-ge 是否大于等于-eq 是否等于-ne 是否不等于  not equal-lt 是否小于-le 是否小 ...

  3. Angular 2 技能图谱skill-map

    # Angular 2 技能图谱 ## 模块 ### 自定义模块 - 根模块 - 特性模块 - 共享模块 - 核心模块 ### 内置模块 - ApplicationModule 模块 - Common ...

  4. STM32例程之USB HID双向数据传输(源码下载)【转】

    程序功能 将STM32的USB枚举为HID设备. STM32使用3个端点,端点0用于枚举用,端点1和2用于数据的发送和接收. 端点长度为64,也就是单次最多可以传输64个字节数据. STM32获取上位 ...

  5. Java学习之面向对象特性-----封装

    面向对象特性一.封装(Encapsulation)封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式.好处: 将变化隔离 便于使用 提高复用性 提高安全性封装原则: 将不需要对外提供的内容都隐 ...

  6. Win10 打开MSDTC

    标签:log   com   http   it   sp   src   c   bs   io 1,Win+R 打开运行窗口,输入 dcomcnfg,打开组件服务窗口 2,在组件服务 catalo ...

  7. MyEclipse增强代码补全

    MyElipse的默认代码提示功能隐藏了许多细节,需要开发者手动设置,一起来设置吧,让你的myeclpse更强大. 方法 1 打开MyEclipse 6.0.1,然后“window”→“Prefere ...

  8. Django框架(二十二)—— Django rest_framework-频率组件

    目录 频率组件 一.作用 二.自定义频率类 三.内置的访问频率控制类 四.全局.局部使用 1.全局使用 2.局部使用 3.局部禁用 五.源码分析 1.as_view -----> view -- ...

  9. PHP中使用raw格式发送POST请求

    如果请求的参数格式是原生(raw)的内容,应该如何为程序构造一个POST请求函数呢? function http_post($url, $data_string) { $ch = curl_init( ...

  10. 爬虫平台设置代理ip

    首先从国外一个网站爬取了免费的代理ip信息存到mongodb中:接着代码设置: 在爬虫客户端抽象类中添加属性: 设置代理的代码其实就以下几句: firefoxProfile.setPreference ...