DNS原理与BIND基础

目录

  • DNS原理与BIND基础

    • 参考
    • DNS原理
      • dns简介
      • dns解析
      • dns结构
      • dns查询
    • BIND基础
      • bind服务简介
      • bind基础概念

DNS原理与BIND基础

Bind Version: 9.11.4

?? Written by Zak Zhu

参考

DNS原理

dns简介

Domain Name System, 即域名系统. 它使用树状层次结构的命名空间, 将域名和IP地址相互映射, 形成一个分布式数据库系统.

dns解析

Fully Qualified Domain Name

## FQDN format:
host.[lld.]sld.tld.root

  # lld: lower-level domain
  # sld: second-level domain
  # tld: top-level domain

解析方式:

  • 正向解析

    FQDN ---> IP

  • 反向解析

    IP ---> FQDN

解析结果:

  • 肯定答案 (Definitive Answer)

    存在查询的域名, 返回的答案会被缓存下来.

  • 否定答案 (Negative Answer)

    不存在查询的域名, 返回的答案会被缓存下来.

  • 权威答案 (Authoritative Answer)

    由权威DNS服务器返回的答案.

  • 非权威答案 (Nonauthoritative Answer)

    由DNS的缓存中查询到的答案.

dns结构

域名解析呈树状的层次结构, 如下图所示:

dns查询

  • 互联网场景

  • 局域网场景




BIND基础

bind服务简介

历史发展

1984年, UC Berkeley的四个学生, Douglas Terry, Mark Painter, David Riggle 和 周松年, 为Berkeley Internet Name Domain (简称BIND) 编写了第一个Unix名称服务器实现.

1985年, Digital Equipment Corporation的Kevin Dunlap大幅修改了BIND.

现在, BIND由Internet Systems Consortium负责维护.


文件组成

程序包:

  • bind

    提供DNS服务程序(named), 语法检查工具(named-checkconf, named-checkzone)和控制工具(rndc).

  • bind-chroot

    将named进程限制在指定的chroot目录中, 增强安全性.

  • bind-utils

    提供DNS查询工具集, 例如dig, host, nslookup等.

  • bind-libs

    被bind和bind-utils共同依赖的库文件.

二进制文件:

  • /usr/sbin/named

