SMB - DNS Server 域名服务器配置与管理(四)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 本文作为DNS高阶内容介绍ACL、Zone Transfer、DNS Protocol、日志分析与常见故障处理等内容,能够管理员提供直观概要的参考和TS指导。

0x1 ACLOptions

       BIND的主配置文件支持丰富的配置参数,这里简单介绍下OptionsACL,至于View等配置我不准做更多说明,熟悉基础配置后参考配置文档即可完成相关配置,参考文档可以直接执行以下命令查看:

#man 5 named.conf
      1、ACL访问控制列表

       ACL用于控制客户端对DNS服务的访问权限,可选参数包括any、localhost、localnet、none及以CIDR表示的网络地址;

acl allow-query-net {
      192.168.2.0/24;
};
      这里的allow-query-net是ACL的名称;

      2、Options选项

       Options用于Statement中,用以对Statement进行全局或可选配置,可选参数包括:

            allow-query               允许客户端访问,默认允许所有

            allow-query-cache    允许查询缓存,more允许localhost和localnet

            blackhole                   黑洞,拒绝客户端访问,默认none

            disable-empty-zone   禁用默认的空域配置,企业环境用不到,除非管理员打算自找烦恼

            dnssec-enable            启用DNSSEC相关RR,默认启用

            dnssec-validatiom     通过DNSSEC验证RR权威性,默认启用

            forwarders                 请求转发服务器列表,即将本服务器无法解析的请求转发给指定服务器,比如配置Google或DNSPOD等DNS Server

            forward                      控制forwarders请求顺序,有2个值,frist先到转发服务器列表查询,失败后再在本地服务器查询,only表示仅在转发服务器列表查询

            listen-on                     named服务监听端口,不能也不需要修改

            max-cache-size          服务缓存最大可用内容容量,默认32M,在多View配置中可以为每个View单独配置

            notify                          当zone更新后主动通知Slave,有4个值,yes主动通知,no不主动通知,master-only仅通知master,explicit仅通知zone中also-notify的Salve

            recursion                    递归查询,默认yes,在没有外部网络连接或特殊需求中可以配置为no,以将本服务器无法解析的请求做失败响应

       参考示例:

acl allow-query-net  {
        192.168.2.0/24;
};
acl deny-query-net {
        192.168.1.0/24;
};
options {
        listen-on port 53 { any; };
        max-cache-size    64M;
        directory         "/var/named";
        statistics-file   "/var/named/data/named_stats.txt";

        forwarders {8.8.8.8; 8.8.4.4; };

        recursion         yes;
        blackhole         { deny-query-net; };
        allow-query       { allow-query-net; };
        allow-query-cache { allow-query-net; };
};

0x2 协议与端口

       DNS服务通用服务端口包括UDP53和TCP53,前者用于请求解析,后者用于Master/Slave间ZoneTransfer数据同步,在配置iptables规则时必须注意。

       049c9eb6e60c4947760ac3aa918018ea550a4a5d

0x3 Master/Slave ZoneTransfer

       DNS服务器之间数据同步分为两种AXFR (Asynchronous Transfer Full Range)全域传输和IXFR(Increment Zone Transfer)增量域传输,BIND9这两种协议默认都开启。为保证Slave Server上缓存记录的权威性,Slave需要周期性从Master Server同步Zone数据,因此AXFR全域传统比较容量理解,而IXFR则在域中RR数据比较多且更新频繁的情况下(比如DDNS等)可以比AXFR更具优势,能够更加快速完成数据同步。除了Slave Server周期性项Master Server被动同步外,Master Server也可以主动向Slave Server发出更新通知,就是Notify。

      配置示例:

options {
	listen-on port 53 { any; };
	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";
	allow-query     { localhost; 192.168.2.0/24; };

	forwarders { 8.8.8.8; };
	recursion yes;
	notify yes;

	dnssec-enable yes;
	dnssec-validation yes;
	managed-keys-directory "/var/named/dynamic";
	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
};
      当Master Server数据更新后可在Slave Server日志中看到其从收到更新通知到执行zone-transfer结束的完整流程(隐去了时间参数):
