免费注册 查看新帖 |

Chinaunix

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

[DNS] 无法理解的报错,请大家指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-23 11:52 |只看该作者 |倒序浏览
安装完bind,执行命令:/usr/local/bind9/sbin/named -t /usr/local/bind9 -u named,没有报错,然后ps -ef,无法找到bind服务,查看日志显示:
Aug 23 03:32:20 ns-sh named[21405]: starting BIND 9.2.2 -t /usr/local/bind9 -u named
Aug 23 03:32:20 ns-sh named[21405]: using 1 CPU
Aug 23 03:32:20 ns-sh named[21405]: loading configuration from '/usr/local/bind9/etc/named.conf'
Aug 23 03:32:20 ns-sh named[21405]: none:0: open: /usr/local/bind9/etc/named.conf: file not found
Aug 23 03:32:20 ns-sh named[21405]: loading configuration: file not found
Aug 23 03:32:20 ns-sh named[21405]: exiting (due to fatal error)

我的named.conf就安装在/usr/local/bind9/etc,百思不得其解,请大家帮忙找找原因,谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-08-23 22:19 |只看该作者
none:0: open: /usr/local/bind9/etc/named.conf: file not found


不是这个文件没有找到么?

论坛徽章:
0
3 [报告]
发表于 2006-08-23 22:20 |只看该作者
看看当前用户对这个文件的操作权限吧。

论坛徽章:
0
4 [报告]
发表于 2006-08-24 09:43 |只看该作者
我当时也想到了这个问题,查了一下named.conf,权限如下:
-rw-r-----    1 root    named       23406 Aug 23 10:59 named.conf
我就试着改成了:
-rw-r-----    1 named    named       23406 Aug 23 10:59 named.conf
重新启动,还是报相同的错误,而且还有一个很奇怪的情况,我在启动named后的报错日志时间都比系统时间要晚好几个小时,比如上面的报错信息显示的时间是Aug 23 03:32:20,实际的系统时间是Aug 23 11:32:20.
后来又重装了几遍系统和bind,还是相同的问题,但还是这个问题,请大家再帮忙看看原因,非常感谢!!!

论坛徽章:
0
5 [报告]
发表于 2006-08-24 12:20 |只看该作者
建议你不要使用chroot,改成用-cg启动,你上面也没指定named.conf的路径啊~~~还有把-u的named改成bind用户。

