域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。这样我们只需要在浏览器中输入域名就能打开想要访问的网站了。目前,DNS域名解析技术的正向解析也是我们最常使用的一种工作模式。
三种类型的DNS服务器
DNS域名系统技术作为互联网基础设施中的重要一环,为了提供不间断、稳定且快速的域名查询服务,保证互联网的正常运转,提供了以下三种类型的服务器:
-
主服务器: 在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系;
-
从服务器: 从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况;
- 缓存服务器: 通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并经常查询的域名信息保存到服务器本地,以
此来提高重复查询的效率。
简单来说,主服务器是用于管理域名和IP地址对应关系的真正服务器,从服务器帮助主服务器“打下手”,.从而减轻主服务器的负载压力。缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。
DNS配置文件
/etc/named.conf 主配置文件,服务器主要运行参数
/etc/named.rfc1912.zones 区域文件,主要指定要解析哪个域名
/var/named/xxx.xx 数据文件,用来正向和反向的解析
DNS 排错
它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :
– NOERROR : 查询成功
– NXDOMAIN : DNS 服务器提示不存在这样的名称
– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
– REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
DNS资源记录
DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型
– A : 名称至 IPv4 地址
– AAAA : 名称至 IPv6 地址
– CNAME : 别名
bbs CNAME www.westos.com
实现负载均衡
www A 172.25.254.100
www A 172.25.254.200
– PTR : IPv4/IPv6 地址至名称
– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
westos.com. MX 10 mail.westos.com.
mail A 172.25.254.136
– NS : (name server)域名的名称服务器: ZONE –> FQDN(dns.westos.com.)
NS dns.westos.com.
– SOA : (start of authority):起始授权记录,表识多个dns存在时,哪个是主dns(权威的dns服务器)
ZONE NAME TTL IN SOA 主dns的FQDN mail
TTL值“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。
(
serials number ;2017010703
refresh ;刷新
retry ;未获得答案时多久再次请求
expire ;过期
na ttl ;无答案时的有效期
)
FQDN(full qulified domain name) ##正式域名
.dig输出的部分内容解释
• 标题指出关于查询和答案的信息 , 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 )
– QUESTION : 提出实际的 DNS 查询
– ANSWER : 响应 ( 如果有 )
– AUTHORITY : 负责域 / 区域的名称服务器
– ADDITIonAL : 提供的其他信息 , 通常是关于名称服务器
– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间
/etc/named.conf的语法
• // 或 # 至行末尾是注释 ; 之间的文本也是注释 (可以跨越多行)
• 指令以分号结束 (;)
• 许多指令认为地址匹配列表放在大括号中、以CIDR表示法表示的IP地址或子网列表中 , 或者命名的ACL中
( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )
• 文件以 options 块开始 , 其中包含控制 named如何运作的指令
• zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域
高速缓存服务器DNS
高速缓存DNS解析速度快,内部访问,不占用传输带宽。
实验环境:
<1>虚拟机server(172.25.254.181),作为dns服务器,提前配置好yum源;
<2>虚拟机desktop(172.25.254.200),作为客户端进行访问测试
实验过程
对服务器端的配置:172.25.254.181
<1>安装并开启DNS服务功能软件bind
yum install bind -y #####安装dns服务软件; -y不用与系统进行交互式访问,直接安装
BIND (Berkeley Internet Name Domae most commonly used namedaemon.
systemctl start named ####开启服务(在启动过程中,因为加密字符不够,服务重启一直在等待,这时需要敲击键盘直到服务启动)
systemctl stop firewalld //关闭防火墙
netstat -antlupe | grep named ###查看named服务监听的端口
可以看到该服务端口为53,此时端口只开启在lo回环接口,127.0.0.1代表回环接口ip
<2>查找并修改配置文件
[root@localhost ~]# rpm -qc bind ##查找配置文件
[root@localhost ~]# vim /etc/named.conf ##编辑配置文件
11 listen-on port 53 { any; }; ##监听所有的53号端口,此处可以根据需要设置需要监听的IP
17 allow-query { any; }; ##允许所有客户主机可以连接访问该服务器端
18 forwarders { 114.114.114.114; }; ##设置转发 如果本DNS服务器无法解析,就转发其他DNS服务器。这里转发请求到114.114.114.114
33 dnssec-validation no; ##将yes设置为no
<3>重启named服务
[root@localhost ~]# systemctl restart named
重新查看53端口状态,可以看出此时端口53开启在所有网卡上,包括本机的eth0网卡,IP=172.25.254.181
对客户端的配置:172.25.254.200
[root@localhost ~]# vim /etc/resolv.conf ###编辑本地解析文件
nameserver 172.25.254.181 ###这里的ip是dns服务的主机ip
客户机测试:dig 域名
第一次测试:
第二次测试相同的域名:
可以看出解析速度明显提升了。
DNS 服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。
我们也可以在两台不同的客户端对相同的域名解析速度进行测试:
把另一台测试的客户端的本地解析文件的指向同样改为dns服务器端的ip,即172.25.254.181
vim /etc/resolv.conf ###编辑本地解析文件
在客户端1上进行测试:
dig www.qq.com
在客户端2上进行测试:dig相同的域名
可以看出解析速度明显也提升了。
DNS本地正向解析
正向解析(A,MX,CNAME,负载均衡):域名——>IP
<1>修改主配置文件
[root@client ~]# vim /etc/named.conf
// forwarders {114.114.114.114;}; ##注释上次实验添加的forwarders,因为在本次实验中服务器自己充当DNS
<2>编辑named的区域文件,添加域
25 zone "westos.com" IN {
26 type master;
27 file "westos.com.zone";
28 allow-update { none; };
[root@client ~]# cd /var/named
[root@client named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@client named]# cp -p named.localhost westos.com.zone ###连同权限复制文件内容
dns.westos.com.表示dns服务器的名称,mine.westos.com.表示管理dns服务器的用户
1 $TTL 1D
2 @ IN SOA dns.westos.com. mine.westos.com. (
3 0 ; serial ####一致性标记,在做dns集群的时候会用到
4 1D ; refresh ####dns缓存刷新的时间
5 1H ; retry ####如果出现解析错误后,重新尝试的时间
6 1W ; expire ####过期时间,此处为1周
7 3H ) ; minimum ####主服务器挂后,从服务器至多工作的时间,可以保护dns防止ddos攻击
8 NS dns.westos.com.
9 dns A 172.25.254.181 ###地址解析服务端
10 www A 172.25.254.100 ###指定本地存在的域名解析
11 music A 172.25.254.10 ###指定本地存在的域名解析
注:@=westos.com @的作用:所有不以'.'结尾的文件后自动补齐'westos.com'
<1>设置客户端的dns解析地址为172.25.254.181(即dns服务器ip)
[root@client named]# vim /etc/resolv.conf
nameserver 172.25.254.181
<2>查看不同域名对应的ip dig 域名
[root@client named]# dig music.westos.com
大多数域名注册商都支持对同一主机添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负载均衡。
DNS负载均衡原理
DNS负载均衡是通过循环复用实现的,如果发现主机名的多个地址资源记录,则可用它循环使用包含在查询应答中的主机资源记录。在默认情况下,DNS 服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射的主机名应答中返回的。该功能提供了一种非常简便的方法,用于对客户机使用 Web 服务器和其他频繁查询的多宿主计算机的负载平衡。
要使循环复用正常工作,必须首先在该区域中注册所查询名称的多个主机资源纪录,并启用DNS服务器循环复用。如果DNS服务器禁止循环复用,那么这些查询的响应顺序以应答列表中资源记录在区域中存储时的静态排序为基础。
实验环境:在上述本地正向解析成功的基础上
依然使用同时作为dns服务器和客户端的一台虚拟机:IP=172.25.254.181
$TTL 1D
@ IN SOA dns.westos.com. mine.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.181
www CNAME music.a.westos.com. ##将规范名称转换为非规范名称
music.a A 172.25.254.20 ## 轮询服务器1
music.a A 172.25.254.10 ## 轮询服务器2
1.首次访问域名
2.隔几秒钟后再次访问该域名
DNS邮件服务器解析
MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。
当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
配置过程:
[root@client ~]# vim /var/named/westos.com.zone
westos.com. MX 10 172.25.254.111. ###加入邮件解析
westos.com. MX 10 mx1.westos.com.
mx1 A 172.25.254.111 ###该方式与上述方式解析效果一样
<3>测试
mail zhang@westos.com ###给该域内的某一用户发送文件
[root@client ~]# mail zhang@westos.com ##邮件发送至westos.com的zhang用户
Subject: test
jhsjxjbjsbcjh
. ##用"."来结束录入内容并发送
EOT
mailq ###查看邮件队列
dig -t mx westos.com ###查看westos.com的MX记录
反向解析(P解析): IP——>域名
<1>编辑named的区域文件,添加域
49 zone "254.25.172.in-addr.arpa" IN {
50 type master;
51 file "172.25.254.ptr"; ##反向解析域名文件
52 allow-update { none; };
53 };
[root@client ~]# cd /var/named
[root@client named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves westos.com.zone
[root@client named]# cp -p named.loopback 172.25.254.ptr ###连同权限复制文件内容
[root@client named]# vim 172.25.254.ptr
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.181
111 PTR hello.westos.com. ###访问172.25.254.111对应的域名
222 PTR book.westos.com. ###访问172.25.254.222对应的域名
客户端测试:
反向解析,测试dig -x ip ###查看该ip对应的域名信息
DNS双向解析指内网与外网解析分离
内网:1.1.1.0/24 www.westos.com---172.25.254.xx
外网:any www.westos.com---192.25.254.x
实验环境:
配置dns服务器端的网卡为多个ip:
[root@client named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
重启网络服务生效
[root@client named]# systemctl restart network
配置过程:
<1>修改主配置文件/etc/named.conf,实现内网与外网分离
[root@client named]# vim /etc/named.conf
view localnet{
match-clients{1.1.1.0/24;};
zone "." IN {
type hint; ###内网访问1.1.1网段,内网主机读取/etc/named.rfc1912.inter内容
file "named.ca";
};
include "/etc/named.rfc1912.inter";
};
view internet{
match-clients{any;};
zone "." IN {
type hint; ###外网主机读取/etc/named.rfc1912.zones内容
file "named.ca";
};
include "/etc/named.rfc1912.zones";
};
<2>分别为内网与外网修改区域配置文件
[root@client named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
[root@client named]# vim /etc/named.rfc1912.inter
25 zone "westos.com" IN {
26 type master;
27 file "westos.com.inter";
28 allow-update { none; };
<3>分别为内网与外网修改域名解析文件
[root@client named]# cp -p westos.com.zone westos.com.inter
[root@client named]# vim westos.com.inter
通过:%s/172.25.254/1.1.1/g将文件里的ip地址全部转换为1.1.1网段
<4>重启named服务
测试:
在两台ip分别处于所配置的内网段和外网段的主机上进行测试
在另一台虚拟机desktop上配置ip地址为1.1.1.100(内网)
ifconfig eth0 1.1.1.100/24
配置其解析文件,设置dns服务器为1.1.1.181
在真机(ip为172.25.254.81)上进行测试:(外网)
配置其解析文件,设置dns服务器为172.25.254.181
以上就是本篇文章【DNS域名解析服务1(高速缓存dns,dns正向解析,dns正向轮询解析,dns反向解析,dns双向解析)】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/2063.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多