slave named[6489]: client 192.168.2.250#50982: received notify for zone '2.168.192.in-addr.arpa'
slave named[6489]: zone 2.168.192.in-addr.arpa/IN: Transfer started.
slave named[6489]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.250#53: connected using 192.168.2.251#47133
slave named[6489]: zone 2.168.192.in-addr.arpa/IN: transferred serial 2018061807
slave named[6489]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.250#53: Transfer completed: 1 messages, 14 records, 397 bytes, 0.001 secs (397000 bytes/sec)
slave named[6489]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2018061807)
slave named[6489]: client 192.168.2.250#23267: received notify for zone 'homelab.pub'
slave named[6489]: zone homelab.pub/IN: Transfer started.
slave named[6489]: transfer of 'homelab.pub/IN' from 192.168.2.250#53: connected using 192.168.2.251#53086
slave named[6489]: zone homelab.pub/IN: transferred serial 2018061807
slave named[6489]: transfer of 'homelab.pub/IN' from 192.168.2.250#53: Transfer completed: 1 messages, 16 records, 389 bytes, 0.001 secs (389000 bytes/sec)   

0x4 日志分析

      默认named通过rsyslog将日志写到/var/log/messages中,以下将日志中常见疑难消息做简要说明。

      1[namedxxxx]: error (networkunreachable) resolving 'baidu.com/A/IN': 2001:503:bb3e::2:30#53

      服务器没有配置IPv6网络,但named默认同时运行在IPv4和IPv6协议栈,因此需要在服务配置文件/etc/named.conf中将以下内容注释或删除掉

listen-on-v6 port 53 { ::1; };

     并在named服务的配置文件/etc/sysconfig/named中加入仅支持IPv4的选项

#echo -e 'OPTIONS="-4"'  >> /etc/sysconfig/named
#systemctl restart named-chroot

      2、日志未记录DNS查询详细信息

      在服务器打开querylog即可记录详细日志,再次执行此命令关闭该功能

      3、slave named[xxxx]: client 192.168.2.205:39085 (mirror.zju.edu.cn): query (cache) "mirror.zju.edu.cn/A/IN" denied

      DNS服务器关闭了递归查询,不允许查询缓存,仅允许查询本域权威记录

      4slave named[xxxx]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.250#53: failed to connect: host unreachable

      无法连接到masterserver进行zone-transfer,推测masterserver系统防火墙iptables没有放行来自slaveserver对TCP53端口的访问

      5slave named[xxxx]: dumping master file: tmp-XXXXXX: open: permission denied

      这个问题在网络上有多种不靠谱的观点,这里仅对前三甲做介绍。排在第一位的观点认为是SElinux某个Boolean配置问题,但在homelab.pub中SElinux是Disabled;排在第二位的观点认为是目录属组权限问题,虽然log中有提示permission denied但经验表明服务系统文件权限配置错误基本无法正常运行;排在第三位的观点认为是服务参数配置问题,建议在/etc/sysconfig/named文件增加“ENABLE_ZONE_WRITE=yes” 参数,但BIND9已不正常参数。经深入研究,发现是Salve服务Zone配置文件路径错误,导致服务读取Zone文件时无法读取而报错,但从Master同步过来的缓存数据是可以用于解析服务的,因此Client端并没有感知到Slave Server工作状态有问题。

      在前一篇文章SMB - DNS Server 域名服务器配置与管理(三) 0x2 Slave Server部署章节谈到创建homelab.pub域的服务配置named.homelab.pub.zones文件如下:

zone "homelab.pub" IN {
	type slave;
	masters { 192.168.2.250; };
	file "homelab.pub.zone";
	allow-update { none; };
	};
	zone "2.168.192.in-addr.arpa"  IN {
	type slave;
	masters { 192.168.2.250; };
	file "homelab.pub.rr.zone";
	allow-update    { none; };
};
       仔细分析得知文件位置是错误的,当前路径没有这个文件,Slave Server读取的应该是从Master Server同步过来的文件信息,检查服务目录结构发现应该写如到/var/named/chroot/var/named/data/目录中,修改named.homelab.pub.zones文件如下:

zone "homelab.pub" IN {
	type slave;
	masters { 192.168.2.250; };
	file "data/homelab.pub.zone";
	allow-update { none; };
	};
	zone "2.168.192.in-addr.arpa"  IN {
	type slave;
	masters { 192.168.2.250; };
	file "data/homelab.pub.rr.zone";
	allow-update    { none; };
};
        然后重启named-chroot服务,检查/var/log/messages发现相关错误日志信息消失,并在/var/named/chroot/var/named/data/目录发现homelab.pub.rr.zone和homelab.pub.zone两个新数据文件:

[root@slave ~]# ll /var/named/chroot/var/named/data/
总用量 220
-rw-r--r--  1 named named    862 6月  26 23:29 homelab.pub.rr.zone
-rw-r--r--  1 named named    740 6月  26 23:29 homelab.pub.zone
-rw-r--r--  1 named named  94525 6月  26 23:29 named.run
-rw-r--r--. 1 named named 116828 6月  24 03:21 named.run-20180624
[root@slave ~]# file /var/named/chroot/var/named/data/homelab.pub.zone 
/var/named/chroot/var/named/data/homelab.pub.zone: data
相关文章
|
4天前
|
存储 弹性计算 人工智能
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
|
3天前
|
存储 人工智能 缓存
怎么根据自己的业务选择阿里云服务器配置大小?
本文指导如何根据业务需求精准选择阿里云服务器配置,涵盖个人轻量级至企业级、计算密集型等场景,推荐不同实例类型、存储与带宽方案,并提供成本优化策略,如包年包月节省成本、按需升级配置及选用性价比高的自研ARM架构实例。帮助用户在数字化转型中实现性能与成本的平衡。 注:以上配置与价格基于阿里云2025年官方数据,实际信息可能有所调整,请以官网实时页面为准。
|
3天前
|
人工智能 运维 监控
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
|
3天前
|
存储 人工智能 监控
新手小白购买阿里云服务器省钱策略、配置选型与注意事项
针对初次使用阿里云服务器的用户,本文提供系统化的指导方案以优化成本并满足业务需求。首先介绍配置选型,包括实例类型(通用型、计算型、内存型)与基础配置建议;其次阐述省钱策略,如企业认证、合理选择计费模式及批量购买;最后提醒注意事项,涵盖带宽存储规划、地域网络优化及安全管理。新手可通过明确需求、选择配置、优化购买和持续监控四步快速上手,实现高效稳定的云端部署。 注:推荐配置基于2025年阿里云产品体系,具体信息请参考官网。
|
27天前
|
存储 运维 资源调度
阿里云服务器经济型e实例解析:性能、稳定性与兼顾成本
阿里云经济型e云服务器以其高性价比、稳定可靠的性能以及灵活多样的配置选项,成为了众多企业在搭建官网时的首选。那么,阿里云经济型e云服务器究竟怎么样?它是否能够满足企业官网的搭建需求?本文将从性能表现、稳定性与可靠性、成本考虑等多个方面对阿里云经济型e云服务器进行深入剖析,以供大家参考选择。
106 37
|
5天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
7天前
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。
|
26天前
|
安全 网络协议 网络安全
解析HTTP代理服务器不稳定致使掉线的关键原因
随着数字化发展,网络安全和隐私保护成为核心需求。HTTP代理服务器掉线原因主要包括:1. 网络问题,如本地网络不稳定、路由复杂;2. 服务器质量差、IP资源不稳定;3. 用户配置错误、超时或请求频率异常;4. IP失效或协议不兼容。这些问题会影响连接稳定性。
64 8
|
2月前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
92 4

相关产品

  • 云解析DNS
  • 推荐镜像

    更多