一、DNS的体系结构: DNS:域名解析系统. DNS由根域、顶级域和子域构成。根域主要负责管理顶级域,顶级域主要负责管理其下面子域。 .代表DNS的根域。 .com、.edu等代表顶级域。 sohu.com、chinaitlab.com是顶级域.com的子域。 区域:DNS服务器管辖的范围,每个区域都有对应数据库文件,DNS服务器可读取区域中数据库的内容,提供给客户端域名解析服务。 DNS服务器是以区域为单位来管理域名空间的。一台DNS服务器可以管理一个或多个区域,而一个区域也可以有多台DNS服务器来管理。 主DNS服务器:master最权威 区域文件或者叫数据库文件:存放IP地址和域名对应关系 辅DNS服务器:slave 惟缓存DNS服务器:caching-only 转发器 二、域名注册: 例如:注册.com下面的域名,如:redhat.com需要找.com的域管理者。 三、常用术语: 1.DNS服务器:提供域名解析服务的主机。 2. DNS客户机:任何联网的需要查询主机域名信息的主机。 3. 正向解析: 将主机名称解析为IP地址。 4. 反向解析:将IP地址解析为主机名称。 四、安装DNS软件包BIND: /var/named/chroot/var/named bind软件:伯克利域名解析系统
安装: #rpm –q bind (查看软件包是否安装) #rpm -ivh bind (安装bind软件) #rpm -ivh bind-chroot 安装bind-chroot软件,将DNS服务锁定在指定的工作目录,安全 #rpm -ivh bind-utils (安装DNS查询工具软件, 提供nslookup及dig等测试工具,默认桌面版已经安装) #rpm -ivh caching-nameserver (安装高速缓存服务器配置文件) 五、查看默认的主机配置文件: 1.DNS主配置文件 /etc/named.conf 注:options:定义全局配置选项。用于定义BIND服务器的工作目录 注意:在配置时要用“{}”括起来,用“;”结束,并且大括号和分号之间要有空格分开。 区域类型:type:用来定义一个区域的类型。 常见的区域类型有3个。 ① hint:默认的DNS根的类型为hint型。 根域的配置文件named.ca:列出了19台根服务器的地址 (除了原先的13台根服务器之外,又增加了6台使用Ipv6地址的根服务器)。 ② master:指定一个区域为主域名服务器。 ③ slave: 指定一个区域为辅助域名服务器。
2. 区域文件:即数据库文件,所在路径/var/named/chroot/var/named/ TTL:用于指定其它服务器将数据在缓存中存放多长时间。86400代表秒,即24h,一般设为1天,最长为7天。 @:表示当前区域 IN:表示区域类别,即Internet,互联网类型记录。 SOA:起始授权记录,用于指出DNS服务器或当前区域的主服务器,固定格式,每个区文件中都必须存在一个唯一的SOA记录。 SOA后的ns:指区域所授权的主机是ns主机 root: 用于指定root用户邮箱
记录类型: SOA 起始授权记录 start of authentication NS 名称服务器 nameserver A 主机记录,即主机名和IP地址的对应关系。 CNAME 别名记录,即给一个主机记录再添加一个名称。 MX 邮件交换记录,代表区域当中的邮件服务器 PTR 反向指针,ip---主机的对应关系
Master和Slave DNS服务器同步的五个参数: 区域文件序列号:每次改变区域资源记录时,该数值便会自动加1,当Slave DNS要进行数据同步的时候,它会比较这个号码,如果此处的数值较大,就会进行更新,否则将不更新。最小值为1。 刷新时间。即主DNS和辅助DNS同步的时间间隔;3H代表三小时。即辅助DNS服务器会每隔一小时检查自己的数据库是否是最新的,若不是则从主DNS那里来更新自己的数据库资源记录。需要注意的是此功能会使辅助DNS的负载增大,因此最好设的长一些。 重试时间:若辅助DNS与主DNS同步失败,则辅助DNS多长时间再次重试更新。15M代表15分钟。 过期时间:指辅助DNS无法从主DNS上更新数据,何时放弃请求。1W:代表一周。 缓存时间:1D代表1天,即数据在缓存中存放最长为1天。
语法检查 检查主配置文件 named-checkconf /etc/named.conf 检查区域文件 named-checkzone example.com(域名) /var/named/chroot/var/named/example.com.zone(配置文件)
架设主DNS服务器 正向解析 vim/etc/named.conf主配置文件 修改任何配置文件之前记得先备份,方便操作错误可以恢复,后面不在强调
---------------------- Listen-on port 53{any};允许任何IP地址监听 Listen-on-v6 port 53{any}; allow-query{any;};允许所有人查询
zone"bj.com" IN { typemaster; //主dns file"bj.com.zone"; //数据库文件也称区域文件 }; ------------------
区域配置文件 cd/var/named/chroot/var/named/ vim bj.com.zone -------------------------- $TTL 7200 @ IN SOA ns root( 2014021701 //版本号 1H //刷新时间 10M //重试时间 1W //过期时间 1D //缓存时间 ) IN NS ns IN MX10 mail ns IN A 172.18.211.9 mail IN A 172.18.211.10 www IN A 172.18.211.11 ftp IN A 172.18.211.12 news IN CNAME www ----------------------- @:当前区域bj.com IN:Internet 互联网类型记录 SOA:起始授权记录 NS:域名记录 A: 主机记录 PTR:反向指针 MX:邮件交换记录 CNAME:别名记录
DNS负载均衡,也称为DNS轮循 ---------------------------------------------------- www IN A 172.18.211.31 www IN A 172.18.211.21 www IN A 172.18.211.11 --------------------------------------------------------- Ping测试
直接域名解析 ------------------------------------------------------------ bj.com. IN A 172.24.254.25 ------------------------------------------------------------
泛域名解析 一般放在最后,当上面的都不匹配的时候才读取泛域名解析。 ------------------------------------------------------------ * IN A 172.24.254.25 ------------------------------------------------------------
dns指向本机 vim/etc/resolv.conf -------------------------- nameserver 127.0.0.1 -------------------------- 关闭防火墙serviceiptables stop 启动dns服务service namedstart
测试: Nslookup 命令软件包:bind-utils #dig www/chinaitlab.com (能看到这个域的A和SOA记录) 特殊查询 #host -t NS chinaitlab.com 查询区域中的DNS服务器 #host -t MX ns.chinaitlab.com 查询区域中的邮件服务器 若希望在测试时直接输入主机名,就可解析,而不是主机全名(FQDN)则: #echo “search chinaitlab.com”>> /etc/resolv.conf
反向解析 vim/etc/named.conf主配置文件 ---------------------- zone"211.18.172.in-addr.arpa" IN { typemaster; //主dns file"172.18.211.zone"; }; ------------------
区域配置文件 cd/var/named/chroot/var/named/ vim 172.18.211.zone --------------------------- $TTL 7200 @ IN SOA ns root( 2014021701 //版本号 1H //刷新时间 10M //重试时间 1W //过期时间 1D //缓存时间 ) IN NS ns.bj.com. IN MX 10 mail.bj.com. 9 IN PTR ns.bj.com. 10 IN PTR mail.bj.com. 12 IN PTR ftp.bj.com. ----------------------- 重启服务或rndc reload重新加载配置文件 测试
架设惟缓存服务器caching-only BIND缓存器,也称为惟缓存服务器。 缓存服务器只有少量的自定义解析区域,大部解析记录来源于指定DNS服务器。
缓存服务器的优点: 加快解析速度; 减轻公网DNS服务器的压力; Named.conf中修改: recursion yes; 允许递归查询,这一项一般不用修改。l dnssec-validationyes; 在DNS查询的过程是否加密,为了提高效率,这一项一般都要改为no,如“dnssec-validationno;” Forward only; Forwardfirst;
在option中 forwarders {172.18.211.2;};转发给某台DNS
架设辅助DNS 服务器 辅助主要的功能是当主DNS无法正常工作的情况下,由辅助DNS接替其工作。辅助DNS 的记录主要来源的于主DNS服务器,辅助DNS服务器是只读的,不能添加与删除DNS记录。辅助DNS可以大大加快查询的速度,减轻主DNS服务器的压力。
vim /etc/named.conf ------------------ zone"bj.com" IN { typeslave; //辅助dns file"slaves/bj.com.zone"; //区域文件 masters{ 172.18.211.200 ;}; notify yes; //主dns修改会通知从dns also-notify { 172.18.211.200; };//主dns修改通知哪一个从dns }; ---------------------------------------
在主DNS内设置哪些主机可以同步:allow-transfer{172.16.9.254;};
rndcrefresh bj.com 辅助dns立即刷新bj.com数据库文件 /var/named/chroot/var/named/出现slaves文件夹 ls/slaves/ 出现从主dns复制的bj.com.zone区域文件 此时可以实现bj.com区域的解析
测试辅助DNS和主DNS同步 主dns修改数据库文件bj.com.zone,比如www主机对应IP修改,只有在版本号也手动修改时 辅dns在刷新数据库文件时才会认为是新的版本,才会复制数据库文件,从而实现正确的解析 如果不能正确解析可以手动同步:从dns上敲rndc refresh +你同步的域名
|