DNS服务器的搭建

DNS服务器
• DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名,不常用

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

• BIND服务器端程序
– 主要执行程序:/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 bind

bind //域名服务包
bind-chroot //提供虚拟根支持

2.修改主配置/etc/named.conf
[root@svr7 ~]# cp /etc/named.conf /etc/named.bak
[root@svr7 ~]# vim /etc/named.conf
options {
directory “/var/named”; #指定地址库文件位置
};
zone “tedu.cn” IN { #指定本机负责解析的域名
type master; #指定本机为主DNS服务器
file “tedu.cn.zone”; #指定地址库文件名称
};

3.建立地址库文件tedu.cn.zone
-p:保持权限不变进行复制
原理:让named用户对地址库文件有权限
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# ls
[root@svr7 named]# cp -p named.localhost tedu.cn.zone #’-p’ 带权限复制
[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

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

######################################################
特殊的解析记录
1.DNS轮询功能(负载均衡)
[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

2.泛域名解析记录
[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.com

3.有规律的泛域名解析记录

   pc1.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

G E N E R A T E 1 − 50 p c GENERATE 1-50 pc GENERATE150pc A 192.168.20.$

[root@svr7 /]# systemctl restart named

客户端验证:
[root@pc207 ~]# nslookup pc22.sina.com
[root@pc207 ~]# nslookup pc28.sina.com

  1. CNAME解析记录的别名
    [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                                                ##  dasdadad.sina.com 解析到  192.168.10.100 服务器
    

sina.com. A 192.168.10.200 ## sina。com 解析到 192.168.10.200
G E N E R A T E 1 − 50 p c GENERATE 1-50 pc GENERATE150pc A 192.168.20.$ ## 【1-50 】pc .sina.com 分别解析给 192.168.20.$(1-50)
tts CNAME www ## tts.sina.com = ftp(上面的ftp对应的ip).sina.com cname的应用

[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 ##添加NS声明
svr7 A 192.168.4.7
pc207 A 192.168.4.207 ##子服务器的IP
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#53

Non-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服务器地址
kuaijiefangshi 3.将解析请求发给DNS服务器地址
4.DNS服务器进行递归查询
5.DNS服务器与其他DNS服务器进行迭代查询
6.获得解析结果
###################################################
验证迭代查询 ##服务器之间的交互过程

• dig命令,更专业的DNS测试工具 ##显示更详细的信息
[root@pc207 /]# dig www.bj.tedu.cn 192.168.4.7

##################################################
缓存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/ ##光盘的镜像文件挂载在/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服务器 ##减少和外网DNS服务器交互的过程 直接进行WEB访问
[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.cnqq.com

客户机来自 解析结果
192.168.4.207 —www.tedu.cn-----> 192.168.4.100
其他地址 —www.tedu.cn-----> 1.2.3.4

  192.168.4.207 ---www.qq.com-----> 192.168.4.110
       其他地址 ---www.qq.com----->  10.20.30.40

view “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
};
};
############################################################

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值