免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4733 | 回复: 8
打印 上一主题 下一主题

[DNS] 编译安装9.6后 named -u bind -gc /usr/local/named/etc/named.conf出现问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-13 21:40 |只看该作者 |倒序浏览
1。问题1
  编译后启动:/usr/local/named/sbin/named -u bind -gc /usr/local/named/etc/named.conf
  启动成功,最后一行running状态后,机器就停在这个界面,我要做其他操作需要重新开窗口。或者,
  named -u bind -gc /usr/local/named/etc/named.conf  &   才能
  有没设置那里,启动成功后,自动返回到能输命令的界面。
2.问题2
  还有就是编译后,named启动或者失败的日志,是在那里定义的。目前我在messages里看不到日志,仔细阅读了README,也没看到定义日志的项目(偶英语阅读能力有限,属边看边翻译类型)
  各位有过经验的,能否点拨点拨,感激不尽。

论坛徽章:
0
2 [报告]
发表于 2010-04-13 23:40 |只看该作者
1.是什么操作系统,配置文件中是否有daemon相关选项
2.bind的日志和logging字段相关,你检查一下

论坛徽章:
0
3 [报告]
发表于 2010-04-14 09:04 |只看该作者
1.是什么操作系统,配置文件中是否有daemon相关选项
2.bind的日志和logging字段相关,你检查一下
zhanglinbaby 发表于 2010-04-13 23:40

1.操作系统是RHEL 5U4的。
2.logging 字段的话,就是说只要配置named.conf就行了,明白日志的定义了,谢谢!

论坛徽章:
0
4 [报告]
发表于 2010-04-14 10:22 |只看该作者
1. -g是在前台运行。
-g Run the server in the foreground and force all logging to stderr.

看看手册的附录B。

论坛徽章:
0
5 [报告]
发表于 2010-04-14 10:23 |只看该作者
我手中参考资料不少,很奇怪竟然没有详细介绍logging选项的。
  man named.conf也不够详细,至多是选项和简略的一个词解释字段意义。

论坛徽章:
0
6 [报告]
发表于 2010-04-15 21:16 |只看该作者
详细介绍logging选项的真的是很少

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
7 [报告]
发表于 2010-04-16 14:25 |只看该作者
问题1
自己写脚本或者修改别人的脚本

问题2
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

论坛徽章:
0
8 [报告]
发表于 2010-04-16 16:36 |只看该作者
1. -g是在前台运行。
-g Run the server in the foreground and force all logging to stderr.

看看手册 ...
diancn 发表于 2010-04-14 10:22



    2.日志配置在bind9管理员手册 中有详细说明

