DNS and Bind


windows的host文件


liunx的host文件

DNS相关概念

1、DNS域名称空间:它指定用于组织名称的域的层次结构

2、资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。

3、DNS服务器:它存储和应答资源记录的名称查询

4、DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型。

DNS系统的作用

正向解析:根据主机名称(域名)查找对应的IP地址

反向解析:根据IP地址查找对应的主机域名

DNS系统的分布式数据结构

全球13台根节点服务器

A INTERNIC.NET(美国,弗吉尼亚州) 198.41.0.4

B 美国信息科学研究所(美国,加利弗尼亚州) 128.9.0.107

C PSINet公司(美国,弗吉尼亚州) 192.33.4.12

D 马里兰大学(美国马里兰州) 128.8.10.90

E 美国航空航天管理局(美国加利弗尼亚州) 192.203.230.10

F 因特网软件联盟(美国加利弗尼亚州) 192.5.5.241

G 美国国防部网络信息中心(美国弗吉尼亚州) 192.112.36.4

H 美国陆军研究所(美国马里兰州) 128.63.2.53

I Autonomica公司(瑞典,斯德哥尔摩) 192.36.148.17

J VeriSign公司(美国,弗吉尼亚州) 192.58.128.30

K RIPE NCC(英国,伦敦) 193.0.14.129

L IANA(美国,弗吉尼亚州) 198.32.64.12

M WIDE Project(日本,东京) 202.12.27.33

DNS查询方式:

递归查询

大多数客户机向DNS服务器解析域名的方式

迭代查询

大多数DNS服务器向其他DNS服务器解析域名的方式


优先级取决于模块文件

域名解析服务器

DNS服务器类型

主域名服务器(权威)

特定DNS区域的官方服务器,具有唯一性

负责维护该区域内所有域名->IP地址的映射记录

对区域的所有更新都通过此服务器进行;

从域名服务器

也称为 辅助域名服务器

其维护的 域名->IP地址记录 来源于主域名服务器

只从同一个区域的主服务器或其它从服务器同步区域数据文件;

缓存域名服务器(非权威)

也称为 唯高速缓存服务器

通过向其他域名服务器查询获得域名->IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

主从协调过程

DNS服务器的主从如何协调?

区域数据文件有版本号(序列号): serial

刷新时间(检查周期):refresh

重试时间(重试周期): retry

过期时间(失效时长): expire

否定应答的TTL值;

协调过程:

从服务器在间隔达到refresh指定的时长后发起同步请求至主服务器;主服务器响应serial,从服务器与本地的serial进行比较;如果主服务器serial大于本地,意味主服务器区域数据文件更新了,因此请求同步;

区域解析数据库

资源记录:resource record(rr)

 资源记录类型:resource record type

SOA: Start Of Authority,起始授权记录;一个区域文件有且只能一个SOA记录;SOA还必须是第一条资源记录;

NS:Name Server,名称服务器

MX:Mail eXchanger,邮件交换器

A: Address,FQDN-->IPv4

AAAA: Address, FQDN-->IPv6

PTR: Pointer,指针,IP-->FQDN

CNAME: Cononical NAME,正式名称

资源记录的定义格式

语法:name[ttl] IN rr_type  value

例如:magedu.com. 60 IN   SOA   magedu.com.  dns.magedu.com. (

2014120901  ;serial number

1H

5M

7D

1D )

NS配置语法

NS: 一个区域数据文件可以有多个NS记录;

name: 区域名称,可使用@替换;

value:dns服务的FQDN;

例如:

magedu.com.  IN  NS  dns1.magedu.com.

IN  NS dns2.magedu.com.

注意:

1、相邻的资源记录name相同时,后面的可省略;

2、任何一个value中指定的FQDN,在其域的正向解析文件中应该有A记录;

MX记录

MX:一个区域数据文件可以有多个MX记录;

name: 区域名称,可使用@表示;

value: 邮件服务器的FQDN

value之前需要一个数字表示其优先级(0-99, 数字越小优先级越高)

例如:

@IN MX  10   mx1.magedu.com.

IN   MX  20   mx2.magedu.com.

A记录解析

A, AAAA: 应用于正向区域文件

name: FQDN

value: IP

例如:

www.magedu.com. IN  A 1.1.1.1

www.magedu.com.  IN   A       2.2.2.2

mx1.magedu.com.  IN  A  1.1.1.1

pop3.magedu.com.   IN A 1.1.1.1

PTR反向解析

PTR: 应用于反向区域文件

name: IP地址的逆向格式,并附加in-addr.arpa.后缀

value: FQDN

例如:

6.100.16.172.in-addr.arpa. IN  PTR www.magedu.com.

CNAME: 

name: 别名FQDN

value: 正名FQDN

例如:

web.magedu.com. IN CNAME www.magedu.com.

