关于dns和bind9的基本介绍,包括概念,安装,配置,运维等
简介
DNS(Domain Name System),即域名系统。它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统。服务器端工作在UDP协议端口53和TCP协议端口53上。
域
根域
最顶层域,是一个.
顶级域
处于根域之下,主要包含组织域,地址域,反向域。
组织域
3个字符代表,如com,gov等
地址域
两个字符的国家或地区代号,如cn,hk等
反向域
特殊域,名称为in-addr-arpa,用于将ip地址映射成名字
域名解析
- 客户机首先查看本地hosts文件,如果有则直接返回。否则进入下一步。
- 客户机查看本地缓存,如果有则直接返回。否则进入下一步。
- 将请求转发给本地DNS服务器。
- 查看域名是否本地解析,如果是本地解析则返回,否则进入下一步。
- 本地DNS服务器在缓存中查找,有则返回,无则进入下一步。
- 向全球某一个根域服务器发起DNS请求,根域服务器返回org域的地址列表。
- 使用某一个org域的IP地址,发起DNS请求,org域返回kernel域服务器地址列表。
- 使用某一个kernel域的IP地址,发起DNS请求,kernel域返回 www.kernel.org 主机的IP地址,本地DNS服务收到后,返回给客户机。
服务器
主域名服务器
primary master server 是一个domain 信息的最根本的来源。它是所有辅域名服务器进行域传输的源。主域名服务器是从本地硬盘文件中读取域的数据的。每个区至少有一台主域名服务器。
辅域名服务器
就是slave server,或叫作secondary server。辅服务器通过一个叫区传送(zone transfer)的复制过程从另一台服务器中取得区的内容。通常情况下,数据是直接从主服务器上传输过来的,但也可能是从本地磁盘上的cache 中读到的。
辅助服务器优势
- 容错能力
- 减少广域链路通信量
- 减轻主服务器负载
缓存服务器(caching only server)
一个DNS服务器可以同时作为多个域的主域名服务器和辅助域名服务器,也可以只作为主,或只作为辅,或者做任何域的授权服务器而只使用自己的cache来提供查询解析。不论是主或辅都是这个域的授权服务器。所有的服务器都会将数据保存在cache中,直到针对这些数据的TTL值过期。
转发服务器(forwarding server)
一台缓存名服务器本身不能进行完全的递归查询。相反,它能从缓存向其它的缓存服务器转发一部分或是所有不能满足的查询,一般被称作转发服务器。可能会有一个或多个转发服务器,它们会按照顺序进行请求,直到全部穷尽或者请求得到回答为止。转发服务器一般用于用户不希望站点内的服务器直接和外部服务器通讯的情况下。一个特定的情形是许多DNS 服务器和一个网络防火墙。服务器不能透过防火墙传送信息,它就会转发给可以传送信息的服务器,那台服务器就会代表内部服务器询问因特网DNS 服务器。使用转发功能的另一个好处是中心服务器得到了所有用户都可以利用的更加完全的信息缓冲。
隐藏服务器
隐藏服务器是指一个区的权威服务器但却没有出现在区的NS记录中,可用来保存一个区的本地拷贝以加速对区记录的访问。
域文件(zone file)
每一个域名都有自己的域文件(zone file),zone file 是由多个记录组成的,每一个记录就被称为资源记录(Resource Record,简称RR)。
SOA记录
每个域的域文件的开始都包含一个其实授权记录(start of authority record),简称soa记录,soa记录定义了全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的soa记录。
1 | bookrain.com.zone |
RR(Resource Record)资源记录
通常位于SOA记录之下,定义改域的所有资源记录。
记录格式
格式定义:name TTL CLASS TYPE RDATA
CLASS
- IN(Internet)
- CS(CSNET)
- CH(chaos)
- HS(hesiod)
TYPE
类型 | 描述 | 功能 |
---|---|---|
A | IP 地址记录 | IPv4地址 |
AAAA | IPv6 IP 地址记录 | IPv6 地址 |
CNAME | 规范名称记录 | 一个主机名字的别名:域名系统将会继续尝试查找新的名字。 |
MX | 电邮交互记录 | 引导域名到该域名的邮件传输代理(MTA, Message Transfer Agents)列表。 |
NS | 名称服务器记录 | 委托 DNS 域(DNS zone)使用已提供的权威域名服务器。 |
PTR | 指针记录 | 引导至一个规范名称(Canonical Name)。与 CNAME 记录不同,DNS“不会”进行进程,只会传回名称。最常用来运行反向 DNS 查找,其他用途包括引作DNS-SD。 |
SOA | 权威记录的起始 | 指定有关DNS区域的权威性信息,包含主要名称服务器、域名管理员的电邮地址、域名的流水式编号、和几个有关刷新区域的定时器。 |
bind9
安装bind9
1 | yum install -y bind |
配置named.conf
1 | # /var/named/chroot/etc/named.conf |
配置named.rfc1912.zones
1 | # /var/named/chroot/etc/named.rfc1912.zones |
新增bookrain.com.zone域文件
1 | # /var/named/bookrain.com.zone |
启动
1 | 启动,开机启动 |
测试
1 | 检查 |
bind chroot
安装
1 | yum install -y bind-chroot |
拷贝bind配置文件
1 | mv 也可以 |
启动
1 | /usr/libexec/setup-named-chroot.sh /var/named/chroot on |
主从
主dns
1 | /var/named/chroot/etc/named.rfc1912.zones |
从dns
1 | /var/named/chroot/etc/named.rfc1912.zones |
主从密钥认证
时间同步
1 | install |
主dns密钥生成
1 | dnssec-keygen -a hmac-md5 -b 128 -n HOST dnskey |
主dns密钥配置
1 | /var/named/chroot/etc/named.conf |
主dns域密钥配置
1 | /var/named/chroot/etc/named.rfc1912.zones |
从dns密钥配置
1 | /var/named/chroot/etc/named.conf |
从dns域密钥配置
1 | /var/named/chroot/etc/named.rfc1912.zones |