DNS服务概述
作用:将域名解析成IP地址
原因:我们对数字敏感,记不住这个IP地址,所以才有域名解析服务。
解析方式:
正向解析:域名解析出IP
反向解析:IP解析出域名
1、DNS服务器中存储着大量的ip地址和域名映射记录,它的记录文件也分为正向解析文件和反向解析文件。
2、正向解析文件中存储的记录称为A记录,A记录记录着域名和IP的映射关系。
3、反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系。
4、DNS服务既属于TCP协议也属于UDP 协议,端口号为53号。
. 根域
国家域:cn 中国,hk 香港, uk 英国, au 澳大利亚
顶级域(领域):com 商业用途 net 网络组织 edu 教育
二级域:个性化的名称,每个域的二级域都不一样
主机名(用途):www(网页),mail(邮件)
解析过程
DNS的解析过程是分层解析的,一般客户机将解析的请求发送给它的DNS服务器,DNS服务器首先是从根DNS服务器(.)开始发送域名解析请求,根将COM域的IP反馈给客户机的本地DNS服务器,本地DNS服务器访问COM域服务器,COM域服务器反馈baidu域的ip给本地DNS服务器,本地DNS服务器访问baidu域服务器询问www域服务器的ip,baidu域服务器给dns服务器反馈www域的ip,这时本地DNS服务器得到www.baidu.com的精确ip后,直接将这个映射记录反馈给客户机,客户机直接访问www.baidu.com服务器,服务器反馈相应的数据。
DNS缓存:
其中一台DNS服务器可以上网区获取DNS映射记录,客户机将DNS服务器地址指向这台可以上网的DNS服务器,从而获取到相应的映射记录。
备注:开启路由功能的这台服务器需要预装DNS服务
缓存
实验环境 一台服务器192.168.188.10
一台客户机192.168.188.20
[root@server1 ~]# vi /etc/sysctl.con
在最后一行添加---net.ipv4.ip_forward = 1
[root@server1 ~]# sysctl -p-----加载
net.ipv4.ip_forward = 1
[root@server1 ~]# nslookup www.google.com---测试谷歌
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: www.google.com
Address: 173.252.103.64
[root@server1 ~]# yum -y install bind*-----安装DNS软件
[root@server1 ~]# vi /etc/named.conf
root@server1 ~]# systemctl start named--启动
客户机192.168.188.20
[root@server1 ~]# yum -y install bind* -----安装DNS
[root@server1 ~]# vi /etc/resolv.conf
就可以测试了
主从服务器解析
实验环境
主服务器一台192.168.188.10
从服务器一台192.168.188.20
客户机一台 192.168.188.30
都关闭防火墙和核心防护
主从服务器都安装bind*
主从服务器和客户机都要修改
主服务器DNS1
zone "aa.com" IN {
type master;
file "aa.com.zone";
allow-transfer { 192.168.188.20; };
also-notify { 192.168.188.20; };
};
zone "188.168.192.in-addr.arpa" IN {
type master;
file "aa.com.local";
allow-transfer { 192.168.188.20; };
};
正向解析
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.188.10
www IN A 192.168.188.10
ftp IN A 192.168.188.20
mail IN CNAME www
反向解析
@ IN SOA aa.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS aa.com.
A 192.168.188.10
110 IN PTR www.aa.com.
111 IN PTR ftp.aa.com.
启动DNS
[root@server1 named]# systemctl start named
[root@server1 named]# systemctl status named.service
验证DNS1
5.DNS2 192.168.188.20
zone "aa.com" IN {
type slave;
masters { 192.168.188.10; };
allow-notify { 192.168.188.10; };
file "slaves/aa.com.zone";
};
zone "188.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.188.10; };
allow-notify { 192.168.188.10; };
file "slaves/aa.com.local";
};
加载
把DNS1服务关掉再用客户机nslookup ftp.aa.com