0

0

bind9 f&q_PHP教程

php中文网

php中文网

发布时间:2016-07-13 17:33:56

|

1447人浏览过

|

来源于php中文网

原创

本文译自BIND主网站上的一篇文章:http://www.isc.org/products/BIND/FAQ.html。应该说,这些问题都非常典型,对BIND 9用户的日常维护和管理可以提供不小的帮助。

1. 当我在linux 2.2.x上使用以--enable-threads选项编译的bind程序时,为什么-u参数不起作用?
答:linux线程并没有完全实现posix线程(pthreads)标准。特别是setuid()只能对当前线程起作用,而不适用于整个进程。正是由于此项限制,linux上的bind 9就无法像在其他支持的系统平台上一样使用setuid()。在创建线程之前不能调用setuid(),因为服务器只有在线程启动之后才能开始监听预留端口。
对于2.2.18或2.3.99-pre3以及更新的内核而言,则能在调用setuid()之后仍然保持可用性。这使得bind 9可以更早些调用setuid(),而同时又保持了绑定预留端口的能力。这是针对linux所作的特别处理。
在2.2内核上,bind 9的确放弃了许多root权限,所以相对于那些没有放弃权限的root进程而言,这会更加安全一些。
如果linux线程已经正常工作,那么这项限制也就不复存在。
用户可以使用--disable-threads选项(这是默认选项)来编译bind9,这样会生成一个非线程的版本,用户能够使用-u选项。

2、为什么named的日志中会给出警告信息"no ttl specified - using soa minttl instead"?
答:你的zone文件不符合rfc1035标准。你可以使用两种方法来解决此问题:
1)在zone文件的开头加入一行对ttl的定义,例如:$ttl 86400
2)在zone文件的第一条记录中包含ttl字段,例如:example.com. 86400 in soa ns hostmaster

3、为什么我在linux上会看到5个(或者更多)的named副本?
答:在ps下每个linux线程也会像进程一样显示出来。一般运行的线程个数为n+4,这里n表示cpu的数目。注意在内存量的使用上并不遵从累加的原则;如果每个进程使用10m内存,那么所有线程总共也只使用10m内存。

4、为什么即便我在linux系统上用root身份运行bind 9,在访问配置文件或zone文件时,仍然会得到关于"permission denied"错误的日志?
答:在linux上,bind 9在启动时就放弃了绝大部分root权限,这其中就包括打开其他用户所属文件的权限。因此,如果服务器是以root身份运行的,那么配置文件和zone文件也应该由root所有。

5、为什么我得到类似于"dns_zone_load: zone foo/in: loading master file bar: ran out of space"的错误提示?
答:这通常是由于txt记录中少了一个引号所致。检查所有txt记录是否都包含了完整的引号。

6、我怎样能够在linux上从多线程named生成一个可用的core文件?
答:如果linux内核是2.4.7或更新的版本,多线程core导出(dump)是可用的(也就是说,将导出正确的线程)。否则,如果使用的是2.2内核,那么需要应用在contrib/linux/coredump-patch中的内核补丁并重新编译内核。该补丁可以使多线程程序导出正确的线程。

7、我怎样限制别人查询我的服务器版本?
答:在named.conf的"options"段中放置"version"选项,并将其值设成与你实际使用版本不同的其他版本。注意:这样做不能避免攻击,反而可能会妨碍别人对你服务器问题的诊断尝试,而且这同样可能成为别人鉴别你服务器的标志。

8、我怎样限制只有远程用户才能查询服务器版本?
答:当存有版本信息的内部视图被最后匹配时,下面的视图语句将拦截查询。上面一问回答中的警告在这里同样适用。
view "chaos" chaos {
match-clients { ; };
allow-query { none; };
zone "." {
type hint;
file "/dev/null"; // or any empty file
};
};

9、"no source of entropy found"或"could not open entropy source foo"是什么意思?
答:服务器需要信息熵(entropy)源来执行特定的操作,通常这与dnssec相关。这些信息提示没有信息熵源。在有/dev/random或类似设备的系统上,默认会使用它们。信息源也可以通过named.conf中的random-device选项来定义。

