Linux中的DNS服务

DNS服务

解析域名

域名---->IP

  • 正向解析:域名---->IP
  • 反向解析:IP---->域名

域名:haha.com

站点名:mail.haha.com

【1】、DNS的分布式结构

image-20240606100925294

【2】、安装DNS软件包

bind

bind-chroot

在服务器端安装

  • 主程序:bind

    • 服务名:named
    • 主要执行程序:/usr/sbin/named
    • DNS协议默认端口:53
    • 运行时的虚拟根环境:/var/named/chroot
  • bind-chroot:牢笼政策(安全方面的策略)

    • 当bind中病毒开始疯狂删除自己的数据,此时bind-chroot就会将bind锁起来
    • bind-chroot不需要任何的配置,安装好后自动生效
  • 主配置文件:/etc/name.conf 设置负责解析的域名

  • 地址库文件:/var/named 完全合格的域名与IP地址对应关系

[root@moudle01 10:14:03  ~]# yum install -y bind bind-chroot^C
[root@moudle01 10:14:23  ~]# rpm -q bind
bind-9.11.36-9.el8.x86_64
[root@moudle01 10:14:29  ~]# rpm -q bind-chroot
bind-chroot-9.11.36-9.el8.x86_64

【3】、修改主配置文件

# 修改之前先进行备份,-p参数保证复制时权限不变
[root@moudle01 10:31:37  ~]# cp -p  /etc/named.conf /opt/
[root@moudle01 10:34:01  ~]# ll /opt/named.conf 
-rw-r-----. 1 root named 1705 Mar 31  2023 /opt/named.conf

将主配置文件中的大部分内容进行删除,只留下如下内容

不设置监听主机,默认是本机

options {
        directory       "/var/named";
};
# 可以有多个zone,但是file不要相同
zone "tedu.cn" IN {   # 负责解析tedu.cn域名
        type master;     # 本DNS服务器为quanweiDNS服务器
        file "tedu.cn.zone";   # 地址库文件名 tedu.cn.zone
};

【4】、修改地址库文件

# 我们不需要写出二级域名,可以缩写,缺少的二级域名,主配置文件会自动进行补充
		   NS      moudle01
moudle01     A       127.0.0.1
www             A       1.1.1.1
ftp                 A       2.2.2.2
vip                 A       3.3.3.3
# 重启服务

【5】、验证

# 我们需要告诉客户端,DNS服务器IP是什么
echo nameserver 192.168.121.180 > /etc/resolv.conf
[root@clone-01 11:07:21  ~]# nslookup www.tedu.cn
Server:		192.168.121.180
Address:	192.168.121.180#53

Name:	www.tedu.cn
Address: 1.1.1.1

【6】、企业中常见工单要求

实现DNS服务器,在192.168.121.180机器上搭建

负责域名为sina.com,实现站点名为www的解析

实现www.sina.com解析结果为192.168.121.17

# 服务器,在主配置文件中添加
zone "sina.com" IN {
        type master;
        file "sina.com.zone";
};
# 在地址库文件中新建文件sina.com.zone
                NS      moudle01
moudle01        A       127.0.0.1
www             A       192.168.121.17
# 解析测试
[root@moudle01 11:31:13  /var/named]# nslookup www.sina.com
Server:		192.168.121.180
Address:	192.168.121.180#53

Name:	www.sina.com
Address: 192.168.121.17

【6】、特殊的解析记录

  • 泛域名解析

    • 针对主机名(三级域名),所谓的泛域名解析,就是说我可以输入任何三级域名,都可以进行解析

      # /var/name/tedu.cn.zone
      *               A       7.7.7.7
      tedu.cn.        A       6.6.6.6
      #
      
      #测试
      [root@clone-01 15:19:12  ~]# nslookup wwwww.tedu.cn
      Server:		192.168.121.180
      Address:	192.168.121.180#53
      
      Name:	wwwww.tedu.cn
      Address: 7.7.7.7
      
      
    • 在编写/var/named/tedu.cn.zone时,可以直接写上二级域名,直接解析二级域名,不需要加三级域名

  • 造数函数:制造连续的数字 $GENERATE

    • 针对有如下规律的域名和IP

    • pc1 192.168.121.1

      pc2 192.168.121.2

      pc3 192.168.121.3

      ....

    • # /var/name/tedu.cn.zone
      $GENERATE 1-50 pc$      A       192.168.121.$
      
      
      [root@clone-01 15:27:09  ~]# nslookup pc48.tedu.cn
      Server:		192.168.121.180
      Address:	192.168.121.180#53
      
      Name:	pc48.tedu.cn
      Address: 192.168.121.48
      
      

【7】、解析记录别名

# /var/name/tedu.cn.zone
tts     CNAME   ftp


[root@clone-01 15:29:12  ~]# nslookup tts.tedu.cn
Server:		192.168.121.180
Address:	192.168.121.180#53

tts.tedu.cn	canonical name = ftp.tedu.cn.
Name:	ftp.tedu.cn
Address: 2.2.2.2

【8】、递归解析和迭代解析

递归查询:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交流,最终将解析结果带回来

迭代查询:客户端发送请求给首选DNS服务器,首选DNS服务器会将下一个DNS服务器的信息发送给客户端,客户端拿着地址去下一个DNS服务器访问

首选DNS服务器一般是由运营商搭建的

一般首选DNS服务器都是递归查询

具体就是:我们是以递归查询的方式去向首选DNS服务器查询,而首选DNS服务器递归查询向根域名服务器去查询,最终首选DNS服务器,带着结果回到自己的主机

posted @ 2024-07-10 15:35  Linux小菜鸟  阅读(17)  评论(0编辑  收藏  举报