DNS域名解析服务

DNS :

功能

正向解析:根据域名查找对应IP地址

反向解析:根据IP地址查找对应的域名

DNS端口:TCP53端口用于连接DNS服务器

                    UDP53端口用于解析DNS

域名的结构

是一种树形结构 以根域.  为起点         每个域之间用”  .  “来间隔

DNS域名解析工作原理:

客户端会先讲DNS解析请求发送给本地缓存域名服务器 如果本地缓存域名服务器有相关记录则直接返回给服务器 否则讲请求发送给根域服务器进行解析 根域服务器会根据域名的顶级域再将DNS解析请求委派给相对应的顶级域服务器进行解析 顶级域服务器也会根据域名的二级域或子域再讲DNS解析请求委派给 相对应的二级域或子域的服务器进行解析         最后子域服务器会根据域名的主机名解析出响应的IP地址 再返回给本地缓存域名服务器和客户端

DNS域名解析查询方式:

1.递归查询:本地域名服务器先将DNS解析请求发送给根域名服务器 根域名服务器再将解析请求转发给相对应的顶级域名服务器 顶级域名服务器再将解析请求转发给相对应的二级域名或子域名服务器 最后子域名服务器会根据域名的主机名解析出响应的IP地址后 再逐层返回给本地域名服务器

总结:一探到底逐层返回

2.迭代查询:本地域名服务器先将DNS解析请求发送给根域名服务器 根域名服务器再返回响应并告知本地服务器去找相对应的顶级域        本地域名服务器再将DNS请求寻找相对应的顶级域服务器 顶级域服务器响应并告知本地服务器去找相对应的二级域或子域        本地服务器讲DNS请求寻找对应的子域或者二级域     最后子域名或二级域名服务器得到响应解析出IP地址并返回本地域名服务器

总结:次次寻找都有回应

根据域名查找IP地址的方法: 先使用本机本地的hosts文件查找相关记录        再使用DNS服务进行解析

实验正向解析:

先初始化操作

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

然后yum安装 bind


[root@localhost ~]# cd /mnt/Packages/
[root@localhost Packages]# yum install -y bind
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.9 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package      架构           版本                            源            大小
================================================================================
正在安装:
 bind         x86_64         32:9.11.4-26.P2.el7_9.9         ren1         2.3 M

事务概要
================================================================================
安装  1 软件包

总下载量:2.3 M
安装大小:5.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                         1/1
  验证中      : 32:bind-9.11.4-26.P2.el7_9.9.x86_64                         1/1

已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.9

完毕!

然后cd进到这个目录然后修改三个配置文件

[root@localhost ~]# cd /mnt/Packages/
[root@localhost Packages]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
    


以此修改第二个,第四个第九个配置文件

第一个配置文件
vim /etc/named.conf

options {
        listen-on port 53 { any };    #any表示监听所有地址
        #listen-on-v6 port 53 { ::1; };        #ipv6z我们现在用不到直接注释
            directory       "/var/named";    #表示解析数据文件放在哪里
        dump-file       "/var/named/data/cache_dump.db";#缓存文件
        statistics-file "/var/named/data/named_stats.txt";#状态统计文件
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };    #允许那些客户端能够访问
        recursion yes;        #表示递归查询

修改第四个配置文件
 vim /etc/named.rfc1912.zones

zone "localhost.localdomain" IN {
        type master;            #代表组域名服务器
        file "named.localhost";    #域名解析数据文件放在那个文件
        allow-update { none; };    #是否允许更新
然后我们需要再中间插入几行命令
zone "ren1.com" IN {    #名字自取
        type master;
        file "ren1.com.zone";
        allow-update { none; };
}






zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN 
#表示解析ipv6
{
        type master;    
        file "named.loopback";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};    ##上面几行表示方向解析




然后

$TTL 1D            #代表生命周期
@       IN SOA  @ rname.invalid. (    #@代表域名    rname.invalid代表管理员邮箱
soa代表主从域名服务器
                                        0       ; serial
                                        1D      ; refresh#刷新时间
                                        1H      ; retry#
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1    #a代表解析记录
        AAAA    ::1
         NS      ren1.com.
        A       192.168.80.66

www IN A        192.168.80.67
mail IN A       192.168.80.68
news IN A       192.168.80.69
ftp IN CNAME    www
*       IN A    192.168.80.70
~
                       #IN 代表正向解析

         

*代表除了上面的域名     其他的所有域名都解析成一个地址
[root@localhost Packages]# cd /var/named/
[root@localhost named]# ll
总用量 16
drwxrwx---. 2 named named    6 2月  24 2022 data
drwxrwx---. 2 named named    6 2月  24 2022 dynamic
-rw-r-----. 1 root  named 2253 4月   5 2018 named.ca
-rw-r-----. 1 root  named  152 12月 15 2009 named.empty
-rw-r-----. 1 root  named  152 6月  21 2007 named.localhost
-rw-r-----. 1 root  named  168 12月 15 2009 named.loopback
drwxrwx---. 2 named named    6 2月  24 2022 slaves
[root@localhost named]# cp -p named.localhost ren1.com.zone

然后修改[root@localhost named]# vim ren1.com.zone这个文键

然后重启配置

[root@localhost ~]# systemctl start named
[root@localhost ~]# systemctl status named.service^C
[root@localhost ~]# ^C
[root@localhost ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

这时候重新开一个虚拟机

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值