未登录

信蚁社区 通行证

搜索
热搜: 统信UOS 麒麟
查看: 91|回复: 0

[关于麒麟] Kylin麒麟操作系统服务部署 | DNS服务部署

[复制链接]

103

主题

4

回帖

339

积分

实习版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
339

最佳新人灌水之王优秀版主

发表于 2025-4-19 14:52:13 | 显示全部楼层 |阅读模式
以下所使用的环境为:
虚拟化软件:VMware Workstation 17 Pro
麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64
一、DNS服务概述

域名系统(Domain Name System,DNS)是互联网的核心应用服务,可以通过IP地址查询到域名,也可以通过域名查询到IP地址。IP地址是平面结构,不便于记忆;而DNS是层次结构,便于记忆。DNS在进行传输时使用TCP 53端口,其它时候则使用UDP 53端口。
域名(Domain Name):由一串用点分割的名字组成的Internet上某一条计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。
FQDN(Fully Qualified Domain Name):完全限定域名,由两部分组成:主机名+域名
正向解析:从FQDN转换到IP地址
反向解析:从IP地址转换到FQDN
区域:正向解析或反向解析中,每个域的记录都是一个区域
Kylin麒麟操作系统服务部署 | DNS服务部署-1.png


DNS域名查询过程
    递归查询:域名服务器将最终查询结果返回给客户机,在域名服务器查询过程中,客户端一直处于等待状态。 迭代查询:域名服务器不能直接查询到主机地址,则按照提示指引依次查询
资源记录
资源记录类型说明
A解析IPv4地址
AAAA解析IPv6地址
NSName Server域名服务器
SOA起始授权记录,1个区域文件只允许存在唯一的SOA记录
MX邮件交换资源记录
CNAME别名记录
PTRPTR记录用于反向地址解析
DNS服务器功能
DNS角色说明
主DNS服务器(Master)为客户端提供域名解析的主要区域,默认开启53端口。主DNS服务器故障,会启用辅助DNS服务器以提供服务。
辅助DNS服务器(Slave)保持与主服务器的数据一致,提供容错能力、加快查询速度和分担主域域名服务器的负担
缓存DNS服务器提供域名解析的缓存,本身不提供解析区域
转发DNS服务器(forward)当DNS服务器的解析区域(包括缓存)中无法为当前的请求提供权威应答时,将请求转发到其它的DNS服务器,此时DNS的角色就是转发服务器
二、hosts文件

/etc/hosts 文件是 Linux 和 Unix 系统中的一个重要文件,它用于将主机名映射到相应的 IP 地址。这个文件是一个简单的文本文件,每一行都包含一个 IP 地址和一个或多个与之对应的主机名(包括别名)。系统在进行域名解析时,会首先检查 /etc/hosts 文件,如果找到了相应的条目,就会直接使用该 IP 地址,而不会去查询 DNS 服务器。
hosts文件书写格式
  1. IP地址                主机名/域名
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-2.png


Windows中也同样存在hosts文件,存储路径在
  1. C:\Windows\System32\drivers\etc
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-3.png


三、Bind服务概述

BIND软件是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护,全称为Berkeley Internet Name Domain。该软件在DNS(域名系统)领域具有重要地位,是目前世界上使用最为广泛的DNS服务器软件之一。BIND默认使用UDP、TCP协议,使用端口53,、953(远程控制使用)。
Bind软件的主要程序包
    bind:DNS的主要程序包 bind-chroot:为bind提供1个伪装的根目录以增强安全性工具 bind-utils:提供对DNS服务器的测试工具程序,包括dig、host和nslookup等(系统默认安装) bind-libs:进行域名解析必备的库名文件(系统默认安装)
4. Bind服务配置文件

    主服务器程序:named.service 主配置文件:/etc/named.conf 区域配置文件:/etc/named.rfc1912.zones 区域解析目录:/var/named/ 正向区域模板文件:/var/named/named.localhost 反向区域模板文件:/var/named/named.loopback 配置文件语法验证命令:/usr/sbin/named.checkconf
