DNS服务

由于网络是基于IP来进行信息传递,但是IP,又不太容易记住,为了容易记忆,所以研发地址解析,方便人们记忆

1 DNS and BIND

DNS: Domain Name Service (域名解析服务) 应用层协议
是基于C/S,监听端口 53/udp,53/tcp
BIND: Berkerley Internat Name Domain 研发
网址是 www.isc.org
本地名称解析配置文件: hosts
linux: /etc/hosts
windows: %WINDIR%/system32/drivers/etc/hosts

2 DNS 域名的结构

几个基本概念
域: 是逻辑概念,指管理一个范围
DNS服务器: 负责具体的域,管理本域的域名解析服务
  根服务器: 全球一共13个,一个主根服务器和9个辅助服务器都在美国,2个在欧洲,1个在日本
DNS服务器可分为主从服务器 缓存服务器 转发服务器 主服务器
  主DNS服务器: 维护所负责的解析的域内解析库服务器,解析库由管理员维护
  从DNS服务器: 从主服务器或其他从DNS服务器复制(区域传递)一份解析库
    序列号  解析库版本号 前提 主服务器解析库发生变化,及序列号递增
    刷新时间 从服务器从主服务器请求同步解析库的时间间隔
    重试时长 从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔
    过期时长 在指定的时间内不能从主服务器同步数据,从服务器也会down掉
    "通知" 机制 notify 主服务器修改通知从服务器更改信息
  区域传送可分为两种:
    全量传送 axfr
    增量传送 ixfr

3 DNS 查询类型及解析

  • DNS的资源类型
查询方式
  递归查询: 查询请求者一次就可以得到结果
  迭代查询: 查询请求这要多次才能得到答案
查找顺序
  client --> hosts文件 --> DNS service --> local cache(本地缓存) --> DNS Server(recursion)递归 --> Server cache --> iteration(迭代)
解析得到的答案
  肯定答案: 请求得到结果,进行返回
  否定答案: 请求的条目不存在等原因返回结果
  权威答案: 由自己管理的域名,及自己的解析库中,有这条记录
  非权威答案: 由缓存得之,非自己管理的域名解析,本地解析库没有这条记录
资源记录类型 resource record
  SOA start of authority 起始授权记录
  定义一个区域解析库有且仅能有一个SOA记录,而且必须为第一条记录
  SOA 定义域 
  NS 域内负责解析的主机 name server 标识当前区域的DNS服务器
  A ipv4 Internet address  作用 FQDN-->IPv4
  AAAA ipv6  作用 FQDN-->IPv4
  PTR 反向解析 pointer 作用 IP-->FQDN 
  CNAME 别名 canonical name 
  MX 邮件 Mail eXchanger 邮件交换器
资源类型的定义格式
  语法: name [TTL] IN rr_type value
注意
  1 TTL 可以全局继承
  2 @可用于引用当前区域的名字
  3 同一个名字可以通过多条记录定义多个不同的值,此时,将以轮询的方式来进行响应
  4 同一个值也可以有多个不同的定义名字,通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同的名字可以找到同一个主机
SOA 记录
 name:当前区域的名字 如 "johniu.com"
 value: 
  1 当前区域的主dns服务器FQDN 也可以是当前区域的名字
  2 当前区域管理员的邮箱地址,但地址中不能使用@符号 一般用.代替 例如 linuxedu.magedu.com.
  3 (主从服务协调器属性的定义以及否定的答案的统一的TTl)
 例如
 @  86400 IN SOA ns.johniu.top.     admin   (
                                 2017070901 ;序列号
                                 2H         ;刷新时间,从服务器到主服务器
                                 10M        ;重试时间,从服务器到主服务器
                                 1W         ;过期时间,从服务器
                                 1D         ;否定答案的TTL值
                                 )
NS
 name 当前区域的名字
 value 当前区域的某个DNS 服务器的名字 例如 ns.johniu.top.;
 注意 一个区域可以有多个NS 记录
 例如
                        NS  ns1.johniu.com.
                        NS  ns2.johniu.com.
 注意
  1 相等的两个资源记录的name相同时,后续的可以省略
  2 对NS记录而言,任何一个ns记录后面的服务器名称,都应该在后续有一个A 记录
MX
 name 当前区域的名字
 value 当前区域某个邮件服务器(smtp服务器)的主机名
 一个区域内可以有多个,但每一个value都有一个数字(0-100),标识服务器的优先级,数字越小优先级越高
