早期使用hosts文件解析域名,但是主机名称重复,主机维护困难。DNS(Domain Name system域名系统)/etc/nsswitch.conf :当系统中同时存在dns域名解析和/etc/hosts主机表机制时,用该文件确定主机名的解释顺序。DNS系统的作用:正向解析:根据主机名称查找对应的ip地址反向解析:根据ip地址查找对应的主机域名客户机及使用DNS解析,会先查看自己本地文件/etc/hosts文件,如果没有再看本地缓存,本地缓存没有,再看DNS服务器。
windows客户机有缓存,linux没有。
ipconfig /flushdns 清空缓存。ping是会看缓存的,nslookup不会看缓存。DNS树形结构:根域 ---> 顶级域 --->二级域 ----> 三级域 ---> 主机名
www.sxkeji.com.cn (www表示主机名,sxkeji为三级域,com为二级域,cn表示顶级域)缓存域名服务器:将域名查询结果缓存到本地,提高重复查询时的速度主域名服务器:负责维护该区域内所有的域名,ip地址的映射记录从域名服务器:其维护的域名,ip地址的记录 来源于主域名服务器配置DNS服务器安装BIND软件包:yum install bind*bind-utils-9.3.3-7.el5.i386.rpm客户端测试命令软件包caching-nameserver-9.3.3-7.el5.i386.rpm(rhel6没有)缓存服务器软件包,可以利用这个包生成的配置文件做模板,提高我们配置DNS的效率bind-chroot-9.3.3-7.el5.i386.rpmdns增强安全的软件包,安装后dns服务的根目录到/var/named/chroot,只要安装了这个软件包,则bind相关配置文件一定要保证named账户有读取和执行的权限服务器端服务脚本:/etc/init.d/named默认监听端口:53主要配置文件:/var/named/chroot/etc/named.conf数据文件位于:/var/named/chroot/var/named如果没有安装bind-chroot软件包)主要配置文件:/etc/named.conf数据文件位于:/var/named目录var/named/chroot/var/named/named.ca 指明13台根服务器的地址,bind9内置服务器地址,可以直接找到根。 主要配置文件named.confoptions { #全局配置 directory "/var/named"; #指定目录 dump-file "/var/named/data/cache_dump.db"; #查看缓存文件 forwarders{ #全局转发器(当服务器解析不了使,就交给全局转发器指定的ip服务器去解析) 8.8.8.8;};};#include "/etc/named.rfc1912.zones"; #声明根和本地区域文件的路径zone "wy.com"IN{ #区域配置,设置本服务器解析的特定DNS区域 type master; # 表示主域名服务器 file "wy.com.zone"; #指定文件 };zone "xdx.com"IN{ type forward; forwarders { #局部转发器(xdx.com这个域交给转发器指定ip服务器去解析) 10.0.1.111;};#recursion no #表示这台服务器解析不了,就不找其他服务器解析};zone "1.168.192.in-addr.arpa"IN{ #方向解析域,将ip地址解析成域名,需要反向写。 type master; file "192.168.1.arpa"; };rndc dumpdb 将缓存导入缓存文件 区域数据配置文件DNS区域通过资源记录为客户提供相应域名解析DNS区域文件中包含的资源记录的类型:SOA 指定该区域的权威名称服务器NS 表示某区域的权威服务器和SOA中的指定的该区域的主服务器和辅助服务器A 列出区域中的域名到ip地址的映射PTR 相对于A资源记录,PTR记录把ip地址映射到域名(做反向解析用)MX 邮件交换记录,向指定邮件交换机提供消息路由CNAME 将多个名字映射到统一台计算机,相当与别名。编辑正向解析文件:cp -a /var/named/named.localhost /var/named/wy.com.zone vim wy.com.zone 编辑wy.com.zone文件$TTL 1D @ IN SOA dns root ( #形式:@ IN SOA 主机名 邮箱地址,它在每个区域是唯一记录 6 ; serial #序列号 1D ; refresh #更新 1H ; retry #重试 1W ; expire #过期 3H ) ; minimum #最小TTL @ NS dns.wy.com. #主从服务器 NS dns1.wy.com. A 10.0.1.9 www IN A 192.168.1.1 #主机名 IN A ip地址dns IN A 10.0.1.9ns1 IN A 192.168.1.5编辑反向解析文件cp -a /var/named/named.localhost /var/named/192.168.1.arpa (反向解析文件)编辑192.168.1.arpa文件$TTL 1D@ IN SOA dns root ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum@ NS dns.wy.com. NS dns1.wy.com.1 IN PTR www.wy.com. #主机位倒序 IN PTR 主机名修改玩配置文件后,重启服务:service named restartnamed-checkconf工具:查看配置文件是否写错named-checkconf -t /var/named/chrootnamed-checkzone工具格式:named-checkzone 域名 区域数据文件客户机修改文件:/etc/resolv.conf文件nameserver 10.0.1.9 (DNS服务器ip)用途:保存本机需要使用的DNS服务器的ip地址dig命令:解析ip地址或区域
格式:dig hostname/ip @ip (@ip表示指定查询DNS服务器ip)nslookup命令: nslookup hostname/ip测试效果:[root@wenyao ~]# nslookup dns.wy.comServer: 10.0.1.9Address: 10.0.1.9#53Name: dns.wy.comAddress: 10.0.1.9[root@wenyao ~]# nslookup 192.168.1.1Server: 10.0.1.9Address: 10.0.1.9#531.1.168.192.in-addr.arpa name = www.wy.com.构建从域名服务器:提供域名解析功能,它的数据不是直接输入的,是从其他服务器中复制过来的所以从域名服务器中的数据无法被修改。它能够分担主服务器的负担,加快查询速度,提供容错能力。1·修改从服务器上配置name.conf 文件 options { directory "/var/named"; dump-file forwarders{ 8.8.8.8;};};#include "/etc/named.rfc1912.zones";zone "wy.com"IN{ type slave; #声明从域名服务器 masters{ #主服务器ip 10.0.1.9;}; file "slaves/wy.com.zone"; #指定文件 };zone "1.168.192.in-addr.arpa"IN{ type slave; masters{ 10.0.1.9;}; file "slaves/192.168.1.arpa"; }; 2·修改主服务器上的区域解析文件的序列号@ IN SOA dns root ( 6 ; serial (确保它比服务器从服务器的序列号大)重启服务即可:service named restart