DNS

DNS工作原理

DNS服务器的功能

正向解析:根据注册的域名查找其对应的IP地址
反向解析:根据IP地址查找相对应的注册域名

DNS服务器的分类

根域名服务器 一级DNS服务器 二级DNS服务器 三级DNS服务器 缓存DNS

所有的域名都要以点作为结尾
.com结尾是国际商业组织
根域名: 点 .
一级域名: .cn .us .tw .hk .jp .kr …
二级域名: .com.cn .net.cn .org.cn …
三级域名: nb.com.cn xxx.com.cn …

完全合格的主机名(FQDN):主机头部+合法的域名

DNS默认端口号:53
系统服务:named
主要执行程序:/usr/sbin/named
主配置文件:/etc/named.conf #设置本DNS服务器负责接解析的域名
地址库文件:/var/named #完全合格的主机名与IP地址对应关系

构建DNS服务

DNS运行身份默认是普通用户named
虚拟机A:

1.装包
[root@svr7 ~]# yum  -y  install bind  bind-chroot      #下载bind和bind-chroot软件包

运行时的虚拟根环境:/var/named/chroot
bind-chroot:实现牢笼政策
bind:主程序

2.主配置文件的修改

// # /* */ 都是表示注释的意思
#127.0.0.1永远代表本机

[root@svr7 ~]# cp  /etc/named.conf  /etc/name.bak                  #拷贝一份主配置文件做备份
[root@svr7 ~]# vim  /etc/named.conf                                 #修改默认的主配置文件
options {
        directory       "/var/named";                                #指定地址库文件存放路径
};      

zone "tedu.cn" IN {                                                   #设置本机负责解析的域名
        type master;(主DNS服务器)或salve(副DNS服务器)                    #设置本机为主DNS服务器
        file "tedu.cn.zone";                                  #设置地址库文件路径,文件名字必须要和地址库的名字一模一样(可以自己起名)
};      
3.建立新的地址库文件

必须保证named用户对该文件具备读取权限
cp -p:保持权限不变进行复制

所有的域名必须要以点结尾!!!

如果没有以点结尾,则默认补全地址库文件负责的域名

 [root@svr7 ~]# cd  /var/named        #切换到默认路径
[root@svr7 named]# ls
chroot  dynamic   named.empty      named.loopback
data    named.ca  named.localhost  slaves
[root@svr7 named]# cp   -p  named.localhost    tedu.cn.zone     #复制源地址库文件,保持其原有权限不变
[root@svr7 named]# ls
chroot  dynamic   named.empty      named.loopback  tedu.cn.zone
data    named.ca  named.localhost  slaves
[root@svr7 ~]# vim  /var/named/tedu.cn.zone

tedu.cn.        NS      svr7                              #声明DNS服务器
svr7            A       192.168.4.7                       #指定DNS服务器IP地址
www             A       1.1.1.1                           #正向解析记录
ftp             A       2.2.2.2                           #正向解析记录
abc             A       3.3.3.3                           #正向解析记录

[root@svr7 ~]# named-checkconf  /etc/named.conf            #查看主配置文件是否有问题
[root@svr7 ~]# named-checkzone     tedu.cn   /var/named/tedu.cn.zone      #查看地址库文件是否有问题

[root@svr7 ~]# systemctl  restart  named                     #重起服务

虚拟机B客户端验证:
1.指定虚拟机B的DNS服务器的地址

[root@pc207 ~]# echo  nameserver  192.168.4.7 >/etc/resolv.conf
[root@pc207 ~]# cat  /etc/resolv.conf
nameserver 192.168.4.7

2.测试域名解析

[root@pc207 ~]#  nslookup   www.tedu.cn
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.tedu.cn
Address: 1.1.1.1

多区域的DNS服务器

虚拟机A:

[root@svr7 named]# vim   /etc/named.conf 
options {
        directory       "/var/named";
};

zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};
zone "qq.com" IN {
        type master;
        file "qq.com.zone";
[root@svr7 ~]# cd  /var/named
[root@svr7 named]# cp  -p  named.localhost   qq.com.zone
[root@svr7 named]# vim  qq.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (       
                                        0       ; serial
                                        1D      ; refresh#刷新
                                        1H      ; retry#重置
                                        1W      ; expire#过期时间
                                        3H )    ; minimum#最小
qq.com.         NS      svr7
svr7            A       192.168.4.7
aaa             A       198.168.2.0
xxx             A       1.1.1.1
[root@svr7 named]# systemctl  restart  named

虚拟机B:

[root@pc207 ~]# echo  nameserver  192.168.4.7 >/etc/resolv.conf
[root@pc207 ~]# nslookup  aaa.qq.com
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	aaa.qq.com
Address: 198.168.2.0


特殊解析

DNS轮询

基于DNS站点负载均衡
一个域名---->多个不同IP地址
每个IP提供镜像服务内容
虚拟机A:

[root@svr7 ~]# vim  /var/named/tedu.cn.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.        NS      svr7
svr7            A       192.168.4.7
www             A       192.168.11.1
www             A       192.168.10.10
www             A       192.168.1.125
www             A       1.1.1.1
ftp             A       2.2.2.2
abc             A       3.3.3.3
[root@svr7 ~]# systemctl  restart named

虚拟机B:

