我有一台运行 bind-9.3.6-16.P1.el5 的 RHEL 5.7 服务器。在一天中的随机时间点,DNS 会在大约十秒钟内无法解析 LAN 上的主机。WAN 主机始终可以解析。然后它又恢复正常工作。我已启用日志记录,日志中没有错误。使用此 DNS 服务器的设备总数约为 50 个;负载不重。我在配置中设置了多个视图。
我使用 system-config-bind RHEL 工具来配置它。我怀疑这个工具在配置中添加了一些内容,这些内容会在某个时间间隔内“刷新”或“执行维护”,或者在 LAN 主机无法解析时添加一些不执行此操作的配置。
// Red Hat BIND 配置工具 // // 默认初始“仅缓存”名称服务器配置 // 记录 { 频道“自定义”{ 系统日志本地0; 严重程度动态; 打印类别是; 打印严重性是; 打印时间是; }; 类别 蹩脚服务器 { 风俗; }; 类别转入 { 风俗; }; 类别转出 { 风俗; }; 类别网络 { 风俗; }; 类别 dnssec { 风俗; }; 类别数据库 { 风俗; }; 类别默认{ 风俗; }; 类别调度{ 风俗; }; 一般类别 { 风俗; }; 类别客户端 { 风俗; }; 类别通知{ 风俗; }; 类别解析器 { 风俗; }; 类别查询 { 风俗; }; 类别安全 { 风俗; }; 类别配置 { 风俗; }; 类别仅委托 { 风俗; }; }; 选项 { 查询日志是; dnssec 启用是; 目录“/var/named”; 转储文件“/var/named/data/cache_dump.db”; 统计文件“/var/named/data/named_stats.txt”; 转发器 { 8.8.8.8; 8.8.4.4; }; // ISP 主/辅 /* * 如果你和你想要的域名服务器之间有防火墙 * 要进行交谈,您可能需要取消注释查询源 * 指令如下。以前的 BIND 版本总是询问 * 使用端口 53 的问题,但 BIND 8.1 使用非特权 * 默认端口。 */ //查询源地址*端口53; }; 查看“chill”{ 匹配客户 { 192.168.3.0/24; }; 区域“2.168.192.IN-ADDR.ARPA。” IN { 類型主屬; 文件“192.168.2.db”; }; 区域“笔记本电脑”。在 { 類型主屬; 文件“laptop_0.db”; }; 区域“媒体”。在{ 類型主屬; 文件“media_1.db”; }; 区域 "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa。" IN { 類型主屬; 文件“chill_named.ip6.local”; 允许更新 { 无; }; }; 区域“255.in-addr.arpa。” IN { 類型主屬; 文件“chill_named.broadcast”; 允许更新 { 无; }; }; 区域“0.in-addr.arpa。” IN { 類型主屬; 文件“chill_named.zero”; 允许更新 { 无; }; }; 区域“localhost”。在{ 類型主屬; 文件“chill_localhost.zone”; 允许更新 { 无; }; }; 区域“。” IN { 类型提示; 文件“chill_named.root”; }; 匹配目的地 { 任何; }; }; 查看“媒体”{ 匹配客户 { 192.168.1.0/24; }; 匹配目的地 { 任何; }; 递归是; 区域“synbackup。” IN { 類型主屬; 文件“synbackup.db”; }; 区域“媒体”。在{ 類型主屬; 文件“media_0.db”; }; 区域“笔记本电脑”。在 { 類型主屬; 文件“laptop.db”; }; 区域“1.168.192.IN-ADDR.ARPA。” IN { 類型主屬; 文件“192.168.1.db”; }; 区域“。” IN { 类型提示; 文件“named.root”; }; 区域“localdomain。” IN { 類型主屬; 文件“localdomain.zone”; 允许更新 { 无; }; }; 区域“localhost”。在{ 類型主屬; 文件“localhost.zone”; 允许更新 { 无; }; }; 区域“0.0.127.in-addr.arpa。” IN { 類型主屬; 文件“named.local”; 允许更新 { 无; }; }; 区域 "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa。" IN { 類型主屬; 文件“named.ip6.local”; 允许更新 { 无; }; }; 区域“255.in-addr.arpa。” IN { 類型主屬; 文件“named.broadcast”; 允许更新 { 无; }; }; 区域“0.in-addr.arpa。” IN { 類型主屬; 文件“named.zero”; 允许更新 { 无; }; }; }; 包括“/etc/rndc.key”;
界面上也没有错误:
eth0 链路封装:以太网 HWaddr 00:xx:xx:xx:xx inet 地址:192.168.1.xx Bcast:192.168.1.255 掩码:255.255.255.0 inet6 地址:fe80::222:19ff:fe65:xxxx/xx 范围:链接 上行广播运行多播 MTU:1500 度量:1 RX 数据包:2109561869 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:3527205451 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节数:2120862115404 (1.9 TiB) TX 字节数:4168472739611 (3.7 TiB) 中断:185 内存:ec000000-ec012800
答案1
有一个RH 知识库文章这说明当缓存过期时会发生这种情况,但仍然包含 IPv6 信息(他们对根本原因含糊其辞)。
如果可以的话,他们建议禁用 IPv6 支持。
添加OPTIONS="-4"
到 /etc/sysconfig/named