例如
        MX 100  mx1.johniu.top.
        MX 10   mx2.johniu.top.
A
 name 某个主机的FQDN 例如 www.johniu.top.
 value 主机名对应的IP地址
 例如
 www        IN     A     IP
 www    IN     A     IP2
 mx1    IN     A     IP3
 mx2    IN     A     IP4
 泛域名解析
 *      IN     A     IP
 按照一定序列进行解析
 $GENERATE  1-100 server$   A 192.168.25.$   
 避免用户写错名称时,给错名字,可以通过泛域名解析进行解析至某指 定的地址
PTR 反向解析
 name: IP 有特定格式,把IP地址反过来写
 value: FQDN
 例如
 4.3.2.1.in-addr.arpa.          IN      PTR    www.johniu.com.
 可简写
 4                      IN  PTR    www.johniu.com.
 注意,网络地址及后缀可以省略,主机地址依然需要完整写
CNAME
 name 别名的FQDN
 value 正工名字的FQDN
 例如,
 web                    IN     CNAME    www
  • DNS 配置文件
服务配置文件主配置文件 /etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key
  在 /etc/named.conf 的option{}中定义一些服务器属性
  如果要搭建服务需要定义区域
   zone "ZONE_NAME" IN {
      type {master|slave|hint|forward(局部转发域)};
      file "ZONE_NAME.zone";
    }
解析库文件 /var/named
  • 主服务器搭建
1 首先在/etc/named.rfc1912.zones 添加域名解析
  zone {
    type master;
    file "johniu.com.zone";
  };
2 添加区域解析库
 新建编辑 /var/named/johniu.com.zone 注意权限,named用户有读的权限
 $TTL 1D
 @       IN SOA  ns1 admin (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
         NS      ns1
         MX  10  mail
 ns1     A       172.18.23.40
 web     NS      172.18.23.40
 *       A       172.18.23.40
 $GENERATE  1-100 server$   A 192.168.1.$
 @       A       172.18.23.40
 www     CNAME   web
 mail   A       172.18.23.40

然后,就可以启动服务进行测试
测试工具

dig [-t type] name [@server] +option
如 dig -t NS johniu.com @localhost 
     dig -t A www.johniu.com @localhost
  • 主从服务器搭建
1 首先,另找一台主机,将其搭建为从服务器,安装并配置好服务
 在options中定义可以供外部查询,及禁止区域传送
 allow-transfer {none;};
 在/etc/named.rfc1912.zones定义主服务器的
 zone "johniu.com" IN {
   type slave;
   masters { master_ip; };
   file "slaves/zone_name.zone";
 }
2 在主服务器上,定义可以传送的主机options选项中定义
allow-transfer {从服务器 IP;};
3 开启服务进行测试
  • 搭建转发服务器
转发分为全局转发和区域转发
全局转发: 但客户端来进行DNS查询的时候,全部转发到定义的服务器上
 options {
  forward {first|only}; #first 先转发,如果转发到的服务器也不能查到结果,就自己出去查询,only表示只做转发,自己不查询
  forwarders {IP1;IP2;};
 }
区域转发: 仅转发对特定区域的请求之指定服务器
  zone "ZONE_NAME" IN {
    type forward;
    forward {only|first};
    forwarders {IP1;IP2;}; 
  };

4 BIND 中基础的安全相关的配置

acl 把一个或多个地址归并为一个集合,并通过一个统一的名称调用
  acl acl_name {
    ip;
    ip;
   net/netmask;
  };
  如:
  acl mynet {
    172.18.0.0/16;
  }
bind中四个内置的acl
  none 没有任何主机
  any 任意主机
  local 本机
  localnet 本机的IP同子网掩码运算后得到的网络地址
注意,acl需要先定义,后使用,他一般定义在配置文件中的options之前
访问控制的指令
  allow-query {}; 允许查询的主机,或为网络主机
  allow-transfer {};允许进行传送的主机
  allow-recursion {}; 允许递归的主机
  allow-update {}; 允许更新区域数据库中的内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...
    哈喽别样阅读 1,781评论 0 2
  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,475评论 3 34
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,859评论 0 7
  • 什么是DNS及功能: DNS(Domain name server),是将IP地址转换为域名地址。当在互联网访问外...
    魏镇坪阅读 7,624评论 0 8
  • 简介 DNS服务器牵扯到家庭,企业,公司,国家等等领域,只要是互联网不必须就要用到他 DNS(Domain Nam...
    数据革命阅读 906评论 0 1