DNS服务器工作原理及功能 DNS通过在网络中创建不同的区域(一个区域代表该网络中要命名的资源的管理集合),并采用一个分布式数据系统进行主机名和地址的查询。当在客服机的浏览器中键入要访问的主机名时就会触发一个IP地址的查询请求,请求会自动发送到默认的DNS服务器,DNS服务器就会从数据库中查询该主机所对应的IP地址,并将找到IP地址作为查询结果返回。浏览器得到IP地址后,就根据IP地址在Internet中定位所要访问的资源。 DNS查询报文中的问题部分 名字 数值 描述 A 1 IP地址 NS 2名字服务器 CNAME 5规范名称 PTR 12指针记录 HINFO 13主机信息 MX 15邮件交换记录 AXFR 252对区域转换的请求 A:一个A记录定义了一个IP地址 NS:名字服务器记录。它说明一个域的授权名字服务器,它由域名表示。 CNAME:表示规范名字,用来表示一个域名,而有规范名字的域名通常叫做别名。某些FTP服务器使用它向其他的系统提供一个 易于记忆的别名。 HINFO:表示主机信息,包括说明主机CPU和操作系统的两个字符串。 MX:邮件交换记录。功能:如果有邮件要发往use@foo.com,就将邮件发送到relay1.uu.net。 PTR:指针记录用于指针查询,IP地址被看作是in-addr.arpa域下的一个域名(反向查询)。
一、基本DNS配置: 1我的环境是centos6.6版,首先安装bind包 yum install bind*(使用yum安装) 2编辑DNS的配置文件 vim /etc/named.conf options{ listen-onport 53 { any; };#此处改为any listen-on-v6port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; allow-query { any; };#此处改为any recursionyes; dnssec-enableyes; dnssec-validationyes; dnssec-lookasideauto; /*Path to ISC DLV key */ bindkeys-file"/etc/named.iscdlv.key";
managed-keys-directory"/var/named/dynamic"; }; logging{ channeldefault_debug { file"data/named.run"; severitydynamic; }; }; zone"." IN { #根类型区域 typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones";#分割文件 include"/etc/named.root.key";#分割文件 vim /etc/named.rfc1912.zones (在里面设置正解和反解—在中国反解不起作用因为长城防火墙) 在此配置文件新加: #设置正解区域 zone"wang.com" IN { #域名 typemaster; #服务器类型 file"wang.zone"; #正解区域文件 };
zone"1.168.192.in-addr.arpa" IN {#我是192.168.1.的网络 typemaster; file"wang.com.zone";#反解区域文件 }; 进去 cd/var/named/里面有系统给的正解区域的模板(named.localhost)和反解区域的模板(named.loopback) cpnamed.localhost wang.zone cp named.loopback wang.com.zone 目前在 /var/named/下vim wang.zone $TTL1D @ INSOA @ rname.invalid. ( 0 ;serial 1D ;refresh 1H ;retry 1W ;expire 3H) ; minimum NS @ A 192.168.1.21#DNS服务器ip地址 www 0 A 192.168.1.22#www服务器ip地址 0 A 192.168.1.11 #www服务器ip地址(dns轮循与上面www服务器) ftp A 192.168.1.22#ftp服务器 mail A 192.168.1.11#mail服务器 web CNAME www#别名 @ MX 10 mail#邮件优先级 目前在 /var/named/下vim wang.com.zone $TTL1D @ INSOA @ rname.invalid. ( 0 ;serial 1D ;refresh 1H ;retry 1W ;expire 3H) ; minimum NS @ A 192.168.1.21#服务器ip地址 PTR wang.com. 22 PTRwww.wang.com. #不要忘记后面的'. ' 11 PTR www.wang.com. 22 PTR ftp.wang.com. 22 PTR web.wang.com. 11 PTR mail.wang.com. 重启服务 servicenamed restart然后把ip22和11测试机的DNS改成192.168.1.21,进行测试即可。(vim/etc/sysconfig/network-scripts/ifcfg-eth0和vim/etc/resolv.conf为修改dns)
二、一个网络对应多个域名 在 vim /etc/named.rfc1912.zones加多个正解即可,例如:
zone"ning.com" IN { typemaster; file"ning.zone"; }; zone"wang.com" IN { typemaster; file"wang.zone"; }; #反解无所谓,在中国哦。还可以往下加域名,重启named服务即可。 三、bind视图#比如一个网站有一个国内的ip地址和一个国外的ip地址,目的在中国的用户访问网站由国内ip地址的dns服务器解析,国外访问的由国外ip地址的dns服务器解析,加快dns解析速度。(一个域名对应多个不同ip) vim /etc/named.rfc1912.zones在最后加上: acl"guowai" { 192.168.200.0/24; };#名字随便取 acl"guonei" { 192.168.1.0/24; }; view"guowai"{#试图名字随便取 match-clients{guowai;};#一定要对应 zone"." IN { #根类型区域 typehint; file"named.ca"; }; zone"wangning.com"{#正解区域 typemaster; file"guowai.zone";#在/var/named/创建 guowai..zone }; zone"200.168.192.in-addr"{ #反解区域 typemaster; file"guowai.com.zone"#在/var/named/创建 guowai.com.zone }; }; view"guonei"{ match-clients{guonei;}; zone"." IN { typehint; file"named.ca"; };
zone"wangning.com" IN { typemaster; file" guonei.zone";#在/var/named/创建 guonei.zone }; zone"1.168.192.in-addr.arpa" IN { typemaster; file"guonei.com.zone";#在/var/named/创建 guonei.com.zone }; }; 重启服务即可; 四、salvesDNS服务器(备份服务器) 防止主服务器荡机,需要slaves服务器。 vim /etc/named.rfc1912.zones加入: zone"wang.com" IN {#域名 typeslave;# 服务器类型 file"slaves/wang.zone";#正解区域文件 masters{192.168.1.21;}; }; zone"1.168.192.in-addr.arpa" IN { #我是192.168.1.的网络 typeslave; file"slaves/wang.com.zone";#反解区域文件 masters{192.168.1.21;}; }; 重启服务在 /var/named/slaves/目录下自动生成wang.zone和wang.com.zone (责任编辑:IT) |