[root@pc207 ~]# nslookup   www.tedu.cn
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.tedu.cn
Address: 192.168.1.125
Name:	www.tedu.cn
Address: 192.168.10.10
Name:	www.tedu.cn
Address: 1.1.1.1
Name:	www.tedu.cn
Address: 192.168.11.1

泛域名解析

虚拟机A:

[root@svr7 ~]# vim  /var/named/tedu.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.        NS      svr7
svr7            A       192.168.4.7
www             A       192.168.11.1
www             A       192.168.10.10
www             A       192.168.1.125
www             A       1.1.1.1
ftp             A       2.2.2.2
abc             A       3.3.3.3
*               A       10.20.30.40
tedu.cn.        A       5.6.10.20
[root@svr7 ~]# systemctl  restart named

虚拟机B:

[root@pc207 ~]# nslookup  dhgs.tedu.cn
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	dhgs.tedu.cn
Address: 10.20.30.40

[root@pc207 ~]# nslookup   tedu.cn
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	tedu.cn
Address: 5.6.10.20

解析记录的别名
[root@svr7 ~]# vim  /var/named/tedu.cn.zone
tedu.cn.        NS      svr7
svr7            A       192.168.4.7
www             A       192.168.11.1
www             A       192.168.10.10
www             A       192.168.1.125
www             A       1.1.1.1
ftp             A       2.2.2.2
abc             A       3.3.3.3
*               A       10.20.30.40
tedu.cn.        A       5.6.10.20
tts            CNAME    ftp
[root@svr7 ~]# systemctl  restart named

虚拟机B:

[root@pc207 ~]# nslookup    tts.tedu.cn
Server:		192.168.4.7
Address:	192.168.4.7#53

tts.tedu.cn	canonical name = ftp.tedu.cn.
Name:	ftp.tedu.cn
Address: 2.2.2.2
DNS资源解析记录都有哪些

NS记录:服务器声明记录
A记录:正向解析记录
CNAME记录:解析记录别名


主机名映射文件 /etc/hosts

1.可以直接达到解析域名的作用
2.只能为本机提供解析
3.nslookup不读/etc/hosts文件!

[root@svr7 ~]# vim  /etc/hosts
[root@svr7 ~]# ping  www.360.com       #只要可以ping就说明可以解析!

子域授权
首先准备一台全新的虚拟机,手动配置IP地址为192.168.4.10/24 主机名为C.tedu.cn 查看本机是否有yum源,如果没有则配置yum源
虚拟机A:DNS服务器,负责解析qq.com
虚拟机B:DNS服务器,负责解析bj.qq.com
虚拟机C:客户端
子域授权:让虚拟机A解析bj.qq.com
只能让父域声明子域,不能让子域去声明父域

虚拟机B:

[root@pc207 ~]# yum  -y  install  bind-chroot  bind        #装包

[root@pc207 ~]# vim  /etc/named.conf                        #修改主配置文件
options {
        directory       "/var/named";
};      
zone "bj.qq.com" IN {
        type master;
        file "bj.qq.com.zone";
};      
[root@pc207 ~]# cd  /var/named
[root@pc207 named]# ls
chroot  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@pc207 named]# cp  -p  named.localhost   bj.qq.com.zone
 
[root@pc207 named]# vim  bj.qq.com.zone                      #修改调用配置文件
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
bj.qq.com.      NS      pc207
pc207           A       192.168.4.207
www             A       1.2.3.40
[root@pc207 named]# systemctl restart  named                #重起服务

客户端C:

[root@C ~]# nslookup   www.bj.qq.com      192.168.4.207
Server:		192.168.4.207
Address:	192.168.4.207#53

Name:	www.bj.qq.com
Address: 1.2.3.40


子域授权
虚拟机A:声明虚拟机B ,DNS服务器

[root@svr7 ~]# vim  /var/named/qq.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
qq.com.         NS      svr7
bj.qq.com.      NS      pc207
svr7            A       192.168.4.7
pc207           A       192.168.4.207
aaa             A       198.168.2.0
xxx             A       1.1.1.1
[root@svr7 ~]# vim  /var/named/qq.com.zone

客户端C:

[root@C ~]# nslookup  www.bj.qq.com   192.168.4.7
Server:		192.168.4.7
Address:	192.168.4.7#53

Non-authoritative answer:                  #非权威解答
Name:	www.bj.qq.com
Address: 1.2.3.40


递归解析:

将首选DNS服务器与其他DNS服务器交互,最终将解析结果带回来的过程
迭代解析:
将首选DNS服务器与其他DNS服务器交互,最终指引下一个DNS服务器地址


专用于解析DNS域名测试的命令
[root@C ~]# dig www.bj.qq.com 192.168.4.7


缓存DNS服务器,缓存解析结果,加快访问

虚拟机A:真DNS服务器
虚拟机B:缓存DNS服务器
虚拟机C:客户端

在虚拟机B:
1.修改主配置文件

[root@pc207 ~]# vim  /etc/named.conf 
options {
        directory       "/var/named";
        forwarders      {  192.168.4.7;  };         #当收到域名解析时直接转发给虚拟机A,让虚拟机A去解析域名

};
[root@C ~]# nslookup  www.qq.com  192.168.4.207
Server:		192.168.4.207
Address:	192.168.4.207#53

Non-authoritative answer:
Name:	www.qq.com.tedu.cn
Address: 10.20.30.40
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值