10、我安装了bind 9并且重新启动了named,但是它仍然是bind 8,这是为什么?
答:bind 9默认安装在/usr/local下。而bind 8通常安装在/usr下。检查是否正确的named在运行。

11、我尝试使用tsig来验证动态更新或者zone传输。我确信密钥设置是正确的,但是服务器仍然拒绝tsig,为什么?
答:这可能是时钟不准的问题。检查客户端的时钟和服务器上的是否同步(例如使用ntp)。

12、我尝试编译bind 9,但"make"却因为某些文件无法找到而失败了。为什么?
答:使用并行或分布式的"make"来编译bind 9是不支持的,而且也无法工作。如果你确实使用的是它们中一种,建议你使用一般的make或gmake来替代。

13、我有一台bind 9的主服务器和一台bind 8.2.3的从服务器,而主服务器记录到类似于"notify to 10.0.0.1#53 failed: unexpected end of input"的错误信息。哪有问题?
答:该错误信息是由bind 8.2.3中一个已知的bug所致,这在bind 8.2.4中得到了修复。你可以完全不必理会它 - 不管错误信息如何,notify都在正常工作着。

14、我不断地得到如下的日志信息,为什么?
dec 4 23:47:59 client 10.0.0.1#1355: updating zone example.com/in: update failed: rrset exists (value dependent) prerequisite not satisfied (nxrrset)
答:dns更新程序允许更新请求在进行更新之前进行测试以确认特定的条件是否满足。以上信息说明条件不满足,无法继续进行更新。参看doc/rfc/rfc2136.txt以获知关于前提条件的更多信息。

15、我不断地得到如下的日志信息,为什么?
jun 21 12:00:00.000 client 10.0.0.1#1234: update denied
答:有人在尝试使用rfc2136动态更新协议来更新你的dns数据。windows 2000的机器有这样的习惯:无需事先配置就发送动态更新请求给dns服务器。如果更新请求来自于windows 2000机器,请参看 以了解如何关闭它。

16、我看到如下的日志信息,为什么?
couldnt open pid file /var/run/named.pid: permission denied
答:很可能你是以非root用户在运行named,而该用户又对/var/run没有写权限。通常的修复方法是创建由named用户所有的/var/run/named目录并设置pid文件为"/var/run/named/named.pid",或者设置pid文件为"named.pid",这将把该文件放到由directory选项指定的目录(在此情况下,该目录必须对named用户可写)下去。

17、当我在执行“dig . ns"时,许多关于root服务器的a记录都丢失了。为什么?
答:这是正常的情况,并无大碍。在bind 9实现rfc 2181的信任级别(trust ranking)的方法和bind 9对避免相关数据(glue)进入回答所作的努力上,有些令人迷惑的副面效果。
当bind 9第一次启动并初始化其缓冲时,它接收根服务器地址作为根服务器权威响应的附加数据,并且这些记录符合包含在响应中作为附加数据的条件。随后,它接收根服务器地址的子集作为根服务器的非权威(推荐)响应的附加数据。这导致这些地址现在被视为非权威的(相关的)数据,它们不适合包含在响应中。
服务器的确总是有一组完整的根服务器地址作为缓冲,只是有可能没有包括全部的地址作为附加数据,这取决于它们最后接收的是响应还是相关数据。你通常可以使用显式查询如“dig a.root-servers.net a"来查找这些地址。

18、从bind 9主服务器传输zone到windows 2000从服务器失败了。为什么?
答:这可能是由于windows 2000 dns服务器的一个bug所致,在windows机器上,大于16k的dns消息就无法正确处理。这可以通过设置选项"transfer-format one-answer;"来解决。也可以检查你的zone是否包含了内嵌的空格或其他的特殊字符,例如"john2doe3s2computer",因为根据已知信息,这些名字也会导致windows 2000从服务器不正确地拒绝zone。

19、为什么当我在执行"rndc reload"或sighup时,我的zone文件并不重新载入?
答:既可以通过编辑zone文件并重新引导服务器来更新zone文件,也可以通过动态更新来实现,但不能同时使用两种方法。如果你已经针对zone使用了"allow-update"选项来激活动态更新,那你就不能再手工编辑zone文件,此时服务器将不再尝试重新载入zone文件。

