一、DNS系统
作用:将域名解析成IP地址
原因:我们对数字不敏感,记不住这个IP,所以才有域名解析服务
解析方式:
正向解析:域名解析IP
反向解析:IP解析出域名
DNS服务器中存储着大量的IP和域名映射记录,它的记录文件也分为正向解析文件和反向解析文件,正向解析文件中存储的记录成为A记录,A记录记录着域名和IP的映射关系,反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系
DNS服务既属于TCP协议有属于UDP协议,端口号为53号
二、DNS系统的分布式数据结构
.根域
国家域:cn 中国,hk 香港,uk 英国,au 澳大利亚
顶级域(领域):com 商业用途,net 网络组织,edu教育
二级域:个性化的名称,每个域的二级域都不一样
主机名(用途):www(网页),mail(邮件)
例如,百度的域名为www.baidu.com,代表的是根域下有com子域,com子域下面有baidu子域,baidu子域下有主机www
三、DNS系统类型
缓存域名服务器
也成为DNS高速缓存服务器
通过向其他域名服务器查询获得域名===>IP地址记录
将域名查询结果存到本地,提高重复查询时的速度
四、DNS的解析过程
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后,直接将这个映射记录反馈给客户机,客户机直接访问百度服务器,服务器反馈相应的数据。
五、DNS缓存及配置
其中一台DNS服务器可以上网去获取DNS映射记录,客户机将DNS服务器地址指向这台可以上网的DNS服务器,从而获取到相应的映射记录
[root@localhost ~]#yum -y install bind* #安装DNS服务
[root@localhost ~]#vi /etc/named.conf #修改配置文件
listen-on port 53 { 192.168.100.101; }; #监听
...
allow-query {192.168.1001.0/24; }; #允许网段
[root@localhost ~]#systemctl start named #开启DNS服务
[root@localhost ~]#vi /etc/sysctl.conf #永久开启路由
net.ipv4.ip_forward=1
[root@localhost ~]#sysctl -p #加载配置
[root@localhost ~]#echo "1" > /proc/sys/net/ipv4/ip_forward #l临时开启路由
六、DNS主从复制案例配置
环境
两台CentOS 7.6
需求分析
一台作为主DNS服务器 ===>IP 192.168.10.10
另一台作为备份服务器===>IP192.168.10.20
网关都设为192.168.10.2
实验环境
主DNS服务器
[root@localhost ~]# yum -y install bind* #安装bind软件包
[root@localhost named]# setenforce 0 #关闭核心防护
[root@localhost named]# systemctl stop firewalld #关闭防火墙
[root@localhost named]# systemctl start named #开启服务
[root@localhost ~]# vi /etc/named.conf #修改主配置文件
options {
listen-on port 53 { 192.168.10.10; };
listen-on-v6 port 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; };
recursion yes;
}
[root@localhost ~]# vi /etc/named.rfc1912.zones #修改区域配置文件
zone "qiezi.com" IN {
type master;
file "qiezi.com.zone";
allow-transfer { 192.168.10.20; };
also-notify {192.168.10.20; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "qiezi.com.local";
allow-transfer { 192.168.10.20; };
};
[root@localhost ~]# cd /var/named/ #进入区域数据配置文件的目录下
[root@localhost ~]#chown root:named qiezi.com.zone
[root@localhost ~]#chown root:named qiezi.com.local
[root@localhost ~]#vi qiezi.com.local #反向区域文件
......
NS qiezi.com
A 192.168.10.10
119 IN PTR www.qiezi.com
120 IN PTR ftp.qiezi.com
[root@localhost ~]#vi qiezi.com.zone #正向区域文件
......
NS @
A 192.168.10.10
www IN A 192.168.10.10
ftp IN A 192.168.10.20
mail IN CNAME www
[root@localhost named]# systemctl start named #开启服务
[root@localhost named]# nslookup www.qiezi.com #检测本地服务
从DNS服务器
[root@localhost ~]# yum -y install bind* #安装bind软件包
[root@localhost named]# setenforce 0 #关闭核心防护
[root@localhost named]# systemctl stop firewalld #关闭防火墙
[root@localhost named]# systemctl start named #开启服务
[root@localhost ~]# vi /etc/named.conf #修改主配置文件
options {
listen-on port 53 { 192.168.10.20; };
listen-on-v6 port 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; };
recursion yes;
}
[root@localhost ~]# vi /etc/named.rfc1912.zones #修改区域配置文件
zone "qiezi.com" IN {
type slave;
file "slaves/qiezi.com.zone";
masters { 192.168.10.10; };
also-notify {192.168.10.10; };
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "slaves/qiezi.com.local";
masters { 192.168.10.10; };
allow-nitify { 192.168.10.10; };
};
[root@localhost named]# systemctl start named #开启服务
[root@localhost named]# nslookup www.qiezi.com #检测本地服务