BIND(Berkeley Internet Name Daemon)

伯克利Internet域名服务

官方站点:https://www.isc.org/

相关软件包

bind-9.8.2-0.30.rc1.el6

bind-utils-9.8.2-0.30.rc1.el6.x86_64

bind-chroot-9.3.3-7.el6

BIND服务器端程序

主要执行程序:/usr/sbin/named

服务脚本:/etc/init.d/named

默认监听端口:53

主配置文件:/etc/named.conf

保存DNS解析记录的数据文件位于:/var/named/


全局配置部分

设置DNS服务器的全局参数

包括监听地址/端口、数据文件的默认位置等

使用 options { …… }; 的配置段

例如:

options {

listen-on port 53 { 172.16.16.1; };

directory   "/var/named";

allow-query  { 192.168.1.0/24; 173.16.16.0/24; };

recursion yes;

};

主配置文件/etc/named.conf

    区域配置部分

倒序网络地址.in-addr.arpa 的形式表示反向区域

zone "magedu.com" IN {

type master;

file ”magedu.com.zone";

allow-transfer  { 173.16.16.2; };设置允许下载该区域解析记录到从域名服务地址

allow-update    { none; };       是否允许动态更新哪些客户机地址,none表示全部禁止

};

zone "16.16.173.in-addr.arpa" IN {   表示针对173.16.16.0/24网段的反向解析区域

type master;

file "173.16.16.arpa";

};

注意:

典型正向区域、反向区域的zone配置段,其中type、file是必须有的,allow-transfer、allow-update等是可选配置

区域设置中的部分配置内容(如allow-transfer、allow-update等)也可以放在全局配置里

反向区域的表示方法,“倒序网络地址.in-addr.arpa

全局TTL配置项及SOA记录

$TTL(Time To Live,生存时间)记录

SOA(Start Of Authority,授权信息开始)记录

分号“;”开始的部分表示注释信息

例如:

$TTL    86400                     ; 有效地址解析记录的默认缓存时间

@  IN  SOA  magedu.com.  admin.magedu.com.  (

2009021901    ;更新序列号

3H    ;刷新时间

15M    ;重试延时

1W    ;失效时间

1D   ;无效地址解析记录的默认缓存时间

)

域名解析记录

NS域名服务器(Name Server)记录

MX邮件交换(Mail Exchange)记录

A地址(Address)记录,只用在正向解析的区域数据文件中

CNAME别名(Canonical Name)记录

例如:

@IN    NS      ns1.magedu.com.

IN    MX  10  mail.magedu.com.

ns1IN    A     173.16.16.1

mail    IN    A     173.16.:16.1

www    IN    A     173.16.16.1

ftp     IN    CNAME     www

注意:  

地址解析记录的配置格式,主要是较常用的NS、MX、A、CNAME记录等

其中NS记录以及NS记录对应服务器主机的A记录通常必需有的,A记录作为正向地址解析记录,是DNS服务器区域数据文件中数量最多的配置行

MX记录用于指定该区域内邮件地址,如果没有邮件服务器,可以省略MX配置记录行

CNAME用于为同一个域名设置不同的名称,其对应的IP地址是相同的

NS、MX记录行首的“@”符号可以省略(默认继承SOA记录行首的@信息),但是必须保留一个空格或者制表位

域名解析记录

PTR指针(Point)记录,只用在反向解析的区域数据文件中

配置反向解析记录时,只需要指定IP地址中的主机地址部分即可,网络地址部分不用写

1 IN PTR www.magedu.com.

4 IN PTR study.magedu.com.

注意:

配置反向地址解析记录时的注意事项,设置对应的FQDN地址时注意最后要加“.”号,例如“www.magedu.com.”

修改文件权限

基于域名解析的负载均衡

同一域名对应到多个IP地址

movie IN A 173.16.16.11

movie IN A 173.16.16.12

movie IN A 173.16.16.13

泛域名解析:找不到精确对应的A记录时,使用“*”进行匹配

* IN A 173.16.16.173

子域授权:将DNS子区域内主机地址的解析记录,授权给子域的域名服务器进行维护和解析

cn IN A1 73.16.16.2

IN NS ns.jv.net.cn.

ns.jv.net.cn. IN A 173.16.16.2

注意:

DNS轮询负载均衡对于访问量较大的网络服务非常有用,通常这些服务会由多个不同IP地址的服务器共同承担(服务内容互为镜像)

泛域名解析相当于特定DNS域内的默认解析记录,通常对应到该域的主站点的IP地址,这样即使用户将FQDN中的主机名部分写错了,仍然可以找到该域的主站点

子域授权可以减轻DNS服务器的负担,将一部分解析工作交给其他的服务器来处理

对配置文件进行语法检查

named-checkconf工具

格式:named-checkconf [主配置文件]

