当前位置: 首页 > ds >正文

DNS服务实验

该文章将介绍DNS服务的正向和反向解析实验主从实验转发服务器实验以及Web解析实验

正向解析实验:将域名解析为对应的IP地址

反向解析实验:将IP地址解析为对应的域名

主从实验:主服务器区域数据文件发送给从服务器,从服务器通过区域传输(Zone Transfer)机制从服务器获取最新的数据

转发服务器实验:接收客户端的请求,并将这些请求转发到指定的目标服务器

Web解析实验:通过配置DNS服务器,将域名解析为对应的Web服务器IP地址,实现用户通过域名访问Web服务的过程

本篇文章目录

安装软件包(准备工作)

实验部分

正向解析实验

反向解析实验

主从实验

转发服务器实验

Web解析实验


安装软件包(准备工作)

[root@Jian ~]# dnf install bind -y

安装后,该软件包有个配置文件/etc/named.conf

查看该配置文件的相关信息

[root@Jian ~]# ll /etc/named.conf

-rw-r-----. 1 root named 1722 Sep 20  2023 /etc/named.conf

查看named服务的运行状态

[root@Jian ~]# systemctl status named

○ named.service - Berkeley Internet Name Domain (DNS)

     Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; preset: disabled)

     Active: inactive (dead)

注意:该配置文件名称和软件不一样,服务名称和软件也不一样

查看配置文件里面的内容

[root@Jian ~]# vim /etc/named.conf

option里重要的是listen-on和directory

把zone留下,剩下的东西如下所示

options {listen-on port 53 { 127.0.0.1; };directory       "/var/named";
};
zone "." IN {type hint;file "named.ca";
};

options  选项

DNS服务默认的端口——UDP53号端口(本地的IP地址)

注意:IP地址是对外提供服务的IP,127.0.0.1是一个环回地址只能在本机进行使用

directory定义了一个目录,用于保存正向解析文件和反向解析文件

zone区域,例如:zhangsan.com

.         根

type   该区域的类型

file     解析的文件

解析文件named.ca

“.”的字段是区域/主机名,红色显示字段的是超时时间,IN字段是关键字,NS(nameserver),“名称服务器”“DNS服务器”,NS字段是记录类型,最后一个字段是纯正的主机名

实验部分

正向解析实验

配置文件书写

[root@Jian ~]# vim /etc/named.conf

[root@Jian ~]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.136; };directory      "/var/named";
};
zone "." IN {type hint;file "named.ca";
};
zone "haha.com" IN {type master;file "named.haha";
};

主服务器:master

从服务器:slave

注意:文件名可以随便写,但是最后在目录底下应该有对应的文件

在DNS服务器上配置正向解析区域文件

1D         变量表示一天的意思

@          引用区域“haha.com”

SOA       起始授权记录  定义一个区域的授权信息

[root@Jian ~]# cd /var/named

[root@Jian named]# vim named.haha

[root@Jian named]# cat named.haha

$TTL 1D@ IN SOA @ admin.haha.com.(01111)IN    NS     ns.haha.com.IN    MX     10 mail.haha.com.
ns     IN    A      192.168.72.136
mail   IN    A      192.168.72.141
www    IN    A      192.168.72.142
ftp    IN    CNAME  www

重启服务

[root@Jian named]# systemctl restart named

正向解析

[root@Jian named]# dig -t NS haha.com @192.168.72.136

[root@Jian named]# dig -t MX haha.com @192.168.72.136

[root@Jian named]# dig -t A www.haha.com @192.168.72.136

[root@Jian named]# dig -t CNAME ftp.haha.com @192.168.72.136

反向解析实验

配置文件书写

[root@Jian named]# vim /etc/named.conf

[root@Jian named]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.136; };directory      "/var/named";
};
zone "." IN {type hint;file "named.ca";
};
zone "haha.com" IN {type master;file "named.haha";
};
zone "72.168.192.in-addr.arpa" IN {type master;file "named.fanxiang";
};

在DNS服务器上配置反向解析区域文件

[root@Jian named]# vim /var/named/named.fanxiang

[root@Jian named]# cat /var/named/named.fanxiang

$TTL 1D@ IN SOA @ admin.haha.com.(01111)IN    NS    ns.haha.com.IN    MX    10 mail.haha.com.
ns     IN    A     192.168.72.136
136    IN    PTR   ns.haha.com.
141    IN    PTR   mail.haha.com.
142    IN    PTR   www.haha.com.
142    IN    PTR   ftp.haha.com.

重启服务

[root@Jian named]# systemctl restart named

反向解析

[root@Jian named]# dig -x 192.168.72.136 @192.168.72.136

