DNS 应用层协议。域名解析服务
作用:域名解析
- 正向解析 主机名àIP
- 反向解析 IPà主机名
玩懂DNS 只需清楚两个相关核心
核心概念:
- 区域zone
- 记录 record
记录 record
一行信息称之为一个记录
记录类型:
1、A记录(主) 日常维护最常用 主机名和IP地址的对应关系
例: www.jd.com A 1.1.1.1
2、PTR记录 反向指针记录 IP和主机名的对应关系 需要反向解析时需要有
2.2.2.2 PTR www.a.com
3、MX记录 标识邮件服务器 该记录不能单独存在、必须配合A记录存在
MX 5(优先级) mail.linux.com 说明该主机名代表邮件服务器
Mail.linux A 3.3.3.3 A记录
优先级:数字越小优先级越高
4、NS记录 标识DNS服务器本身 该记录不能单独存在、必须配合A记录存在
NS dns1.linux.com
Dis1,linux.com A 5.5.5.5
5、CNAME记录别名
www.baidu.com CNAME www.a.shifen.com
区域 zone
一个DNS不可能获取所有域名解析,所以采用分级
DNS域名结构
根域.
一级域 com cn gov edu org
二级域 qq jd Baidu
区域分两类
正向区域、反向区域 正向区域表现出来就是一个二级域名
例:Linux.com 负责Linux结尾的所有主机名
反向区域
x.x.x.in-addr.arpa IP地址的前三位倒过来
例:192.168.10.8 à10.168.192.in-addr.arpa 负责这个区域的域名解析
如何配置DNS
先创建区域,再根据需求在DNS区域中写记录
实操:
在Linux主机如何部署DNS服务
1、安装软件 bind
2、启动对应服务 named
3、配置主配置文件 /etc/named.conf
将127.0.0.1修改为本机物理网卡IP/any本机所有IP
Allow-query {locakhost;}为自己服务 修改为any(任何设备)
- 创建区域 /etc/named.rfc1912.zones
Zone “Linux.com” IN {
type master; 区域类型为主类型,master主区域,表示受自己控制
file “记录文件名” 给记录文件取一个名字
}
记录文件存储在/var/named下
4、写记录文件 记录文件有特定格式 /var/named含有模板
使用模板时,记得cp -a 复制权限
打开创建模板 根域
@ 替换为自身区域名 严格按照层次结构写到根域
rname.invalid. 邮箱地址邮箱的@换成. 可以不写默认
NS 主机名
主机名 A 域名
MX 主机名
主机名 A 域名
5、启动named服务 systemctl enable 服务 开机自启
6、测试 nslookup sever指向自己创建的DNS
遇到问题:
问题:用nslookup会显示dns超时
原因:在创建记录文件时,未cp -a ,导致named服务不能成功读取到记录文件内容
解决办法:chmod 777 记录文件
反向解析
- 创建反向解析区
Zone “反向解析地址.in-addr.arpa” in
指定区域类型:master
File “10.1.1.zone” 记录文件名
- 创建记录文件 记得写上根域
cp -a
1 PTR www.linux.com.
3、重启服务
systemctl restart named
遇到问题:
问题情况:超时未响应
原因:Linux自带防火墙未关闭
解决办法:
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
iptables -F
DNS复制
为了避免单个DNS出现故障
两个DNS数据同步形成复制关系,数据变化实时同步,形成高可用复制关系
操作:
主:
记录文件:在记录文件将两台NS记录写入
区域文件:allow-transfer {从DNS地址;};
重启服务
从:
从只会复制记录文件、区域文件得自己创建
区域:
Type slave 指成从区域
Masters {主DNS}
File “记录文件”
创建记录文件
配置完成
主更改记录,在Serial(序列号)更改
DNS查询类型:
- 递归查询,发送一次请求
- 迭代查询,发送多次请求
Host文件速度快,存在linux本地