[root@localhost ~]# cd  /var/named/chroot/etc/

[root@localhost etc]# named-checkconf named.conf

named-checkzone工具

格式:named-checkzone <域名> <区域数据文件>

[root@localhost ~]# cd /var/named/chroot/var/named/

[root@localhost named]# named-checkzone magedu.com magedu.com.zone

zone magedu.com/IN: loaded serial 2009

OK

构建主从域名服务器

构建主域名服务器

基本配置步骤:

1.在named.conf配置文件中添加“magedu.com”主区域

2.建立“magedu.com”区域的数据文件

3.启动或者重新加载named服务程序

4.验证主域名服务器

1.在named.conf主配置文件中添加“magedu.com”区域

[root@ns1 ~]# vi /var/named/chroot/etc/named.conf

……

zone "magedu.com" IN {

type master;

file "magedu.com.zone";

allow-transfer { 173.16.16.6; };

};

zone "16.16.173.in-addr.arpa" IN {

type master;

file "173.16.16.arpa";

allow-transfer { 173.16.16.6; };

};

 2.建立“magedu.com”区域的数据文件

正向区域文件 magedu.com.zone

[root@ns1 ~]# vi /var/named/chroot/var/named/magedu.com.zone

……

@     IN      NS      ns1.magedu.com.

IN      NS      ns2.magedu.com.

IN      MX  10  mail.magedu.com.

ns1     IN      A       173.16.16.5

ns2     IN      A       173.16.16.6

mail     IN      A       173.16.16.1

www     IN      A       173.16.16.1

study   IN      A       173.16.16.2

*       IN      A       173.16.16.1

反向区域文件

[root@ns1 ~]# vi /var/named/chroot/var/named/173.16.16.arpa

……

@ IN      NS      ns1.magedu.com.

IN      NS      ns2.magedu.com.

1       IN      PTR     www.magedu.com.

2       IN      PTR     study.magedu.com.

5       IN      PTR     ns1.magedu.com.

6       IN      PTR     ns2.magedu.com.

    验证主dns

构建从域名服务器

    创建

[root@ns2 ~]# vi /var/named/chroot/etc/named.conf

……

zone "magedu.com" IN {

type slave;

masters { 173.16.16.5; };

file "slaves/magedu.com.zone";

};

zone "16.16.173.in-addr.arpa" IN {

type slave;

masters { 173.16.16.5; };

file "slaves/173.16.16.arpa";

};

注意:

如果在从域名服务器中启动named服务失败,则很可能是因为权限问题,例如主服务器没有设置正确的“allow-transfer”配置项、或者从服务器的named程序对slave目录没有写入权限等

在配置从域名服务器的过程中,不需要手动建立相应的区域数据文件,named程序会自动从主服务器中下载建立

增量复制

区域更新第2种

构建分离解析的域名服务器

基本配置步骤:

1.在named.conf主配置文件中为不同的客户机地址启用不同的zone区域设置,各自使用独立的数据文件

2.分别建立不同的区域数据文件

3.启动或重新加载named服务程序

4.验证分离解析的域名服务器

1.在named.conf主配置文件中为不同的客户机地址启用不同的zone区域设置,各自使用独立的数据文件

view “视图1” {

match-clients { 客户机地址1; }

zone “magedu.com” IN {

……

};

};

view “视图2” {

match-clients { 客户机地址2; }

zone “magedu.com” IN {

……

};

};

view "LAN" {

match-clients { 192.168.1.0/24; };

zone "magedu.com" IN {

type master;

file "magedu.com.zone.lan";

};

};

view "WAN" {

match-clients { any; };

zone "magedu.com" IN {

type master;

file "magedu.com.zone.wan";

};

};

注意:    

为不同的客户机地址分别设立view视图

在每个view视图区域中,使用 match-clients配置项指定相匹配的IP地址或网络地址范围

匹配客户机地址时,“any”表示匹配任意地址

    2.分别建立不同的区域数据文件

[root@ns1 ~]# vi /var/named/chroot/var/named/magedu.com.zone.lan

……

ns1        IN      A       192.168.1.1

www     IN      A       192.168.1.5

mail       IN      A       192.168.1.6

[root@ns1 ~]# vi /var/named/chroot/var/named/magedu.com.zone.wan

……

ns1        IN      A       173.16.16.1

www     IN      A       173.16.16.1

mail       IN      A       173.16.16.1

注意:

根据named.conf配置文件中的view视图设置,为不同的客户机分别建立区域数据文件

将同一主机名(如www.magedu.com)的解析结果,在不同的数据文件中对应到不同的IP地址

3.启动或重新加载named服务程序

service named reload

4.验证分离解析的域名服务器

使用192.168.1.0/24网段的客户机解析 www.magedu.com,结果应为 192.168.1.5

使用其他IP地址的客户机解析 www.magedu.com,结果应为 173.16.16.1