[root@Jian named]# dig -x 192.168.72.141 @192.168.72.136

[root@Jian named]# dig -x 192.168.72.142 @192.168.72.136

主从实验

主:关闭防火墙

[root@master ~]# systemctl stop firewalld

加上日志:[root@master ~]# tail -f /var/log/messages

从设备:

[root@slave ~]# vim /etc/named.conf

[root@slave ~]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.135; };directory      "/var/named";
};
zone "haha.com" IN {type slave;masters { 192.168.72.136; };file "slaves/named.haha";
};
zone "72.168.192.in-addr.arpa" IN {type slave;masters { 192.168.72.136; };file "slaves/named.fanxiang";
};

重启服务

[root@slave ~]# systemctl restart named

主上面能够显示日志

从机上面多出一些相应的文件

[root@slave ~]# ll /var/named/slaves/

total 8

-rw-r--r--. 1 named named 521 Apr 23 17:10 named.fanxiang

-rw-r--r--. 1 named named 366 Apr 23 17:10 named.haha

注意:从服务器的这两个文件是不可以自己去编辑,所以服务器防止这样做会将其加密

[root@slave ~]# vim /var/named/slaves/named.haha

将从的防火墙关闭,主机可以对其进行解析操作

[root@slave ~]# systemctl stop firewalld

[root@master ~]# dig -t A mail.haha.com @192.168.72.135

注意:主从复制使用的是TCP协议,没有使用UDP传数据

转发服务器实验

需求:135不对外提供查询服务,所有的请求全部传给136

[root@slave ~]# vim /etc/named.conf

[root@slave ~]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.135; };forward only;forwarders { 192.168.72.136; };directory   "/var/named/";
};

重启服务[root@slave ~]# systemctl restart named

解析:

通过解析可以判断是否能够转发成功

[root@slave ~]# dig -t A www.haha.com @192.168.72.135

[root@slave ~]# dig -t NS haha.com @192.168.72.135

Web解析实验

添加一个192.168.72.142的地址

[root@master ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.72.142/24

[root@master ~]# nmcli connection up ens160

Connection successfully activated (D-Bus active path:/org/freedesktop/NetworkManager/ActiveConnection/3)

开启Nginx服务写入显示内容

[root@master ~]# systemctl start nginx

[root@master ~]# cd /usr/share/nginx/html/

[root@master html]# echo hello > index.html

[root@master html]# curl localhost

hello

[root@master html]# curl 192.168.72.142

hello

通过地址访问页面会失败

[root@master html]# curl www.haha.com

添加DNS服务网址

[root@master ~]# nmcli connection modify ens160 ipv4.dns 192.168.72.135

[root@master ~]# nmcli connection up ens160

[root@master html]# nmcli connection show ens160 | grep DNS

现在就能通过网址访问内容

[root@master html]# curl www.haha.com

hello                   #访问成功

http://www.xdnf.cn/news/5472.html

相关文章:

  • 土耳其Koç大学指令驱动的智能综述,从文本表达到任务执行的系统探索
  • 王慧文产品课总结
  • @Transactional注解失效
  • 仿制药研发为何要上电子实验记录本?
  • 数据在内存中的存储
  • 配置高级相关
  • Open CASCADE学习|B 样条曲线拟合优化
  • 探秘 Canva AI 图像生成器:重塑设计创作新范式
  • vs python“““标记注释报错,vs使用自带环境安装 python第三方库
  • 每日一题洛谷T534125 合数c++
  • C# 方法(ref局部变量和ref返回)
  • 测试一下多模态提取图片中文字的能力
  • STM32F103单片机在不需要使用 JTAG 调试接口的情况下,释放引脚给其他功能使用。
  • 电网拓扑分析:原理与应用
  • Crewai Community Version(四)——Crew
  • Qt QCheckBox 使用
  • 【Java ee初阶】网络编程 TCP
  • 深度学习篇---姿态检测实现
  • 软考错题集
  • Java 23种设计模式 - 行为型模式11种
  • PostgreSQL 的 pg_collation_actual_version 函数
  • 【深度学习-Day 8】让数据说话:Python 可视化双雄 Matplotlib 与 Seaborn 教程
  • Kimball
  • Python 基础语法与数据类型(七) - 函数的定义与调用 (def, return)
  • Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
  • Looper死循环阻塞为什么没有ANR
  • 【大模型面试每日一题】Day 14:大模型训练中显存占用的主要来源有哪些?如何通过激活重计算降低显存?
  • 关于char字符的16进制打印
  • 408考研逐题详解:2009年第11题
  • PySide6 GUI 学习笔记——常用类及控件使用方法(常用类边距QMargins)