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

【DNS】BIND 9的配置

该文档围绕BIND 9的配置与区域文件展开,介绍了BIND 9配置文件及区域文件的相关知识,以及权威名称服务器、解析器的相关内容,还阐述了负载均衡和区域文件的详细知识,具体如下:

  1. 基础配置文件
    • named.conf:BIND 9使用named.conf作为主要配置文件,通常位于/etc/namedb/usr/local/etc/namedb。若使用rndc,本地使用时rndc.conf文件可选,远程使用时必须存在。
    • 示例文件格式:以example.com为例展示配置文件和区域文件标准格式。named.conf基础文件含options块(设置服务器全局属性如工作目录、版本)和logging块(配置日志记录);example.com基础区域文件是正向映射文件,含多种资源记录(RR),如SOA(定义区域关键特征)、NS(指定域名服务器)、MX(定义邮件服务器及优先级)、A(映射域名到IPv4地址)、CNAME(设置别名)等。
  2. localhost相关区域文件
    • localhost区域文件hosts文件常将localhost映射到环回地址,虽正向映射区域文件localhost-forward.db非必需,但出于安全(hosts文件可能受攻击)、系统查找顺序(nsswitch.conf控制)和避免影响DNS性能(减少localhost不必要查询)等原因,BIND 9配置示例常使用它,该文件提供IPv4和IPv6的localhost解析。
    • localhost反向映射区域文件localhost.rev文件防止对环回IP(127.0.0.1)的不必要查询到达公共DNS层次结构。
  3. 权威名称服务器
    • 类型及数据获取方式:分为主权威和辅助权威名称服务器,主权威从文件系统读取区域数据,辅助权威通过区域传输(AXFR完全传输或IXFR增量传输,需双方支持)从主区域获取数据。
    • 区域传输过程:辅助服务器定期读取主服务器SOA记录,比较序列号,若主服务器序列号更新则发起区域传输;主服务器加载或重新加载区域时可发NOTIFY消息(默认自动配置)通知辅助服务器,辅助服务器收到后立即读取SOA记录,有变化时能快速更新。
    • 配置示例:主权威named.conf文件设置allow-query(允许查询的IP)、allow-query-cache(禁止查询缓存内容)、recursion(不提供递归服务)等,定义各区域(localhost0.0.127.in-addr.arpaexample.com)的类型、文件路径、通知及传输设置;辅助权威named.conf文件类似设置,example.com区域设置为type secondary,指定保存传输数据的文件和主服务器IP。
  4. 解析器(缓存名称服务器)
    • 功能原理:处理递归用户查询,向DNS层次结构发迭代查询获取答案并缓存,缓存到期后重新查询。
    • 转发解析器优点:减少流量(降低成本、提高性能)、便于网络维护(集中管理远程名称服务器更改)、筛选流量(如区分内外网流量)、用于隐蔽或分割网络。
    • 额外区域文件
      • 根服务器(提示)区域文件:解析器需named.root文件(可从IANA网站获取)了解根服务器地址以访问DNS层次结构,虽BIND 9可在文件异常时工作,但示例包含它以提示功能。
      • 私有IP反向映射区域文件:网络常用私有IP,应用反向映射查询时,若无对应反向映射区域文件,解析器会向DNS层次结构发无用查询。可通过标准反向映射技术或empty-zones-enable语句(默认开启,返回NXDOMAIN错误响应)处理,部分应用(如邮件系统)需真实答案则需反向映射区域文件。
    • 配置示例
      • 解析器:通过acl定义允许查询的IP范围,options设置recursion开启递归、allow-query限制查询IP、empty-zones-enable防止私有IP反向映射查询发往公共网络,配置各区域(根服务器、localhost正向、环回地址反向、私有IP反向)文件。
      • 转发解析器:除特定区域和已缓存答案的查询外,将递归查询转发到指定全功能解析器并缓存响应,通过forwarders指定转发目标,forward only表示仅转发未定义区域查询。
      • 选择性转发解析器:仅将example.com区域递归查询转发到指定解析器,其他查询本地处理,example.com区域设置type forwardforwarders指定目标和forward only选项。
  5. 负载均衡:在区域文件中用多个资源记录(如多个A记录)实现简单负载均衡,解析器查询时BIND随机排序返回记录,客户端多使用第一个记录。
  6. 区域文件
    • 资源记录组成:由所有者名称、RR类型、TTL、类和RDATA组成。当前有效类有IN(常用)、CH(用于BIND内置服务器信息区域)、HS(曾用于共享系统数据库信息)。
    • 文本表达:RR在DNS协议包中为二进制,存储时高度编码,示例采用类似主文件格式展示,每行开头为所有者名称(空则同前一RR),接着是TTL、类型、类(IN类和TTL常省略)和RDATA。
    • MX记录:控制邮件传递,数据含优先级和域名,优先级决定传递顺序,域名需有相关地址记录(A或AAAA),不能是CNAME,同时存在CNAME和MX记录时,MX记录被忽略。
    • 设置TTLSOA最小TTL控制其他服务器缓存NXDOMAIN响应时间(最大3小时);$TTL指令在区域文件顶部设默认TTL;每个RR可单独设TTL控制缓存时间,单位默认秒,可显式指定。
    • IPv4中的反向映射:通过in-addr.arpa域和PTR记录实现反向名称解析,IP地址转换为in-addr.arpa名称时顺序相反。
    • 其他区域文件指令
      • @符号:在标签字段代表当前原点,区域文件开头是<zone_name>后跟点。
      • $ORIGIN指令:设置附加到未限定记录的域名,区域读取时有隐式$ORIGIN <zone_name>.,当前$ORIGIN会附加到非绝对域名上。
      • $INCLUDE指令:读取并处理指定文件,文件名可为绝对或相对路径,指定origin时以其设置$ORIGIN处理文件,处理后恢复$INCLUDE前的origin和当前域名值。
      • $TTL指令:设置后续未定义TTL记录的默认生存时间,范围0-2147483647秒。
    • $GENERATE指令:BIND扩展指令,用于创建仅迭代器不同的资源记录,可指定范围、所有者名称(含$符号可被迭代器值替换)、TTL、类、类型和RDATA(含$符号可被替换,有空格时需引号,处理时去除)。
    • 其他文件格式:BIND 9还支持raw格式(区域数据二进制表示,类似区域传输格式,加载快),主服务器raw格式区域文件需由named-compilezone命令从文本区域文件生成,辅助服务器或动态区域在区域传输或应用更新后由named自动生成,手动修改raw格式文件需先转文本格式,编辑后再转回。
