(编辑:jimmy 日期: 2024/11/16 浏览:2)
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