DNS服务器工作原理及功能
DNS通过在网络中创建不同的区域(一个区域代表该网络中要命名的资源的管理集合),并采用一个分布式数据系统进行主机名和地址的查询。当在客服机的浏览器中键入要访问的主机名时就会触发一个IP地址的查询请求,请求会自动发送到默认的DNS服务器,DNS服务器就会从数据库中查询该主机所对应的IP地址,并将找到IP地址作为查询结果返回。浏览器得到IP地址后,就根据IP地址在Internet中定位所要访问的资源。
DNS查询报文中的问题部分
名字数值描述
A1IP地址
NS2名字服务器
CNAME5规范名称
PTR12指针记录
HINFO13主机信息
MX15邮件交换记录
AXFR252对区域转换的请求
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包
yuminstallbind*(使用yum安装)
2编辑DNS的配置文件
vim/etc/named.conf
options{
listen-onport53{any;};#此处改为any
listen-on-v6port53{::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;
/*PathtoISCDLVkey*/
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.localhostwang.zonecpnamed.loopbackwang.com.zone
目前在/var/named/下vimwang.zone
$TTL1D
@INSOA@rname.invalid.(
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
NS@
A192.168.1.21#DNS服务器ip地址
www0A192.168.1.22#www服务器ip地址
0A192.168.1.11#www服务器ip地址(dns轮循与上面www服务器)
ftpA192.168.1.22#ftp服务器
mailA192.168.1.11#mail服务器
webCNAMEwww#别名
@MX10mail#邮件优先级
目前在/var/named/下vimwang.com.zone
$TTL1D
@INSOA@rname.invalid.(
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
NS@
A192.168.1.21#服务器ip地址
PTRwang.com.
22PTRwww.wang.com.#不要忘记后面的'.'
11PTRwww.wang.com.
22PTRftp.wang.com.
22PTRweb.wang.com.
11PTRmail.wang.com.
重启服务servicenamedrestart然后把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