20、我可以在域名服务器上查询域名服务器,但不能从其他机器上查到。为什么?
答:这通常是由防火墙配置阻止了查询和/或响应所导致的结果。

21、我怎样可以让服务器同时作为内部和外部视图的从服务器?当我试着这样做时,从服务器上的两个视图传输了主服务器上的同一视图。
答:你应该为主服务器和从服务器设定多ip地址。例如:
主服务器: 10.0.1.1 (internal), 10.0.1.2 (external, ip alias)
internal:
match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
notify-source 10.0.1.1;
transfer-source 10.0.1.1;
query-source address 10.0.1.1;
external:
match-clients { any; };
recursion no; // dont offer recursion to the world
notify-source 10.0.1.2;
transfer-source 10.0.1.2;
query-source address 10.0.1.2;
从服务器:10.0.1.3 (internal), 10.0.1.4 (external, ip alias)
inte

NITC企业智能营销系统(定海神真)3.3 经典正式版
NITC企业智能营销系统(定海神真)3.3 经典正式版

“定海神真”免费效益网站是NITC网络营销服务中心经历3年多时间研发的历作,汇聚了15年的网站开发经验及8年网络营销经验。系统简单易用,界面精美,体验度高,对SEO优化也有良好的效果,而且永久免费。唯一缺陷就是主题界面只有50多个,但NITC开放了主题结构教程,懂DIV+CSS的网页设计人员很容易开发出自己喜欢的网页。NITC网站系统是中小企业网站营销的最佳

下载

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508511.htmlTechArticle本文译自BIND主网站上的一篇文章:http://www.isc.org/products/BIND/FAQ.html。应该说,这些问题都非常典型,对BIND 9用户的日常维护和管理可以提供...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 生态工具与框架:扩展开发能力
Golang 生态工具与框架:扩展开发能力

《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。

1

2026.02.24

Golang 性能优化专题:提升应用效率
Golang 性能优化专题:提升应用效率

《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。

2

2026.02.24

Golang 面试题精选:高频问题与解答
Golang 面试题精选:高频问题与解答

Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。

1

2026.02.24

Golang 运行与部署实战:从本地到云端
Golang 运行与部署实战:从本地到云端

《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。

3

2026.02.24

Golang 疑难杂症解决指南:常见问题排查与优化
Golang 疑难杂症解决指南:常见问题排查与优化

《Golang 疑难杂症解决指南》聚焦开发过程中常见却棘手的问题,从并发模型、内存管理、性能瓶颈到工程化实践逐步拆解。通过真实案例与调试思路,帮助开发者定位问题根因,建立系统化排查方法。不只给出答案,更强调分析路径与工具使用,让你在复杂 Go 项目中具备持续解决问题的能力。

1

2026.02.24

Golang 入门学习路线:从零基础到上手开发
Golang 入门学习路线:从零基础到上手开发

Golang 入门路线涵盖从零到上手的核心路径:首先打牢基础语法与切片等底层机制;随后攻克 Go 的灵魂——接口设计与 Goroutine 并发模型;接着通过 Gin 框架与 GORM 深入 Web 开发实战;最后在微服务与云原生工具开发中进阶,旨在培养具备高性能并发处理能力的后端工程师。

0

2026.02.24

中国研究生招生信息网官方网站入口 研招网网页版在线入口
中国研究生招生信息网官方网站入口 研招网网页版在线入口

中国研究生招生信息网入口(https://yz.chsi.com.cn) 此网站是研究生报名入口的唯一官方网站

95

2026.02.24

苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法
苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法

本专题汇总苹果官网最新可用入口及中国站点访问方式,涵盖官网直达链接、iPhone官方页面查看方法与常见访问说明,帮助用户快速进入苹果官方网站,便捷了解产品信息与官方服务。

14

2026.02.24

Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址
Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址

本专题系统整理Asianfanfics(AFF)官方网站最新可用入口,涵盖官方平台最新直达地址、官网登录方式及中文访问指引,帮助用户快速、安全地进入AFF平台浏览与使用相关内容。

15

2026.02.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号