配置文件说明
全局配置文件:/etc/named.conf配置BIND的全局参数
区域配置文件:/etc/named.rfc1912.zones定义解析区域的文件
根域地址数据库文件:/var/named/named.ca记录Internet中13台根域服务器信息
客户端配置文件:/etc/resolv.conf指定DNS服务器的IP地址
主配置文件解析
  1. options {# 全局参数
  2.         listen-on port 53{127.0.0.1;};# 指定bind侦听的IP地址
  3.         listen-on-v6 port 53{ ::1;};# 指定bind侦听的IPv6地址
  4.         directory       "/var/named";# 区域解析文件所在目录
  5.         dump-file       "/var/named/data/cache_dump.db";
  6.         statistics-file "/var/named/data/named_stats.txt";
  7.         memstatistics-file "/var/named/data/named_mem_stats.txt";
  8.         secroots-file   "/var/named/data/named.secroots";
  9.         recursing-file  "/var/named/data/named.recursing";
  10.         allow-query     { localhost;};# 允许发起查询的主机
  11.         recursion yes;# 启用递归查询
  12.         dnssec-enable yes;# 启用DNSSEC验证
  13.         dnssec-validation yes;
  14.         managed-keys-directory "/var/named/dynamic";
  15.         pid-file "/run/named/named.pid";
  16.         session-keyfile "/run/named/session.key";
  17.         include "/etc/crypto-policies/back-ends/bind.config";};
  18. logging {# 日志选项
  19.         channel default_debug {file"data/named.run";
  20.                 severity dynamic;};};
  21. zone "." IN {# 根区域文件参数type hint;file"named.ca";};
  22. include "/etc/named.rfc1912.zones";# 引入其他域配置文件
  23. include "/etc/named.root.key";
复制代码
区域配置文件解析
  1. # 正向区域配置文件
  2. zone "meaauf.com" IN {# meaauf.com正向解析域名type master;# 域名类型:master为主要区域file"meaauf.com.zone";# 区域解析文件名(默认位置存储在/etc/named下),通常命名[解析域名.zone]
  3.         allow-update { none;};# 是否允许动态更新};# 反向区域配置文件
  4. zone "1.168.192.in-addr.arpa" IN {# 反向解析IP网段,注意要倒着写type master;file"named.loopback";
  5.         allow-update { none;};};
复制代码
    **master:**主DNS解析 **slave:**从DNS解析 **hint:**根域名解析(根提示域) **forward:**转发
正向区域解析文件解析
在区域文件,SOA记录和NS记录都必须存在。完整的域名必须以‘.’结尾,否则会加上当前域。
  1. $TTL 1D                # 域的默认生存时间TTL
  2. @       IN SOA  @ rname.invalid. (# @代表当前域,[rname.invalid.]联系人/管理员(邮件格式)0; serial                # 序列号,用于与辅助DNS对比数据的新旧
  3.                                         1D      ; refresh                # 刷新时间,辅助DNS向主DNS发送查询的时间
  4.                                         1H      ; retry                        # 遇到错误的重试间隔
  5.                                         1W      ; expire                # 过期时间/失效时间
  6.                                         3H ); minimum                # 不存在域名的TTL值
  7.         NS      @        # NS为域名服务器,此处意思为域名服务器为当前域(@)
  8.         A       127.0.0.1
  9.         AAAA    ::1
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-4.png

Kylin麒麟操作系统服务部署 | DNS服务部署-5.png


反向区域解析文件分析
具体含义和正向区域解析文件一致。
  1. $TTL 1D
  2. @       IN SOA  @ rname.invalid. (0; serial
  3.                                         1D      ; refresh
  4.                                         1H      ; retry
  5.                                         1W      ; expire
  6.                                         3H ); minimum
  7.         NS      @
  8.         A       127.0.0.1
  9.         AAAA    ::1
  10.         PTR     localhost.
复制代码
五、区域模板文件复制注意事项

启动BIND后,查看named进程,可以看到该进程是由named用户运行的
Kylin麒麟操作系统服务部署 | DNS服务部署-6.png


普通复制模板文件,与原有的模板文件相对比,可以发现新复制的文件对于named用户来说没有任何权限
  1. cd /var/named/
  2. cp named.localhost copy.localhos
  3. ll named.localhost copy.localhost
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-7.png


六、主DNS服务器部署

案例需求
正向记录反向记录资源记录
dns.meaauf.com192.168.110.1A/PTR
www.meaauf.com192.168.110.2A/PTR
web.meaauf.comwww.meaauf.comCNAME
mail.meaauf.com192.168.110.3MX,1
节点设计
主机网络信息说明
Kylin-1192.168.110.1/24DNS服务器
Kylin-2192.168.110.2/24测试客户端
[Step1]: Kylin-1配置:安装BIND服务及相关软件包
  1. yum install-ybind bind-chroot bind-utils
复制代码
[Step2]: Kylin-1配置:编辑DNS主配置文件
  1. vim /etc/named.conf
  2. # 编辑下列参数
  3. listen-on port 53{ any;};
  4. allow-query     { any;};
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-8.png


[Step3]: Kylin-1配置:编辑区域配置文件,添加正向区域和反向区域
  1. vim /etc/named.rfc1912.zones
  2. # 在末尾追加下列内容
  3. zone "meaauf.com." IN {type master;file"meaauf.com.zone";
  4.         allow-update { none;};};
  5. zone "110.168.192.in-addr.arpa" IN {type master;file"192.168.110.zone";
  6.         allow-update { none;};};
复制代码
[Step4]: Kylin-1验证:检查配置文件
  1. named-checkconf
复制代码
[Step5]: Kylin-1配置:复制正向区域解析模板
  1. cp-p /var/named/named.localhost /var/named/meaauf.com.zone                # 添加 -p 保留原有的属性vim /var/named/meaauf.com.zone
复制代码
  1. $TTL 1D
  2. @       IN SOA  @ rname.invalid. (0; serial
  3.                                         1D      ; refresh
  4.                                         1H      ; retry
  5.                                         1W      ; expire
  6.                                         3H ); minimum
  7.         NS      @
  8.         A       127.0.0.1
  9.         AAAA    ::1
  10.         MX 1    mail.meaauf.com.
  11. mail    A       192.168.110.3
  12. dns     A       192.168.110.1
  13. www     A       192.168.110.2
  14. web     CNAME   www.meaauf.com.
复制代码
[Step6]: Kylin-1配置:复制反向区域解析模板
  1. cp-p /var/named/named.loopback /var/named/192.168.110.zone
  2. vim /var/named/192.168.110.zone
复制代码
  1. $TTL 1D
  2. @       IN SOA  @ rname.invalid. (0; serial
  3.                                         1D      ; refresh
  4.                                         1H      ; retry
  5.                                         1W      ; expire
  6.                                         3H ); minimum
  7.         NS      @
  8.         A       127.0.0.1
  9.         AAAA    ::1
  10.         MX 1    mail.meaauf.com.
  11. 1       PTR     dns.meaauf.com.
  12. 2       PTR     www.meaauf.com.
  13. 3       PTR     mail.meaauf.com.
复制代码
[Step7]: Kylin-1配置:启动配置DNS服务并加入到开机自启,调整防火墙策略
  1. systemctl enable--now named.service
  2. firewall-cmd --add-service=dns --permanent
  3. firewall-cmd --reload
复制代码
[Step8]: Kylin-1验证:测试区域配置文件
  1. named-checkzone meaauf.com /var/named/meaauf.com.zone
  2. named-checkzone 110.168.192.in-addr.arpa /var/named/192.168.110.zone
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-9.png


[Step9]: Kylin-2配置:将DNS指向Kylin-1
  1. nmcli connection modify ens33 ipv4.dns 192.168.110.1
  2. nmcli connection up ens33
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-10.png


[Step10]: Kylin-2验证:使用nslookup命令测试
Kylin麒麟操作系统服务部署 | DNS服务部署-11.png


七、辅助DNS服务器部署

节点设计
主机网络信息说明
Kylin-1192.168.110.1/24主DNS服务器
Kylin-2192.168.110.2/24辅助DNS服务器
Kylin-3192.168.110.3/24测试客户端
[Step1]: Kylin-2配置:安装BIND服务及相关软件包
  1. yum install-ybind bind-chroot bind-utils
复制代码
[Step2]: Kylin-2配置:编辑DNS主配置文件
  1. vim /etc/named.conf
  2. # 修改下列内容
  3. listen-on port 53{ any;};
  4. allow-query     { any;};
复制代码
[Step3]: Kylin-2验证:检查配置文件
  1. named-checkconf
复制代码
[Step4]: Kylin-2配置:编辑区域配置文件,添加正向区域和反向区域
  1. vim /etc/named.rfc1912.zones
  2. # 在末尾追加下列内容
  3. zone "meaauf.com." IN {type slave;# 修改区域类型:slave辅助区域file"slaves/meaauf.com.zone";# 区域路径存储在slave目录下
  4.         masters {192.168.110.1;};# 指定主DNS地址};
  5. zone "110.168.192.in-addr.arpa" IN {type slave;file"slaves/192.168.110.zone";
  6.         masters {192.168.110.1;};};
复制代码
[Step5]: Kylin-2配置:启动配置DNS服务并加入到开机自启,调整防火墙策略
  1. systemctl enable--now named.service
  2. firewall-cmd --add-service=dns --permanent
  3. firewall-cmd --reload
复制代码
[Step6]: Kylin-2验证:查看slaves目录下,此时可以看到区域传送过来的区域文件,查看区域文件的类型,可以看到类型为data,无法直接使用cat等命令查看文件内容
  1. ll /var/named/slaves/
  2. file /var/named/slaves/{meaauf.com.zone,192.168.110.zone}
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-12.png


[Step7]: Kylin-3验证:将DNS指向Kylin-2
  1. nmcli connection modify ens33 ipv4.dns 192.168.110.2
  2. nmcli connection up ens33
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-13.png


[Step8]: Kylin-3验证:使用nslookup命令测试
Kylin麒麟操作系统服务部署 | DNS服务部署-14.png


八、转发DNS服务器部署

条件转发与完全转发
案例需求
正向记录反向记录资源记录
dns.meaauf.com192.168.110.1A/PTR
www.meaauf.com192.168.110.2A/PTR
web.meaauf.comwww.meaauf.comCNAME
mail.meaauf.com192.168.110.3MX,1
节点设计
主机网络信息说明
Kylin-1192.168.110.1/24DNS服务器
Kylin-2192.168.110.2/24转发DNS服务器
Kylin-3192.168.110.3/24测试客户端
[Step1]: Kylin-2配置:在上述的实验中已经配置好了DNS,需要将辅助DNS的相关配置修改为条件转发
  1. vim /etc/named.rfc1912.zones
  2. # 修改下列内容
  3. zone "meaauf.com." IN {type forward;
  4.         forwarders {192.168.110.1;};};
  5. zone "110.168.192.in-addr.arpa" IN {type forward;
  6.         forwarders {192.168.110.1;};};
复制代码
[Step2]: Kylin-2配置:编辑配置文件,指示 BIND 不进行 DNSSEC 验证
  1. vim /etc/named.conf
  2. # 修改下列选项
  3. dnssec-validation no;
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-15.png


[Step3]: Kylin-2配置:验证配置文件,重新启动BIND
  1. named-checkconf
  2. systemctl restart named
复制代码
[Step4]: Kylin-3验证:将DNS指向Kylin-2,验证DNS
  1. nmcli connection modify ens33 ipv4.dns 192.168.110.2
  2. nmcli connection up ens33
  3. nslookup dns.meaauf.com
  4. nslookup www.meaauf.com
复制代码
Kylin麒麟操作系统服务部署 | DNS服务部署-16.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表