本文共 9522 字,大约阅读时间需要 31 分钟。
DNS域名的分布式结构 树型结构
所有域名:必须以点结尾 点(根域)
www.qq.com. www.baidu.com.根域: .
一级域名: .cn .us .kr .hk .tw .jp ...... 二级域名: .edu.cn .com.cn .org.cn .net.cn ...... 三级域名: NB.com.cn haxi.com.cn xixi.com.cn ...... 完全合格的主机名(FQDN): 主机头.域名= www.nb.com.cn Full Qualified Domain Name– 主要执行程序:/usr/sbin/named
– 系统服务:named – 默认端口:TCP/UDP 53 – 运行时的虚拟根环境:/var/named/chroot/• 主配置文件:/etc/named.conf #主要 设置负责解析的域名
tedu.cn• 地址库文件:/var/named/ #完整的主机名与IP地址对应关系
www.tedu.cn----->1.2.3.4
构建DNS服务器:
虚拟机A:
1.安装软件包 [root@svr7 ~]# yum -y install bind-chroot bindbind //域名服务包
bind-chroot //提供虚拟根支持2.修改主配置/etc/named.conf
[root@svr7 ~]# cp /etc/named.conf /etc/named.bak #先备份,以防改错 [root@svr7 ~]# vim /etc/named.confoptions {
directory "/var/named"; #指定地址库文件位置 }; zone "tedu.cn" IN { #指定本机负责解析的域名 type master; #指定本机为主DNS服务器 file "tedu.cn.zone"; #指定地址库文件名称 };注释方法:
1. # 注释一行或行内部分的文字
2. // 注释一行或行内部分的文字
3. /* */ 可连续注释多行文字
]# named-checkconf /etc/nsmed.conf 检查配置语法,无错误无输出
3.建立地址库文件tedu.cn.zone
cp -p:保持权限不变进行复制 原理:让named用户对地址库文件有权限$TTL 生存时间
SOA 授权信息开始
分号表示部分注释
(本区域名简写)@ IN SOA 区域名。 区域管理邮箱。(
)
NS 域名服务器记录
A 地址记录。仅用于正向解析区域
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# ls [root@svr7 named]# cp -p named.localhost tedu.cn.zone [root@svr7 named]# ls -l tedu.cn.zone [root@svr7 named]# vim tedu.cn.zone 所有的域名都要写 点 作为结尾 没有点作为结尾,默认补全本地址库负责的域名 tedu.cn. NS svr7 #声明维护tedu.cn.域名服务器叫什么名称 svr7 A 192.168.4.7 #指定DNS服务IP地址 www A 192.168.4.100 ftp A 1.2.3.4]# named-checkzone 区域名tedu.cn 配置文件tedu.cn.zone #检查配置语法
4.重起named服务
[root@svr7 named]# systemctl restart named虚拟机B,客户端验证:
1.指定DNS服务器地址 ]# echo nameserver 192.168.4.7 > /etc/resolv.conf 2.测试DNS域名解析 ]# nslookup www.tedu.cn#####################################################
访问过程: 客户端---->nslookup www.tedu.cn--->/etc/resolv.conf--->192.168.4.7:53---->named服务----->/etc/named.conf zone "tedu.cn" -----> file "tedu.cn.zone" ----》/var/named/tedu.cn.zone-----》 www A 192.168.4.100#####################################################
搭建多区域的DNS服务器 在虚拟机A实现DNS服务器构建,负责解析sina.com域名 最终实现客户端解析 www.sina.com----->10.11.12.13虚拟机A:
1.修改配置文件,添加zone配置 [root@svr7 /]# vim /etc/named.conf zone "sina.com" IN { type master; file "sina.com.zone"; }; 2.建立新的地址库文件 [root@svr7 /]# cd /var/named [root@svr7 named]# cp -p tedu.cn.zone sina.com.zone [root@svr7 named]# vim sina.com.zone sina.com. NS svr7 svr7 A 192.168.4.7 www A 10.11.12.13 [root@svr7 named]# systemctl restart named######################################################
特殊的解析记录一个域名 ----》 多个不同IP地址
[root@svr7 /]# vim /var/named/sina.com.zone
sina.com. NS svr7 svr7 A 192.168.4.7 www A 192.168.4.11 www A 192.168.4.12 www A 192.168.4.13 [root@svr7 /]# systemctl restart named[root@pc207 ~]# ping www.sina.com
[root@pc207 ~]# ping www.sina.com [root@pc207 ~]# ping www.sina.com直接以*条目匹配,一般只用在正向区域文件中
[root@svr7 /]# vim /var/named/sina.com.zone
sina.com. NS svr7
svr7 A 192.168.4.7 www A 192.168.4.11 * A 192.168.10.100 sina.com. A 192.168.10.200[root@svr7 /]# systemctl restart named
客户端验证:
[root@pc207 ~]# nslookup sina.com [root@pc207 ~]# nslookup www.sina.com [root@pc207 ~]# nslookup wwwww.sina.compc1.sina.com -------> 192.168.20.1
pc2.sina.com -------> 192.168.20.2 pc3.sina.com -------> 192.168.20.3 pc4.sina.com -------> 192.168.20.4 ........ pc50.sina.com -------> 192.168.20.50内置函数:$GENERATE 造数功能:制造连续的数字
[root@svr7 /]# vim /var/named/sina.com.zone
...... $GENERATE 1-50 pc$ A 192.168.20.$[root@svr7 /]# systemctl restart named
客户端验证:
[root@pc207 ~]# nslookup pc22.sina.com [root@pc207 ~]# nslookup pc28.sina.com[root@svr7 /]# vim /var/named/sina.com.zone
sina.com. NS svr7 svr7 A 192.168.4.7 ftp A 192.168.4.110 www A 192.168.4.11 * A 192.168.10.100 sina.com. A 192.168.10.200 $GENERATE 1-50 pc$ A 192.168.20.$ tts CNAME www[root@svr7 /]# systemctl restart named
客户端测试:
[root@pc207 ~]# nslookup tts.sina.com#####################################################
DNS资源解析记录类型有哪些? NS(声明DNS服务器记录) A (正向解析记录) CNAME(解析记录别名)###################################################
主机名映射记录配置文件:/etc/hosts 1.只为本机提供解析 2.解析域名写入/etc/hosts文件立即生效 3.本机解析域名过程中,具有最高优先级[root@pc207 ~]# vim /etc/hosts
192.168.4.120 www.360.com
[root@pc207 ~]# ping www.360.com
PING www.360.com (192.168.4.120) 56(84) bytes of data. www.360.com ---》/etc/hosts ---》/etc/resolv.conf######################################################
DNS子域授权父域:www.tedu.cn
子域:www.bj.tedu.cn父域 www.tedu.cn由虚拟机A,可以解析
子域 www.bj.tedu.cn由虚拟机B,可以解析虚拟机B:构建DNS服务器负责解析bj.tedu.cn域名
1.安装软件包 bind-chroot bind 2.修改主配置/etc/named.conf [root@pc207 ~]# cp /etc/named.conf /etc/named.bak [root@pc207 ~]# vim /etc/named.conf options { directory "/var/named"; #指定地址库文件位置 }; zone "bj.tedu.cn" IN { #指定本机负责解析的域名 type master; #指定本机为主DNS服务器 file "bj.tedu.cn.zone"; #指定地址库文件名称 }; 3.建立地址库文件bj.tedu.cn.zone [root@pc207 named]# cp -p named.localhost bj.tedu.cn.zone [root@pc207 named]# vim bj.tedu.cn.zone bj.tedu.cn. NS pc207 pc207 A 192.168.4.207 www A 192.168.4.150 4.重起named服务 [root@pc207 named]# systemctl restart named [root@pc207 named]# nslookup www.bj.tedu.cn 192.168.4.207#######################################################
配置子域授权客户端解析www.bj.tedu.cn请求发送给虚拟机A,可以获得最终解析结果
虚拟机A:
[root@svr7 /]# vim /var/named/tedu.cn.zone tedu.cn. NS svr7 bj.tedu.cn. NS pc207 svr7 A 192.168.4.7 pc207 A 192.168.4.207 www A 192.168.4.100 ftp A 1.2.3.4 [root@svr7 /]# systemctl restart named[root@svr7 /]# nslookup www.bj.tedu.cn 192.168.4.7
Server: 192.168.4.7 Address: 192.168.4.7#53Non-authoritative answer: #非权威解答
Name: www.bj.tedu.cn Address: 192.168.4.150######################################################
递归解析:
客户端寻求DNS服务器解析,DNS服务器与其他DNS服务器交互,最终将解析结果带回来的过程 options { directory "/var/named"; recursion yes; #是否允许递归解析 }; 迭代解析: 客户端寻求DNS服务器解析,DNS服务器与其他DNS服务器交互过程######################################################
客户端解析域名: 1.查看本机/etc/hosts 2.查看本机/etc/resolv.conf----》DNS服务器地址 3.将解析请求发给DNS服务器地址 4.DNS服务器进行递归查询 5.DNS服务器与其他DNS服务器进行迭代查询 6.获得解析结果 ################################################### 验证迭代查询 • dig命令,更专业的DNS测试工具 [root@pc207 /]# dig www.bj.tedu.cn 192.168.4.7##################################################
缓存DNS服务器 作用:缓存解析记录,提高解析速度,多用于企业内网1.全局转发: 将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务
2.根域迭代: 依次向根、一级、二级....域的DNS服务器迭代
真机上操作:
1.真机搭建本地Yum仓库 [root@room9pc01 /]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@room9pc01 /]# ls /iso/]# mkdir /dvd/
]# mount /iso/CentOS-7-x86_64-DVD-1708.iso /dvd/[root@room9pc01 /]# cd /etc/yum.repos.d
[root@room9pc01 yum.repos.d]# mkdir repo [root@room9pc01 yum.repos.d]# mv *.repo repo [root@room9pc01 yum.repos.d]# vim dvd.repo [dvd] name=CentOS 7.4 baseurl=file:///dvd enabled=1 gpgcheck=0 ]# yum -y install bind bind-chroot 2.搭建缓存DNS服务器 [root@room9pc01 /]# cat /etc/resolv.conf #查看DNS服务器地址 # Generated by NetworkManager search tedu.cn nameserver 172.40.92.6 [root@room9pc01 /]# cp /etc/named.conf /etc/named.bak [root@room9pc01 /]# vim /etc/named.conf options { directory "/var/named"; forwarders { 172.40.92.6; }; #将请求转发给谁 };[root@room9pc01 /]# systemctl restart named
虚拟机A测试: [root@svr7 /]# nslookup www.qq.com 192.168.4.254
什么是分离解析
• 当收到客户机的DNS查询请求的时候 – 能够区分客户机的来源地址 – 为不同类别的客户机提供不同的解析结果(IP地址) – 不同类别的客户机,在解析相同的一个域名,得到的解析结果不同------>A类客户端-------》192.168.1.1
www.qq.com ------>B类客户端-------》10.11.12.13 ------>网通的客户端-------》网通机房的服务器地址 www.qq.com ------>电信的客户端-------》电信机房的服务器地址 – 为客户端提供最近的资源服务器BIND的view视图
• 根据源地址集合将客户机分类 – 不同客户机获得不同结果(待遇有差别) – view分类,客户端匹配由上及下进行匹配, 匹配及停止 – view分类要合理,所有客户端都必须找到自己的类别 – 所有的zone都必须在view大括号中 view "a" { match-clients { 192.168.4.1; 192.168.4.2; } zone "12306.cn" IN { ...... 12306.cn.zone;--->1.2.3.4 }; }; 客户端:192.168.4.3 view "b" { match-clients { 192.168.4.207; } zone "12306.cn" IN { ...... 12306.cn.nsd;---->4.3.2.1 }; };view "c" {
match-clients { any; } zone "12306.cn" IN { ...... 12306.cn.other;---->1.1.1.1 }; }; ################################################### 案例需求及要点 • 环境及需求 – 权威DNS:svr7.tedu.cn 192.168.4.7 – 负责区域:tedu.cn – A记录分离解析 —— 以 www.tedu.cn 为例客户机来自 解析结果
192.168.4.207 --------> 192.168.4.100 其他地址 --------> 1.2.3.4 options { directory "/var/named"; }; view "nsd" { #设置分类名称 match-clients { 192.168.4.207; }; #匹配客户端来源 zone "tedu.cn" IN { type master; file "tedu.cn.zone"; ----》解析结果192.168.4.100 }; }; view "other" { #设置分类名称 match-clients { any; }; #匹配客户端来源 zone "tedu.cn" IN { type master; file "tedu.cn.other"; ----》解析结果1.2.3.4 }; };#####################################################
多区域的分离解析 每一个view中zone的个数要一致 每一个view中zone负责的域名也要一致• 环境及需求
– 权威DNS:svr7.tedu.cn – 负责区域:tedu.cn – A记录分离解析 —— 以 tedu.cn 和 qq.com客户机来自 解析结果
192.168.4.207 ---www.tedu.cn-----> 192.168.4.100 其他地址 ---www.tedu.cn-----> 1.2.3.4192.168.4.207 ---www.qq.com-----> 192.168.4.110
其他地址 ---www.qq.com-----> 10.20.30.40view "nsd" { #设置分类名称 match-clients { 192.168.4.207; }; #匹配客户端来源 zone "tedu.cn" IN { type master; file "tedu.cn.zone"; ----》解析结果192.168.4.100 }; zone "qq.com" IN { type master; file "qq.com.zone"; ----》解析结果192.168.4.110 }; }; view "other" { #设置分类名称 match-clients { any; }; #匹配客户端来源 zone "tedu.cn" IN { type master; file "tedu.cn.other"; ----》解析结果1.2.3.4 }; zone "qq.com" IN { type master; file "qq.com.other"; ----》解析结果10.20.30.40 }; }; ############################################################
补充内容:
acl地址列表 • 为大批量的客户机地址建立列表acl test { 192.168.4.207; 192.168.4.1; 192.168.4.2; 192.168.4.3; };
view "nsd" {
match-clients { test; }; zone "tedu.cn" IN { type master; file "tedu.cn.zone"; }; zone "qq.com" IN { type master; file "qq.com.zone"; }; };转载地址:http://rriqi.baihongyu.com/