BIND is open source software that enables you to publish your Domain Name System (DNS) information on the Internet, and to resolve DNS queries for your users. The name BIND stands for “Berkeley Internet Name Domain”, because the software originated in the early 1980s at the University of California at Berkeley.
BIND is by far the most widely used DNS software on the Internet, providing a robust and stable platform on top of which organizations can build distributed computing systems with the knowledge that those systems are fully compliant with published DNS standards.
同时带有主机名和域名的名称。(通过符号“.”)
www.abc.com(FQDN,主机名)
全限定域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。
从全限定域名中包含的信息可以看出主机在域名树中的位置。
DNS解析流程:
(1) 首先查找本机HOSTS表,有的直接使用表中定义
(2) 如果Hosts文件里没有,就查找本机配置中指定的DNS 服务器,由DNS服务器来解析IP地址。
hosts:早期的时候主机加入互联网较少,所以用文件来记载所有的域名解析。每台互联网主机上都维护一个hosts文件,来记录互联网的这些域名的ip地址,形式如下:
IPADDR FQDN Alias
172.16.0.1 www.abc.com www
随着互联网的扩大,需要有一个组织统一去管理这些域名和IP地址的对应关系,这个组织叫IANA。
IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)是负责协调一些使Internet正常运作的机构。
IANA的所有任务可以大致分为三个类型:
一、域名。IANA管理DNS域名根和.int,.arpa域名以及IDN(国际化域名)资源。
二、数字资源。IANA协调全球IP和AS(自治系统)号并将它们提供给各区域Internet注册机构。
三、协议分配。IANA与各标准化组织一同管理协议编号系统。
IANA是全球最早的Internet机构之一,其历史可以追溯到1970年。
今天,IANA被负责协调IANA责任范围的非营利机构ICANN(Internet Corporation for Assigned Names and Numbers,互联网名称与数字地址分配机构)掌管。
DNS发展历程:
1)周期性任务,更新自己的hosts文件。每个互联网主机都维护自己的hosts文件,IANA维护着互联网所有的域名,这些主机通过创建周期任务的方式去IANA的服务器上下载文件来更新自己的hosts。
2)IANA创建了服务器,用服务器来响应客户端的请求。但随着互联网的壮大,访问量越来越大,导致IANA的服务器不堪重负。
3)IANA分布式数据库。将管理权限分片,把大区域划分为小区域,逐级授权。
比如China, Shanghai, Xuhui, West Zhongshan Road, 2240号, netcraft
域名的分类:
顶级域(TLD):Top Level Domain
组织域:.com .org .net .cc
国家域:.cn .iq .jp .uk
反向域:IP-->FQDN
DNS的查询方式:
递归:一次查询得到结果
A <- -> B (B问C结果) <- -> C
A -> B -> C -> B -> A
迭代:多次查询得到结果
A -> B---告诉A,C知道结果---B -> A
A -> C -> A
DNS查询原理:
根服务器. 不给任何人递归
互联网上的dns查询是两段式的:
1)对于客户端来说,查询是递归的;
2)对于ns缓存服务器来说,查询过程是迭代的。
中国防火墙之父:北邮教授,方滨兴
2011年5月19日,在武大讲课时被学生扔鞋。
网易新闻:2013年3月民主×××宣布对全球最受欢迎的社交网站Facebook解禁,目前全球仅剩4个国家仍然对Facebook实施封锁,他们分别是朝鲜、古巴、伊朗,和“其他国家”。
现在世界上有13台DNS服务器:
a.root-server.net
......
m.root-server.net
使用dig命令查询根服务器结果:
-userdeMacBook-Air:~ user$ dig
; <<>> DiG 9.9.7-P3 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16139
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 97216 IN NS k.root-servers.net.
. 97216 IN NS e.root-servers.net.
. 97216 IN NS a.root-servers.net.
. 97216 IN NS f.root-servers.net.
. 97216 IN NS m.root-servers.net.
. 97216 IN NS l.root-servers.net.
. 97216 IN NS c.root-servers.net.
. 97216 IN NS h.root-servers.net.
. 97216 IN NS b.root-servers.net.
. 97216 IN NS i.root-servers.net.
. 97216 IN NS g.root-servers.net.
. 97216 IN NS j.root-servers.net.
. 97216 IN NS d.root-servers.net.
;; ADDITIONAL SECTION:
i.root-servers.net. 361857 IN A 192.36.148.17
i.root-servers.net. 361857 IN AAAA 2001:7fe::53
d.root-servers.net. 361857 IN A 199.7.91.13
d.root-servers.net. 361857 IN AAAA 2001:500:2d::d
e.root-servers.net. 361857 IN A 192.203.230.10
e.root-servers.net. 361857 IN AAAA 2001:500:a8::e
c.root-servers.net. 361857 IN A 192.33.4.12
c.root-servers.net. 361857 IN AAAA 2001:500:2::c
k.root-servers.net. 361857 IN A 193.0.14.129
k.root-servers.net. 361857 IN AAAA 2001:7fd::1
g.root-servers.net. 361857 IN A 192.112.36.4
g.root-servers.net. 361857 IN AAAA 2001:500:12::d0d
j.root-servers.net. 361857 IN A 192.58.128.30
j.root-servers.net. 361857 IN AAAA 2001:503:c27::2:30
a.root-servers.net. 361857 IN A 198.41.0.4
a.root-servers.net. 361857 IN AAAA 2001:503:ba3e::2:30
l.root-servers.net. 361857 IN A 199.7.83.42
l.root-servers.net. 361857 IN AAAA 2001:500:9f::42
b.root-servers.net. 361857 IN A 199.9.14.201
b.root-servers.net. 361857 IN AAAA 2001:500:200::b
f.root-servers.net. 361857 IN A 192.5.5.241
f.root-servers.net. 361857 IN AAAA 2001:500:2f::f
m.root-servers.net. 361857 IN A 202.12.27.33
m.root-servers.net. 361857 IN AAAA 2001:dc3::35
h.root-servers.net. 361857 IN A 198.97.190.53
h.root-servers.net. 361857 IN AAAA 2001:500:1::53
;; Query time: 3 msec
;; SERVER: 192.168.1.62#53(192.168.1.62)
;; WHEN: Wed Mar 21 10:59:59 CST 2018
;; MSG SIZE rcvd: 811
DNS服务器常见类型:
主DNS服务器:数据修改
辅助DNS服务器:请求数据同步
Serial number: 版本号,最长10位
refresh: 检查间隔
retry: 重试时间
expire:过期时间(判断DNS主服务器是不是挂了)
nagative answer TTL: 否定回答的TTL值
缓存DNS服务器
转发器
RR:Resource Record,资源记录,在DNS数据库中的每一个条目被称作一个资源记录。
资源记录的格式:
NAME [TTL] IN RRT VALUE
www.abc.com IN A 1.1.1.1
1.1.1.1 IN PTR www.abc.com
资源记录类型:
1)A记录(address):FQDN -> IPv4,只能定义在正向文件中。
2)AAAA:FQDN -> IPv6,只能定义在正向文件中。
3)PTR(pointer):IP -> FQDN,只能定义在反向记录的指针
4)NS(Name Server):ZONE Name -> FQDN,可以定义在正向和反向文件中。
abc.com. 600 IN NS ns.abc.com.
ns.abc.com. 600 IN A 1.1.1.2
5)MX(Mail Exchange):ZONE NAME -> FQDN,只能定义在正向文件中。
abc.com. IN MX 10 mail.abc.com.
mail.abc.com. 600 IN A 1.1.1.3
10表示优先级,0-99,数字越小级别越高
6)SOA(Start Of Authority)起始授权记录,必须是第一条记录。
ZONE NAME TTL IN SOA FQDN admin‘s mailbox(
Serial number:
refresh
retry
expire
na ttl )
可以写成一行,使用空格隔开。
时间单位:M 分钟,H 小时,D 天, W 周,默认是秒。
邮箱格式:admin@abc.com 应该写成 admin.abc.com
@有特殊意思:自引用,在named.conf中表示定义的zone名称。
例子:
abc.com 600 IN SOA ns1.abc.com admin.abc.com (
2018080801
1H
5M
1W
1D )
7)CNAM:FQDN -> FQDN (Canonical NAME)别名记录
www2.abc.com IN CNAME www.abc.com
8)TXT,CHAOS,SRV
原文地址:http://blog.51cto.com/6150141/2089334