示例文件:

  • /user/share/doc/bind*/sample/*

配置文件:

  • /etc/named.conf

    options {
           // 全局选项
    };
    
    logging {
           // 定义日志
    };
    
    zone "ZONE_NAME" IN {
           // 定义区域
    };
    
    ... ...
    ... ...
    
    // 包含文件
    include FILEPATH;

    INCLUDE:

    • /etc/named.rfs1912.zones

      • type forward;
      zone "ZONE_NAME" IN {
            type forward;
            forward {first|only};
            forwarders {SERVER_IPs;};
      };
      • type master;
      zone "ZONE_NAME" IN {
            type master;
            file "ZONE_NAME.zone";
      };
      • type slave;
      zone "ZONE_NAME" IN {
            type slave;
            file "slaves/ZONE_NAME.zone";
            masters {MASTER_IPs;};
      };
    • /etc/named.root.key

解析库文件:

  • 主服务器: /var/named/ZONE_NAME.zone
  • 从服务器: /var/named/slaves/ZONE_NAME.zone

监听端口

  • UDP 53

    用于域名解析

  • TCP 53

    用于主从间区域传送

  • TCP 953

    用于rndc管理bind服务



bind基础概念

bind服务器类型

  • Primary DNS Server
  • Secondary DNS Server
  • Caching only Server

zone与domain

  • domain

    A domain name is an identification string that defines a realm of administrative autonomy, authority, or control on the Internet.

  • zone

    A DNS zone is a distinct part of the domain namespace which is delegated to a legal entity—a person, organization or company, who are responsible for maintaining the DNS zone.

    A Domain Name System (DNS) zone file is a text file that describes a DNS zone. A DNS zone is a subset, often a singledomain, of the hierarchical domain name structure of the DNS. The zone file contains mappings between domain names and IP addresses and other resources, organized in the form of text representations of resource records (RR).


zone资源记录

资源记录类型

Type Description Function
SOA Start of Authority Specifies the primary authoritative name server for the DNS Zone.
NS Name server record Delegates a DNS zone to use the given authoritative name servers.
A Address record Returns a 32-bit IPv4 address,
most commonly used to map hostnames to an IP address of the host.
AAAA IPv6 address record Same as above, but returning a 128-bit IPv6 address.
CNAME Canonical name record Alias of one name to another.
MX Mail exchange record Maps a domain to a list of message transfer agents for that domain.
PTR Pointer record Pointer to a canonical name.
The most common use is for implementing reverse DNS lookups.
... ... ...

资源记录格式

一般格式:

NAME    TTL     RECORD_CLASS  RECORD_TYPE           RECORD_DATA
  • Name is an alphanumeric identifier of the DNS record. It can be left blank, and inherits its value from the previous record.
  • TTL (time to live) specifies how long the record should be kept in the local cache of a DNS resolver. If not specified, the global TTL ($TTL) value at the top of the zone file is used.
  • Record class indicates the namespace—typically IN, which is the Internet namespace.
  • Record type is the DNS record type.
  • Record data has one or more information elements, depending on the record type, separated by a white space.


示例:

  • SOA

    $TTL 86400
    ; ZONE_NAME.              MASTER_NS_FQDN  [email protected]
    zakzhu.com.       IN SOA  ns0.zakzhu.com. hostmaster.zakzhu.com. (
                       2020031700     ; serial
                               1H     ; refresh (1 hours)
                              15M     ; retry (15 mins)
                               7D     ; expire (7 days)
                              20M )   ; minimum (20 mins)

    字段解释:

    • serial

      Serial number of this zone file .

      The recommended syntax is YYYYMMDDnn .
      ( YYYY=year, MM=month, DD=day, nn=revision number )

    • refresh

      How often a secondary will poll the primary server to see if the serial number for the zone has increased (so it knows to request a new copy of the data for the zone).

    • retry

      If a secondary was unable to contact the primary at the last refresh, wait the retry value before trying again.

    • expire

      How long a secondary will still treat its copy of the zone data as valid if it can‘t contact the primary.

      After a zone is expired a secondary will still continue to try to contact the primary, but it will no longer provide nameservice for the zone.

    • minimum

      How long a resolver may cache the negative answer.

    上述字段取值一般遵循以下原则:

    • refresh >= retry * 2
    • refresh + retry < expire
    • expire >= retry * 10
    • expire >= 7 days
  • NS
    zakzhu.com.       IN NS   ns0.zakzhu.com.
    zakzhu.com.       IN NS   ns1.zakzhu.com.
  • A
    ns0.zakzhu.com.       IN A    192.168.199.200
    ns1.zakzhu.com.       IN A    192.168.199.201
    www.zakzhu.com.       IN A    192.168.199.200
    mx1.zakzhu.com.       IN A    192.168.199.200
    mx2.zakzhu.com.       IN A    192.168.199.201
  • CNAME
    web.zakzhu.com.       IN CNAME    www.zakzhu.com.
  • MX
    zakzhu.com.       IN MX   10 mx1.zakzhu.com.
    zakzhu.com.       IN MX   20 mx2.zakzhu.com.
  • PTR
    200.199.168.192.in-addr.arpa. IN PTR  www.zakzhu.com.

原文地址:https://www.cnblogs.com/zakzhu/p/12515090.html

时间: 2024-10-10 02:53:24

DNS原理与BIND基础的相关文章

Linux学习之路-DNS原理-BIND配置详解

DNS原理-BIND配置详解 DNS系统概述 DNS系统作用     a) DNS,简单地说,就是Domain Name System,翻成中文就是"域名系统".主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换.      b) DNS提供正向解析和反向解析          正向解析:根据主机名称(域名)查找对应的IP地址.          反向解析:根据IP地址查找对应的主机域名 DNS系统结构  系统结构原理  目前DNS采用的是分布

DNS&BIND——基础知识

DNS & BIND(1) what-DNS& BIND DNS: Domain Name Service 已于C/S架构的协议 53/udp:  域名解析 53/tcp  :  区域传输 BIND: Bekerley Internet Name Domain BIND对DNS协议的开源实现,包含对域名的查询和响应所需的所有软件 BIND是互联网上最广泛使用的一种DNS服务器 传输方式 1)区域传输 的时候使用TCP协议 : 主DNS服务器: 从自己本机的数据文件中读取该区的DNS数据信息

DNS服务基础及bind基础配置和应用

DNS服务基础及bind基础配置和应用  DNS服务基础011.DNS:Domain   Name  Service,  ( 应用层协议)2.tld:Top Level Domain 顶级域(1)顶级域中的组织域.com  (company).net    网络组织.org非盈利型组织   org:other  organizations.gov  government.edu    教育机构.mil   military军事的,军队,军人...(2)顶级域中的国家域.tw   .hk  .cn

DNS原理介绍和具体搭建DNS

DNS (Domail Name Server,域名服务) 一.DNS概述     DNS 是一种 C/S 架构,实现域名解析.服务端监听在 UDP/53 和 TCP/53 号端口.主要主机名与 IP 地址之间的名称解析. 所谓的名称解析:简单的来说是将一种名称转换为另一种名称.通常是用户名和 IP 地址之间的转换.它们之间是通过解析库来实现的.像 /etc/passwd 文件就是一种用户名和UID之间的一种解析库. 在 Linux 操作系统中,服务端协议的实现是 bind 软件,客户端通过调用

DNS原理及其解析过程 精彩剖析

DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的 IP地址,而不能认识域名.我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是 因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页. 什么是DNS?     DNS( Domain Name  S

&#8203;DNS原理概述及使用

DNS原理概述及使用 =============================== DNS原理 Bind的安装配置及正反向解析 主从复制 子域授权及转发 Acl及view =============================== 一.DNS原理 每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了.这就是DNS协议所要完成的功能.通过主机名,最终得到该主机名对应的IP地

DNS协议与DNS服务器搭建(bind)

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● tcp/ip回顾 ● DNS协议/DNS服务相关概念 ● bind安装配置   正向解析区域   反向解析区域   主从服务器    子域配置    转发配置 ● bind安全设置   acl访问控制列表 ● bind view智能DNS 相关概念回顾: tcp/ip 通信子网--->内核中实现 传输层: 添加源端口与目标端口等信息. 由于发送方与接收方的速率可能不同,这样可能会导

DNS原理及正反向解析

DNS原理 现有的网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如"202.96.134.133"之类的IP地址,而不能认识域名.我们很难记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫"DNS服务器"的计算机自动把我们的域名"翻译"成了相应的IP地址,然后调出IP地址所对应的网页. DNS and BIND 什么是

DNS原理及其解析过程【精彩剖析】

DNS原理及其解析过程[精彩剖析] 2012-03-21 17:23:10 标签:dig wireshark bind nslookup dns 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/319630/812889 DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.