7.2.9 logging 语句语法
logging {
[ channel channel_name {
( file path name
[ versions ( number | unlimited ) ]
[ size size spec ]
| syslog syslog_facility
| stderr
| null );
[ severity ( critical | error | warning | notice | info |debug [level ] | dynamic ); ]
[ print-category yes ot no; ]
[ print-severity yes or no; ]
[ print-time yes or no; ]
}; ]
[ category category_name {
DNS (BIND9) RunStone Tech. Inc.
http://www.runstone.com , 2003 37
channel_name ; [ channel_name ; … ]
}; ]
...
};
7.2.10 Logging 语句定义和使用
logging 语句为域名服务器设定了一个多样性的logging 选项。它的channel 短语对应于
输出方式、格式选项和分类级别,它的名称可以与category 短语一起定义多样的日志信息。
只用一个logging 语句就可以用来定义多个channel 和category。如果没有logging 语句的话,
logging 设置就是:
logging {
category "unmatched" { "null"; };
category "default" { "default_syslog"; "default_debug"; };
};
在BIND9 中, logging 的配置只有在整个配置文件被读取后才被执行。而在BIND8 中,
logging 部分被读取后就开始执行了。当服务器启动时,所有在配置文件中关于语法错误的
logging 信息都转到缺省通道(channel)中,或者使用”-g”选项,指定转成标准错误。
7.2.10.1 channel 短语
所有日志会输出到一个或多个channel 中;你可以定义所有你想要的通道。
每个通道的定义必须包括一个目的字句,用来确定所选的相关同到的信息,将会输出
到一个文件,或是到一个特殊的syslog 工具,或是到一个标准错误流,或者被忽略。它也
可以随意的限制通道能接受的信息级别(默认值info),定义是否包含一个由named 产生的
时间标记,或者是否包含分类的名称、级别等(默认是不包含任何内容)。
目的子句为null 时,会使所有发送给通道的信息被丢弃;那样的话,其他通道选项就
没有意义了。
目的子句为file 时,会使通道的内容输出到一个磁盘文件。它可以包含这个文件的大小
和该文件可以保存多少个版本。
如果使用versions 日志文件选项,named 就会自动保留多个版本的日志文件。例如,如
果选择保存文件lamers.log 的三个老版本,那么在它被打开的时候lamers.log.1 被更名为
lamers.log.2,lamers.log.0 被更名为lamers.log.1 ,lamers.log 被更名为lamers.log.0。也可以
设置version unlimited,这样就没有备份版本的限制了。如果对日志文件设置了size 选项,
那么仅当此文件超过了设定的大小时,系统就会进行更名。默认情况下不储存备份文件;
所有存在的日志文件被简单进行追加。
文件的size 选项用来限制日志的增长。如果文件超过了限制,又没有version 选项,则
named 就会停止写入文件。如果保留了备份版本,则备份文件如上所述进行滚动命名,然后
开始创建一个新的文件。如果没有versions 选项,也没有其它的机制来删除或减小日志文件,
则系统就不会有数据继续写入日志中。默认状态是不限制文件的大小的。
size 和versions 选项的使用例子:
DNS (BIND9) RunStone Tech. Inc.
http://www.runstone.com , 2003 38
channel "an_example_channel" {
file "example.log" versions 3 size 20m;
print-time yes;
print-category yes;
};
syslog 目的子句是把通道指向系统日志。它的参数是一个syslog 的前缀,如syslog 帮助
中所述。Syslog 是怎样处理带有这些前缀的信息,可以参考syslog.conf 的帮助信息。如果
你有一个使用很老版本的syslog 的系统,只对openlog()函数使用两个参数,那么这个子句
就被忽略了。
severity 子句象syslog 中的”priorites”一样工作,唯一区别的是用户可以直接写入一个文
件,而不是使用syslog 写入一个文件。不到严重级的信息将不会被通道选择;高严重级的
信息将会被接受。
如果用户正在使用syslog,那么syslog.conf 的优先级也会决定什么会最终通过。例如,
将channel facility 和severity 定义成daemon 和debug,就不会只记录通过syslog.conf 的
daemon.warning 信息,后者会使severity 是info 和notice 的信息被丢弃。如果情况相反,named
就会只记录warning 或更高级别的信息,而syslogd 则会记录来自于通道的所有信息。
Stderr 的目的子句将通道输出到服务器的标准错误流。它的用于服务器在前台运行的情况
下,例如,debug 调试配置的时候。
当处于debug 模式的时候,服务器能提供丰富的调试信息。如果服务器的全局debug 级别
(globe debug level)大于0,debug 模式将被激活。全局debug 级别可以通过在启动named
时设置“-d”参数加一个正数,或运行rndc trace 来设置。
全局debug 级别可以设置成0,或运行rndc notrace,则debug 模式被关闭。服务器中所
有的debug 信息有一个debug 级别,高调试级给出更详细的输出。例如,指定调试严重级别
的通道:
channel "specific_debug_level" {
file "foo";
severity debug 3;
};
上例中,服务器在处于debug 模式的时候都会收到3 级和比3 级小的级别的调试信息,
全局的调试级别在这里不起作用。dynamic 严重级别的通道将使用服务器全局debug 级别决
定打印哪些信息。
如果使用了print-time 参数,则日期和时间也将会记录下来。print-time 也可以针对syslog
的通道进行设置,但因为syslog 也打印日期和时间,所以一般来讲,这没有什么意义。如
果设置了print-category 参数,则信息的分类也会记录下来。如果设置了print-severity 参数,
则信息的严重级别也会记录下来。print-xxx 选项可以进行多重组合,单输出的格式都为这
个顺序:时间、分类、严重级别。下面是一个当三个打印选项都设置的例子:
28-Feb-2000 15:05:32.863 general: notice: running
下面是四个named 提前定义的通道,用于指定缺省的日志。
DNS (BIND9) RunStone Tech. Inc.
http://www.runstone.com , 2003 39
channel "default_syslog" {
syslog daemon; // 发送给syslog 的daemon facility
severity info; //只发送此优先级和更高优先级的信息
};
channel "default_debug" {
file "named.run"; // 写入工作目录下的named.run 文件
// 注意:如果服务器用-f 参数启动,则
// "named.run"会被stderr 所替换
severity dynamic; // 按照服务器当前的debug 级别记录日

};
channel "default_stderr"{ //写到stderr
stderr;
severity info; //只发送此优先级和更高优先级的信息
};
channel "null" {
null; // 丢弃所有发到此通道的信息
};
default_debug 通道有特殊的性质:只有当服务器的debug 级别非0 的时候,它才产生输
出。一般来说,它会在服务器的工作目录中写入named.run 文件。
因为安全原因,当在命令行选项中使用了“-u”参数后,只有当named 使用了新的UID
后,named.run 文件才会产生,以root 身份启动和运行的named 所产生的debug 信息将会被
丢弃。如果用户需要得到这些输出,则必须使用“-g”参数运行服务器,并重新将标准错误
定向到一个文件中去。
一旦定义好一个通道,它就不能被重新定义。这样就不能修内置的通道,但是可以通
过把分类指向你已经定义的通道,来修改默认的日志记录。
7.2.10.2 category 短语
这里存在许多分类,用户可根据需要定义想看到或不想看的日志。如果你不将某个分
类指定到某些通道的话,那么在这个分类的日志信息就会被发送到default 分类通道中。如
果用户没有设定缺省的分类,下列"default"则会被系统使用:
category "default" { "default_syslog"; "default_debug"; };
作为一个例子,假定你要在文件中记录安全事件,但您也要保留缺省的日志文件。最
好按照下面配置:
channel "my_security_channel" {
file "my_security_file";
severity info;
DNS (BIND9) RunStone Tech. Inc.
http://www.runstone.com , 2003 40
};
category "security" {
"my_security_channel";
"default_syslog";
"default_debug";
};
为了丢弃一个分类中的所有信息,可以设定null 通道:
category "xfer-out" { "null"; };
category "notify" { "null"; };
下面是可用的分类和相关的简明描述,以后的BIND 版本中会包含更多的分类。
default 没有配置的分类会使用default 的分类的日志配置。
General 许多没有分类的内容都归在此分类中
Database Named 使用的,用来存储域和缓存数据的内部数据库信息。
security 接受和拒绝的请求
config 配置文件分析和处理
resolver DNA 解析,如由缓存域名服务器执行的代表用户的递归查询。
xfer-in 服务器收到的域传输
xfer-out 服务器发送的域传输
notify NOTIFY 协议
client 用户请求的处理
unmatched 由于没有匹配的视图,Named 无法确定的类别。单行的概要信息记录在client 分类中。这个分类最好发送到一个文件或者stderr,缺省情况下发送到一个null 通道。
network 网络操作。
update 动态更新。
queries 请求,使用queries 分类将会产生日志用户请求。
dispatch 将进入的数据包分发到能够处理它们的服务器模块中去。
dnssec DNSSEC 和 TSIG 协议的处理。
lame-servers 未知服务器。这些都是有于其它DNS 服务器中的错误配置引起的。

论坛徽章:
0
9 [报告]
发表于 2010-06-18 16:59 |只看该作者
感谢楼上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP