
서버가 다운되는 심각한 문제에 직면했습니다.
로그에서 발견된 문제를 해결하기 위해 최선을 다했음에도 불구하고 알 수 없는 이유로 명명된 항목이 더 이상 작동하지 않습니다.
실행하려고 할 때마다 이 오류가 발생합니다.재구축 구성(c패널)
warn [fixrndc] /usr/sbin/rndc status failed: rndc: connect failed: 127.0.0.1#953: connection refused
그리고 이름이 지정된 상태를 확인하면 다음과 같습니다.
root@host [/etc]# /etc/init.d/named status
rndc: connect failed: 127.0.0.1#953: connection refused
이것은 내 /var/log/messages 꼬리입니다.
root@host [/etc]# tail /var/log/messages
Nov 24 22:32:25 host named[21687]: listening on IPv4 interface eth1, 108.xx.18.18#53
Nov 24 22:32:25 host named[21687]: listening on IPv4 interface eth1:cp1, 108.xx.18.19#53
Nov 24 22:32:25 host named[21687]: listening on IPv4 interface eth1:cp2, 108.xx.18.20#53
Nov 24 22:32:25 host named[21687]: listening on IPv4 interface eth1:cp3, 108.xx.18.21#53
Nov 24 22:32:25 host named[21687]: listening on IPv4 interface eth1:cp4, 108.xx.18.22#53
Nov 24 22:32:25 host named[21687]: listening on IPv4 interface eth1:cp5, 108.xx.18.23#53
Nov 24 22:32:25 host named[21687]: command channel listening on 127.0.0.1#953
Nov 24 22:32:25 host named[21687]: couldn't open pid file '/var/run/named/named.pid': Permission denied
Nov 24 22:32:25 host named[21687]: exiting (due to early fatal error)
Nov 24 22:32:25 host /etc/init.d/named: named startup succeeded
내 구성에는 다음 권한이 부여됩니다.
root@host [/etc]# ls -lh | grep named.conf
-rw-r--r-- 1 named root 4.9K Nov 24 22:11 named.conf
내 명명된.conf에는 다음 코드가 있습니다. (마이너스 영역)
include "/etc/rndc.key";
controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};
options {
/* make named use port 53 for the source of all queries, to allow
* firewalls to block all ports except 53:
*/
// query-source port 53;
recursion no;
/* We no longer enable this by default as the dns posion exploit
has forced many providers to open up their firewalls a bit */
// Put files that named is allowed to write in the data/ directory:
directory "/var/named"; // the default
pid-file "/var/run/named/named.pid";
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
/* memstatistics-file "data/named_mem_stats.txt"; */
allow-transfer { "none"; };
};
rndc에 대한 권한:
root@host [/etc]# ls -lh | grep rndc
-rw-rw---- 1 named named 479 Nov 24 21:29 rndc.conf
-rw-rw---- 1 named named 479 Nov 24 21:16 rndc.conf.bak
-rw-rw---- 1 named named 77 Nov 24 21:29 rndc.key
내 이름이 지정된 폴더 권한:
ls -lh /var/run/named/
total 8.0K
drwxrwxr-x 2 named named 4.0K Jan 7 2013 ./
drwxrwx--- 22 root root 4.0K Nov 24 22:29 ../
여기서 눈에 띄는 것이 있나요?
당신의 도움을 주셔서 감사합니다!
답변1
(a) 기본 문제는 pid 파일에 쓸 수 없다는 것이 분명해 보입니다. 마음속에 떠오르는 가능성은
- passwd 파일의 명명된 사용자 항목이 충돌합니다.
- 세리눅스
댓글로 이러한 이론을 테스트할 수 있는 방법에 대한 제안.
명명된.conf에서 pid 파일의 위치를 변경하면 문제가 해결되었으므로 /var/run 아래의 폴더 권한에 문제가 있는 것 같습니다.