转载于:https://blog.51cto.com/youenstudy/1700527

DNS and BIND相关推荐

  1. 《DNS与BIND(第5版)》——4.10 下一步是什么

    本节书摘来自异步社区<DNS与BIND(第5版)>一书中的第4章,第4.10节,作者: [美]Joseph Davies 更多章节内容可以访问云栖社区"异步社区"公众号 ...

  2. 《DNS与BIND(第5版)》——7.6 保持一切平稳运行

    本节书摘来自异步社区<DNS与BIND(第5版)>一书中的第7章,第7.6节,作者: [美]Joseph Davies 更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  3. DNS浅析-Bind软件的使用及搭建一个简单的DNS缓存服务器

    引入DNS软件: Bind:Berkey Information Name Domain 对数据库的支持不太好,不支持多线程 PowerDNS 性能强大 速  度块 Bind软件的配置使用 yum l ...

  4. DNS and Bind (一)

    DNS and Bind ======================================================================== 概述: DNS(Domain ...

  5. 在Linux下安装bind服务,在Linux系统下安装DNS服务器BIND

    BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件.它是互联网上最广泛使用的一种DNS服务器,下面讲解在linux系统下如何安装DNS服 ...

  6. 《DNS与BIND(第5版)》——10.4 增量区域传输(IXFR)

    本节书摘来自异步社区<DNS与BIND(第5版)>一书中的第10章,第10.4节,作者: [美]Joseph Davies 更多章节内容可以访问云栖社区"异步社区"公众 ...

  7. [喵咪开源软件推荐(5)]开源DNS服务-bind

    [喵咪开源软件推荐(5)]开源DNS服务-bind 哈喽大家好呀!~~ 今天又为大家带来了一个有趣的东西就是DNS服务器,稍微了解网络的童鞋都知道我们在使用域名访问一个网站的时候是通过公共DNS服务器 ...

  8. 总结之:CentOS6.5 DNS服务BIND配置、正反向解析、主从及压力测试(3)

    DNS服务器的主从复制关系 首先我们要有两台NDS服务器.我这里就启动了两台虚拟机了.要想为域内的DNS服务器必须要在上级获得授权的前提下.添加从服务器的关键的一步:那就是在你主服务器的区域文件中为从 ...

  9. redhat配置dns服务器bind

    配置Oracle11g的RAC需要使用DNS服务器来解析SCAN IP,本文就是以此为例介绍bind服务器的使用.首先科普一下bind服务器,属于企业级产品了,还是开源的: Bind是Berkeley ...

最新文章

  1. Nature Microbiology:火眼金睛,肠道菌群绝对定量分析擒“真凶”!
  2. android如何在底部显示四个按钮,[Android系列—] 四. 添加操作栏(Action Bar)
  3. Failed to resolve:com.android.support:appcompat-v7
  4. 冲突问题和核心对象和原生js 和 jquer的区别的两个区别(固定格式的区别和入口函数的区别)
  5. 哪些影响大数据分析发展
  6. 【网络流24题】魔术球
  7. Cain嗅探工具的DNS欺骗
  8. vp9 prob 详细分析
  9. 一文讲清楚机械硬盘和固态硬盘的工作原理
  10. Python 用sympy做高数题,不定积分、定积分、极限、求导样样精通!
  11. linux打开pkg文件怎么打开,archlinux32无法打开文件 ×××.pkg.tar.zst 无法安装新包,如何解决?...
  12. js中的getDate() getMonth() getFullYear()方法;js如何获取当前日期/年月日
  13. NC18979 毒瘤xor
  14. 三本郑大计算机考研,三本跨专业考研985,初试排名第一,结果竟被导师拒绝!寒心呀!...
  15. oracle remap语句格式,impdp 中的remap方式
  16. 反走崛起之路1:创新之西部——西雅图
  17. android bp文件_Android.bp学习笔记
  18. java中的直接内存
  19. 算出指定日期在当年的第几周
  20. 计算机网络原理-数据链路层

热门文章

  1. 人工智能70年:科幻和现实的交融
  2. 5G手机“狂奔而来”,业内预计明年二季度全面上市
  3. CB Insights发布AI创业公司100榜单 ,7家中国公司上榜,两家二次登榜
  4. Facebook最新对抗学习研究:无需「平行语料库」完成「无监督」机器翻译
  5. 3 行 Python 代码实现假聊天机器人(慎入:这是假机器人!!!)
  6. 漫画:为什么程序员喜欢使用 0 ≤ i 10 左闭右开形式写 for 循环?
  7. Connector for Python
  8. git commit之后,想撤销commit
  9. 【Android游戏开发二十七】讲解游戏开发与项目下的hdpi 、mdpi与ldpi资源文件夹以及游戏高清版本的设置...
  10. js获取浏览器的参数