一、概述
1、 DNS服务
概念
一套分布式的域名服务系统,即有多个DNS服务器遍布于世界。每个DNS服务器上存放着大量的机器域名和IP地址的映射,并且是动态更新。众多网络客户端程序都使用DNS协议来向DNS服务器查询目标主机的IP地址。
全称 Domain Name system | service
作用
正向解析 将已知的域名解析为IP地址
反向解析 将已知的IP地址解析为域名
监听端口 53/udp | 53/TCP
默认运行用户 named
2、域名
完全限定域名 FQDN
组成 www.baidu.com
主机名.二级域名.顶级域名.
分类
根域 .
顶级域 (不能擅自更改,必须有资质的部门更改)
cn
org
edu
hk
uk
com
mil
二级域 (自定义,需要进行注册,并且不能侵权,需要向公安局备案)
baidu
sina
soho
163
三级域(二级域的子域)
二、DNS解析过程
1、客户端如何解析域名
本地DNS缓存
本地hosts文件
指向的DNS服务器IP 直接给出解析结果 递归查询
没有给出解析结果 迭代查询
2、 递归查询
客户机与本地DNS服务器之间的查询。(所答即所问)
3、迭代查询
本地DNS服务器与根等其他DNS服务器之间的查询。(所答非所问)
三、域名服务器的分类
1、 根据作用
⑴根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都
知道所有的顶级域名服务器的域名和IP地址。
⑵顶级域名服务器:负责管理该顶级域名注册的二级域名。
⑶权限域名服务器:负责一个“区”的域名服务器。
⑷本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重
要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。
2、 根据应用场景
主服务器(Primary Name server) 为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务。
辅助服务器(Second Name Server) 主服务器DNS长期无应答,从服务器也会停止提供服务,主从区域治安的同步采用周期性检查+通知的机制,从服务器周期性地检查主服务器上地记录情况,一旦发现修改就会同步,另外主服务器上如果又数据被修改了,会立即通知从服务器更新记录。
高速缓存服务器(Cache-only server) 缓存服务器是一种不负责域名数据维护,也不负责域名解析地DNS服务类型。它将用户经常使用到地域名与IP地址解析记录保存在主机本地中,来提升下次解析的效率。
四、DNS服务器部署
1、介绍
软件包 bind
配置文件目录 /etc/
区域文件目录|安装目录 /var/named/
服务名 named
2、基础环境配置
3、安装
yum install -y bind
4、配置文件解析
cd 进入 /var/named/
vim named .conf
注释 单行注释 //
多行注释 /* 多行数据 */
配置项
⑴options
配置DNS服务的运行状态
listen-on port 53 { 127.0.0.1; }; 定义IPv4监听地址及端口号
listen-on-v6 port 53 { ::1; }; 定义IPv6监听地址及端口号
directory "/var/named"; 区域文件目录,不建议更改
dump-file "/var/named/data/cache_dump.db"; 缓存文件目录,不建议更改
allow-query { localhost; }; 允许哪些客户端来访问DNS服务器,any表示所有的客户端都能访问
⑵zone
配置区域文件的名称
正向解析
zone "jxedu.com" IN { type master; file "jxedu.com.zones"; };
备注:
zone "需要解析的域名" IN { type 服务器类型; (master 、 slave) file "解析文件名称"; }
反向解析
zone "100.168.192.in-addr.arpa" IN { type master; file "192.168.100.zones"; };
(备注)把底下第一段注释掉
⑶include 将指定路径的配置文件内容加载到当前配置文件中
5、区域文件类型
正向解析 解析文件名称命名规则 jxedu.com.zones
反向解析 解析文件名称命名规则 192.168.100.zones
6、 区域文件的模板文件
named.empty
7、生成区域文件
进入区域文件配置目录
cd /var/named
创建正向和反向解析文件
cp -p named.empty jxedu.com.zones
cp -p named.empty 192.168.100.zones
8、解析记录的类型
A IPv4正向解析记录
NS DNS服务器解析记录
MX 邮件解析记录
CNAME 别名解析记录
PTR 反向解析记录
9、 修改解析文件
正向解析文件
$TTL 3H
@ IN SOA jxedu.com. root.jxedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1.jxedu.com.
dns1 A 192.168.100.254
www A 192.168.100.100
ftp A 192.168.100.101
mail A 192.168.100.102
ww A 192.168.100.103
备注: jxedu.com. 指定要解析的域名
备注:root.jxedu.com. 管理员域名
反向解析文件
$TTL 3H
@ IN SOA jxedu.com. root.jxedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1.jxedu.com.
254 PTR dns1.jxedu.com.
100 PTR www.jxedu.com.
101 PTR ftp.jxedu.com.
102 PTR mail.jxedu.com.
103 PTR ww.jxedu.com.
五、服务端DNS命令
named-checkconf 检查配置文件语法
named-checkzone 检查区域文件语法
named-checkzone zonename filename
如果配置成功应该出现ok
客户端解析验证
配置DNS地址 DHCP服务器分配
手动配置 /etc/resolv.conf
nameserver 192.168.100.254
客户端常见解析命令
nslookup 交互式
正向解析案列
反向解析案例
dig
host
六、拓展
第三台机器输入指定文件第二台配置成功
第三台安装 yum install -y httpd 安装yum源
安装完成过后用echo输入hahaha
第三台 配置同一网段网址
改成同一网址
关闭和开启网卡
重启一下浏览器
第二台机子从firefox输入网址www.jxedu.com打开
七、主从DNS部署案例
主从DNS部署
主服务
type master;
在zone配置汇中加入
vim /etc/named.conf
allow-transfer { 192.168.100.253; };
192.168.100.253 是从服务器地址
在options中配置
allow-transfer { 192.168.100.253; };
全局配置,允许文件中所有的区域文件进行传送
从服务检查slaves
从机检查
type slave;
zone "jx.com" IN {
type slave;
file "slaves/jx.com.zones";
masters { 192.168.100.254; }; //主服务器地址
};
zone "100.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.100.zones";
masters { 192.168.100.254; };
};
我们 cd /var/named/slaves 然后ls查询
然后vim /jx.com.zones 进入
发现里面加密文件
如何去除加密回到第一台机子里终端输入 vim /etc/resolv.conf里面把IP改为192.168.100.253
确认一下解析
反向解析试一下
重启一下named
回从服务器中设置反向解析
重启一下named
在一次LS 192.168.100.zones