DNS
服务器 最后都是 ip地址
dns服务器进行解析:
将www.baidu.com,——>180.101.50.242
将域名转为ip地址
cat /etc/resolv.conf,查看是否有域名
cat /etc/hosts 给域名改ip地址的配置文件 本机hosts文件优先级是最高的
DNS系统的作用
正向解析:根据域名查找对应的IP地址
反向解析:根据ip地址i查找对应的域名
DNS 解析过程
客户端 ->本缓存域名服务器 ->根域服务器 -> 二级域服务器 ->子域服务器 ->根主机名解析出IP (迭代、递归)
域名:www.baidu.com.
. 根域
.com 顶级域
.baidu 二级域
www.baidu.com. 三级域
www 主机名
(前面没有.的是主机名)
根服务器解析(只能解析 主机名. ) baidu.
一级域解析(只能解析.com.) www.com.
二级域解析(只能解析 主机名.com) www.baidu.com.
迭代查询
问一个反馈一个回答,直到找到权威服务器帮你解析出ip地址
根服务器-->一级域服务器-->二级域服务器
递归查询
一层一层探到底再一层层返回
二级域服务器找到了baidu,递归查询baidu
①先查本机的缓存记录 ②查询hosts文件 ③查询dns域名服务器,交给dns域名服务器处理以上过程成为递归查询:我要一个答案你直接会给我结果 ④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步 ⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器 ⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器 ⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器 ⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
DNS服务器类型
主域名服务器:解析
从域名服务器:跟主同步,从主拉取数据库
dns的两种协议
tcp:传递主从
udp:解析
BIND软件安装
bind实现dns的软件
软件名叫bind
服务名称 named
主配置文件:/etc/named.conf
区域配置文件:/etc/named.rfc1912.zones
数据库文件:/var/named/任意域名 (需要注意此文件的权限)
DNS域名解析服务器实验
记录的类型:
A:域名解析成IP地址
AAAA : --> IPV6
PTR :反向解析
CNAME:别名记录
MX:邮件交换器
配置正向解析
1.先安装bind软件yum install bind -y
2.关闭防火墙和核心防护systemctl stop firewalld && setenforce 0
3.vim /etc/sysconfig/network-scripts/ifcfg-ens33进入网卡配置文件里,更改DNS为本机ip,然后重启网卡sytemctl restart network
4.vim /etc/named.conf 修改主配置文件
将listen-on port 53 { 127.0.0.1; };和 allow-query { localhost; };前面加上// 关闭 options { // listen-on port 53 { 127.0.0.1; }; 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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; // allow-query { localhost; };
5.vim /etc/named.rfc1912.zones 文件里有模板可复制黏贴后修改
zone "hyh.com" IN { type master; file "hyh.com.zone"; };
6.cd /var/named
7.cp -a named.localhost hyh.com.zone 保留源文件的权限和属主的属性复制
8.vim hyh.com.zone
$TTL 1D 有效解析记录的生存周期 @ IN SOA master.hyh.com. admin.hyh.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS master master A 192.168.116.100 记录当前区域的DNS服务器的名称 www A 192.168.116.21 记录主机ip地址 ftp A 192.168.116.80 记录正向解析www.hyh.com对应的ip,可用通配符 PTR 反向解析 A:域名解析成IP地址 AAAA : --> IPV6 PTR :反向解析 CNAME:别名记录 MX:邮件交换器
9.systemctl restart named
10.host www.hyh.com 测试成功地址正确
反向解析(将IP地址转换成域名)
主从复制
实验环境:
主服务器地址:192.168.116.30
从服务器地址:192.168.116.20
yum install bind -y 安装bind程序
在正向解析完成的主机上,增加一个从机的配置
1.vim /etc/sysconfig/network-scripts/ifcfg-ens33
dns1=192.168.116.30
dns2=192.168.116.20
2.systemctl stop firewalld && setenforce 0 关闭防火墙,关闭核心防护
3.vim /etc/named.conf 修改主配置文件
将
listen-on port 53 { 127.0.0.1; };
allow-query { localhost; };
前面加上// 关闭
4.vim /etc/named.rfc1912.zones
zone "hyh.com" IN {
type slave;
file "slaves/hyh.com.zone";
masters { 192.168.116.30; };
};
5.systemctl restart network重启网卡
systemctl restart named 重启bind的程序
6.cd slaves/ ls查看是否建立成功文件夹
7.host www.hyh.com 测试,显示对应的ip即成功