1.在CentOS6.X上,使用BIND(Berkeley Internet Name Domain)来管理DNS。
2.FQDN: Fully Qualified Domain Name 完全限定域名。由主机名与域名组成。 3.在整个DNS系统的最上方是.(小数点)这个DNS服务器(成为root).最早在它下面的就只有.com,.edu,.gov,.mil,.org,.net这种特殊区域以及以国家为分类的第二层的主机名,这两者成为Top Level Domains(TLDs). -- 一般顶级域名(Genetic TLDs,gTLD):例如.com,.org等 -- 地区顶级层域名(Country Code TLDs,ccTLD),例如.cn,.uk等 4.每一个上一层的DNS服务器所记录的信息,其实只有其下一层的主机名而已。 5.通过DNS查询主机名IP的流程(以为例) ----客户端向DNS服务器发出查询请求,DNS服务器收到后,先查看本身有没有记录,若无则向.root查询 (无转发的情况) ----向最顶层.root查询,DNS服务器会向.root询问在哪里,但是.root只知道.com的信息 此时.root会告知,不知道这部主机的IP,但是你可以向.com询问,.com的地址是这个。 ----向第二层的.com服务器查询,与上面的流程相同。 ----向第三层的.edu.com服务器查询,与上面的流程相同。 ----向第四次的.example.edu.com查询,此时DNS服务器向其询问,.example.edu.com回答说:“没错,这台主机是我的, 它的IP地址是********。 ----DNS服务器记录缓存并回报给用户。缓存存活的时间一般为24小时,以服务器的设置有关。 6.通常DNS是以UDP这个较为快速的数据传输协议来查询的,但是万一没有办法查询到完整的信息是,就会再次以TCP这个协议来重新查询。所以在防火墙规则中要同时放行TCP和UDP的53端口(另外还有rdnc这个953端口)。 7.要让主机名对应IP能让其他计算机查询到,有以下两种方式: ----上层DNS授权区域查询权,让你自己设置DNS服务器。 ----直接请上层DNS服务器来帮你设置主机名的对应。 8.拥有区域查询权后,所有的主机名信息都已自己为准,与上层无关。即使上层ISP的主机名能够查询到IP或者IP与自己设置的不相同。 9.DNS数据库的记录: ----正解:从主机名查询到IP的流程。 ----反解:从IP查询到主机名的流程。 ----区域(zone):不管是正解还是反解,每个域的记录就是一个区域(zone)。 10.正解的主要标志: 正解文件资源记录格式: [domain] [ttl] IN [[RR type] [RR data]] [待查数据][暂存时间(秒)] [资源类型] [资源内容] 主机名. IN A/AAAA IPv4/IPv6的IP地址 域名. IN NS/SOA/MX 名称服务器名字/管理域名的七个重要参数/接收邮件的服务器名字 主机别名. IN CNAME 实际代表这个主机别名的主机名字 RR type主要有: ----SOA:就是开始验证的缩写(Start of Authority).主要是管理这个域的七个重要参数: MasterDNS主机名,管理员E-mail,序号Serial,更新频率Refresh,失败重新尝试时间Retry,失效时间Expire,缓存时间TTL ----NS:名称服务器的缩写(Name Server).管理域的主机。 ----A,AAAA:就是地址(Address)的缩写.A为IPv4的IP地址,AAAA为IPv6的IP地址。 ----MX:在MX前会有顺序数字,越小表示优先级越高。接受邮件的服务器主机名字。 ----CNAME:格式为 主机别名. IN CNAME 实际代表这个主机别名的主机名字。 11.反解的主要标志: ----除了服务器必备的NS和SOA之外,最重要的就是PTR,就是指向(PoinToR)的缩写,后面记录的数据就是反解的主机名。 反解的zone就是将IP反过来写,并在结尾加上.in-addr.arpa.的结尾字样。eg: dig -x 120.114.100.101 ;;ANSWER SECTION: 101.100.114.120.in-addr.arpa. 3600 IN PTR . 反解最重要的是:后面的主机名尽量使用完整的FQDN,即加上小数点(.)。 12.若有反解的需求,就需要向你的直属上层ISP申请才行,除非你取得的是整个Class C以上等级的IP网段,ISP才有可能给你IP反解析权。 13.自行架设DNS服务器时,最好采用Master/Slave架构,客户端查询的时候是随机的,先进先出,所以要保证数据的一致性。 不论是Master还是Slave的数据库,都会有一个代表该数据库新旧的”序号“,这个序号越大表示越新。其同步过程主要有2种: ----Master主动告知:Master在修改了数据库内容并加大数据库的序号后,重启DNS,那Master会主动告知Slave来更新数据库。 ----Slave主动提出要求:Slave会定时向Master查看数据库的序号,当发现Master序号>Slave序号时,则开始更新。 14.DNS在Client中的配置文件主要有: ----/etc/hosts ----/etc/resolv.conf:ISP的DNS服务器IP记录处 ----/etc/nsswitch.conf:这个文件决定先使用/etc/hosts,还是先使用/etc/resolv.conf的设置 其格式为: hosts: files dns //files在前,表示hosts先。dns在前,表示resolv.conf先 15.DNS正反解查询命令: ----host: host [-a] FQDN [server]:若有添加[server]参数,则是指定用server这台来查询 host -l 域名:主要用于系统管理员查询整个区域的相关设置。 ----nslookup: nslookup [FQDN] [server]:在不加任何参数的情况下可进入nslookup这个软件的操作界面 ----dig: dig [options] FQDN [@server]: options的主要参数说明: +trace:就是从.开始追踪,并将每一个阶段的DNS服务器查询出来。 -t type:查询的主要数据soa,mx,sname,a,aaaa,ns等。 -x:查询反解信息。 16.查询域管理者的相关信息:whois 17.DNS所需要的软件:bind-libs/bind-utils/bind/bind-chroot 其中bind-chroot是用于将某个目录制定为bind的根目录,这样bind便不能离开根目录,加强了系统安全。 CentOS6.x默认是将BIND锁定在/var/named/chroot目录下。CentOS6.x已经通过在启动脚本中将相关目录进行的连接: mount --bind /var/named /var/named/chroot/var/named 数据库文件默认放置的目录 mount --bind /var/run/named /var/named/chroot/var/run/named 程序执行时某人放置pid-file的目录 mount --bind /etc/named.conf /var/named/chroot/etc/named.conf 程序的主配置文件 mount --bind /etc/sysconfig/named /var/named/chroot/etc/sysconfig/named chroot的配置参数文档
整理自:鸟哥的linux私房菜服务器篇