http://www.xdnf.cn/news/126739.html

相关文章:

  • Android之AI自动化测试--Midscene
  • CentOS 7上Memcached的安装、配置及高可用架构搭建
  • 内存管理:内存堆管理
  • 编译原理(5):链接
  • Kafka命令行的使用/Spark-Streaming核心编程(二)
  • 17.磁珠在EMC设计中的运用
  • Happens-Before 原则
  • 理解js函数(Ⅱ)
  • CompletableFuture到底怎么用?
  • Code Splitting 分包策略
  • MobTech袤博ShareSDK集成错误 ld: symbol(s) not found for architecture arm64
  • 《一文读懂Transformers库:开启自然语言处理新世界的大门》
  • 【重走C++学习之路】18、map和set
  • 基于RFID的智能家居系统设计与实现
  • Spring—依赖注入注解
  • 从认证到透传:用 Nginx 为 EasySearch 构建一体化认证网关
  • 【Java 8新特性】Stream API 和 Lambda 表达式
  • MySQL数据库基本操作-DQL-基本查询
  • 多线程事务?拿捏!
  • 豆包桌面版 1.47.4 可做浏览器,免安装绿色版
  • [创业之路-382]:企业法务 - 企业如何通过技术专利与技术秘密保护自己
  • AI赋能Python长时序植被遥感动态分析、物候提取、时空变异归因及RSEI生态评估
  • WebServiceg工具
  • 虾皮(Shopee)商品详情 API 接口概述及 JSON 数据返回参考
  • 《Pinia 从入门到精通》Vue 3 官方状态管理 -- 基础入门篇
  • inih介绍
  • Fragment控件
  • Pytest安装
  • CVPR2025W | S-EO 遥感几何感知阴影检测大规模数据集, 将开源
  • 电商指标体系搭建 - AxureMost