DNS域名解析服务(bind)
Posted JiangHua·Zhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS域名解析服务(bind)相关的知识,希望对你有一定的参考价值。
DNS(Domain Name System,域名系统):
用于管理和解析域名与IP地址对应关系的技术。 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。
- DNS共分为下面三种类型的服务器:
主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系。 从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况。 缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效
- DNS域名解析服务采用分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式
递归查询:DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。 迭代查询:DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。
BIND(Berkeley Internet Name Domain):
现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写 DNS服务的名称称之为BIND BIND服务的名称称之为named DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)
- DNS域名解析过程,例如在访问网站:www.xxx.com 时,其大致查询流程如下图:
- 最高级、最权威的根DNS服务器总共有13台,分布在世界各地,其中美国占了10台
名称 管理单位 地理位置 IP地址 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 美国-弗吉尼亚州 199.7.83.42 M WIDE Project 日本-东京 202.12.27.33
安装BIND:
- 安装:
[root@zhangjh ~]# yum -y install bind-chroot
- BIND服务程序中的三个重要文件:
主配置文件(/etc/named.conf):用来定义bind服务程序的运行。 区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址对应关系的所在位置。 数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件。
- 修改主配置文件(/etc/named.conf)
把 listen-on port 53 处 和 allow-query处 均修改为any;
listen-on port 53: 表示服务器上的所有IP地址均可提供DNS域名解析服务;
allow-query:允许所有人对本服务器发送DNS查询请求。
options { listen-on port 53 { any; }; #默认是127.0.0.1 listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; #默认是localhost
- /etc/named.rfc1912.zones 定义了域名与IP地址解析规则保存的文件位置以及服务类型
- 服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。
正向解析:将域名解析为IP地址 反向解析:将IP地址解析为域名
- 正向解析参数解释:
zone "localhost.localdomain" IN { type master; #服务类型 file "named.localhost"; #域名与IP地址解析规则保存文件的位置 allow-update { none; }; #允许哪些客户端动态更新解析信息 };
- 反向解析参数解释:
zone "1.0.0.127.in-addr.arpa" IN { #表示为127.0.0.1的反向解析区域 type master; file "named.loopback"; allow-update { none; }; };
正向解析实验:
- 编辑区域配置文件。
[root@zhangjh ~]# vim /etc/named.rfc1912.zones zone "jianghua.com" IN { type master; #服务类型 file "jianghua.com.zone"; #域名和IP地址解析规则文保存的位置 allow-update { none; }; #允许哪些客户端动态更新解析信息 };
2. 编辑数据配置文件。【可以从/var/named目录中复制一份正向解析的模板文件(named.localhost)】
[root@zhangjh named]# pwd /var/named #这里需要注意,不是/etc/named目录,而是/var/named [root@zhangjh named]# vim jianghua.com.zone $TTL 1D #生存周期为一天 @ IN SOA jianghua.com. root.jianghua.com. ( #授权信息开始: #DNS区域的地址 #域名管理员的邮箱(不要用@符号) 0 ; serial #更新序列号 1D ; refresh #更新时间 1H ; retry #重试延时 1W ; expire #失效时间 3H ) ; minimum #无效解析记录的缓存时间 NS ns.jianghua.com. #域名服务器记录 ns IN A 192.168.38.251 #NAMESERVER地址记录 www IN A 192.168.38.251 #地址记录(可以存在多个:www.jianghua.com. bbs.jianghua.com.) bbs IN A 192.168.38.151
3. 重启named服务,nslookup命令检验解析结果,注意先把网卡的DNS地址参数设置为本机IP地址。
[root@zhangjh ~]# systemctl restart named [root@zhangjh ~]# nslookup > www.jianghua.com Server: 192.168.38.251 Address: 192.168.38.251#53 Name: www.jianghua.com Address: 192.168.38.251 > bbs.jianghua.com Server: 192.168.38.251 Address: 192.168.38.251#53 Name: bbs.jianghua.com Address: 192.168.38.151
反向解析实验:
在DNS域名解析服务中,反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。它也可以针对某个IP地址进行反向解析,大致判断出有多少个网站运行在上面。
- 编辑区域配置文件。
[root@zhangjh ~]# vim /etc/named.rfc1912.zones zone "jianghua.com" IN { #正向解析 type master; file "jianghua.com.zone"; allow-update { none; }; }; zone "38.168.192.in-addr.arpa" IN { #反向解析 type master; file "192.168.38.arpa"; };
2.编辑数据配置文件。【可以从/var/named目录中复制一份反向解析的模板文件(named.loopback)】
[root@zhangjh ~]# vim /var/named/192.168.38.arpa $TTL 1D @ IN SOA jianghua.com. root.jianghua.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.jianghua.com. ns A 192.168.38.251 251 PTR www.jianghua.com. #注意此处写的是主机位!! 251 PTR bbs.jianghua.com.
3.检验解析结果
[root@zhangjh ~]# systemctl restart named [root@zhangjh ~]# nslookup > 192.168.38.251 Server: 192.168.38.251 Address: 192.168.38.251#53 251.38.168.192.in-addr.arpa name = bbs.jianghua.com. 251.38.168.192.in-addr.arpa name = www.jianghua.com.
以上是关于DNS域名解析服务(bind)的主要内容,如果未能解决你的问题,请参考以下文章