论坛徽章:
0
6 [报告]
发表于 2006-08-25 09:58 |只看该作者
非常感谢butterfly_lf的建议,我调试一下.
但是我很希望弄明白我使用chroot设置bind为什么会出现以上的问题,我安装的操作系统是linux7.3和bind-9.2.2,步骤如下:
1.编译安装bind
使用root登陆,下载bind-9.2.2,解开压缩,编译。
./configure --prefix=/usr/local/bind9
然后就可以编译了:
make
make install
2.设置 chroot
chroot() 设置是为了是BIND更加安全,使入侵者即使攻入也无法阅读任何系统文件,
比如多数允许匿名FTP使用chroot()。
(1)首先确认你的bind安装在哪里,指定权限应该是022,我安装在/usr/local/bind9下.
(2)建立目录和连接 chroot 运行环境
cd /usr/local/bind9
mkdir -p {dev,usr,var,etc};
mkdir -p var/{run,log,named} usr/lib;
mkdir -p usr/local/etc/
mkdir -p usr/share/lib/zoneinfo
(3)建立帐号
groupadd named
useradd -d /tmp -s /bin/false -g named -c "BIND daemon" -m named
#在chroot目录下生成必要passwd等文件。
grep named /etc/passwd >> /usr/local/bind9/etc/passwd
grep named /etc/shadow >> /usr/local/bind9/etc/shadow
grep named /etc/group >> /usr/local/bind9/etc/group
(5)拷贝为chroot环境的系统文件
cp /etc/{syslog.conf,nsswitch.conf,resolv.conf,timezone} /usr/local/bind9/etc
(6)查看named需要哪些lib文件
ldd /usr/local/bind9/sbin/named
#将这些文件拷贝到lib目录下,在Linux下例如:
cp -p /lib/libnsl.so.1 /lib/libpthread.so.0 /lib/libc.so.6 /lib/ld-linux.so.2 /usr/local/bind9/lib
(7)设置时区和其他系统设置。
mkdir -p /usr/local/bind9/usr/share/zoneinfo;
cp -p /usr/share/zoneinfo/MET /usr/local/bind9/usr/share/zoneinfo/MET
cd /usr/local/bind9/dev
mknod tcp c 11 42
mknod udp c 11 41
mknod log c 21 5
mknod null c 13 2
mknod zero c 13 12
chgrp sys null zero
chmod 666 null
mknod consolg c 21 0
mknod syscon c 0 0
chmod 620 syscon
chgrp tty syscon
chgrp sys consolg
(将备份过的域名数据文件named放到/usr/local/bind9/var/下,即生成/usr/local/bind9/var/named域名数据文件
3.生成named.conf
这里我是将备份过的named.conf放到usr/local/bind9/etc/下面,生成usr/local/bind9/etc/named.conf,然后做如下设置:
chown root:named named.conf
chmod 640 named.conf
4.设置“监狱”模式
首先设置named必要的权限,并且禁止SUID/SGID文件等
cd /usr/local/bind9/
chgrp -R named *
chmod -R g-w var;
#在DNS服务器上,只需要允许建立和修改文件权限
chown -R root:named /usr/local/bind9/var/named/
chmod 770 /usr/local/bind9/var/named/
#生成空 log 和 pid 文件:
touch /usr/local/bind9/var/log/all.log /usr/local/bind9/var/run/named.pid
chown named:named /usr/local/bind9/var/log/all.log /usr/local/bind9/var/run/named.pid
#给 named 权限写 log 和 pid 文件
chgrp -R named /usr/local/bind9/var/log/ /usr/local/bind9/var/run/
chmod 770 /usr/local/bind9/var/log/ /usr/local/bind9/var/run/
chmod -R o-rwx /usr/local/bind9/var/log/ /usr/local/bind9/var/run/
#给 named 访问其他设置文件
chgrp named /usr/local/bind9/etc
chown root:named /usr/local/bind9/etc/named.conf
chmod 640 /usr/local/bind9/etc/named.conf
chmod 755 /usr/local/bind9/etc
#检查bind9目录,查看是否有SUID和SGID程序,如果除去SUID或SGID权限
find /usr/local/bind9/ -type f -exec chmod ug-s {} \;
#除去普通用户阅读权限
chmod -R o-rwx * /usr/local/bind9/usr/
安装bind和设置chroot完毕.
然后我运行:/usr/local/bind9/sbin/named -t /usr/local/bind9/ -u named
#-t表示 chroot 的目录 -u表示用户
就出现了上面提到的错误信息,请各位指教,多谢了!!!

论坛徽章:
0
7 [报告]
发表于 2006-08-25 15:01 |只看该作者
就因为你如此设置,所以bind不能正常启动,这个我没设置过没法帮你了,我对bind并不是很熟悉,对chroot的bind更加不熟悉,看看able和netman老大能不能帮你了~~~~
建议你就使用bind就完了,别设置chroot了~~~~

论坛徽章:
0
8 [报告]
发表于 2006-08-25 16:53 |只看该作者

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2006-08-26 14:11 |只看该作者
chroot 我在 n 年前有試過手工的設定:
http://www.study-area.org/tips/dns_chr.htm

不過, 現在的 linux 版本都已經弄好 chroot 環境了, 并不需要自己再設.

论坛徽章:
4
技术图书徽章
日期:2013-09-23 10:22:37狮子座
日期:2013-10-15 23:31:54卯兔
日期:2013-11-11 17:33:15金牛座
日期:2013-11-15 17:25:28
10 [报告]
发表于 2006-08-26 14:43 |只看该作者
/usr/local/bind9/sbin/named -t /usr/local/bind9/ -u named -c /etc/named.conf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP