[정한우]님이 남기신 글:
>안녕하십니까..
잘계시는지요?
>날씨가 갈수록 추워지고 있습니다. 해가 지날 수록 조금씩
추위를 더타게
>되는 것 같습니다. 올 겨울에는 내복이 필요할지도..
^^
>
>님의 책 잘보고 있습니다.
>님의 책(개정판) 가운데 지금 네임서버 부분을 보고
있습니다.
>
>제가 몇날 몇일을 rndc가지고 헤매이다가 최근 성공했습니다.
>맨날 "connection refuesd",, 기타 등등의 에러만 보다가..
갑자기 되니 황당하더라고요.
rndc를 설정하지않고 넘어가면 잘되니까 그냥 넘어가려다 하두
억울해서(-_-) 계속 붙잡고 늘어지니 결국 되긴 되는군요.
ㅎㅎ
>사실 첨엔 rndc?? 이건 무엇에 쓰는 물건일까?? 그랬는데 이젠
알것 같구요..
>
>님의 책중에서 rndc 관련 설정에 대한 설명을 보면.
>
>347p, 349p, 350p 등에서는 /etc/rndc.conf의 server {}; 구문에서
>
>(/etc/named.conf의
controls {}; 구문이 아니구요 ^^)
>
> keys "key"라고
해야지 key "key"라고
해서는 안된다. 이렇게 씌여있으나
>353p 원격 네임서버의 rndc.conf파일의 예에서는
>
> server 192.168.10.3 {
> key "ns_rndckey";
> };
>
>와 같이 key로 표기하였습니다.
책의 내용에 비추어 보면 353p의 내용도
>keys로 해야 할 것 같은데요.
>이것은 책의 내용과 관련한 것이고요~~~
>
>그런데 제가 셋팅해본 결과, server {}; 구문에서
>key가 아닌 keys로 설정하면 오히려 에러가 납니다. key로 하면 잘
되고요.
>두가지 버전(bind 9.2.1 : 소스 컴파일, 그리고 한컴리눅스 2.0에
설치된 bind 9.1.0 RPM패키지)을 가지고 설정했습니다. 둘 다
/etc/rndc.conf의 내용은 아래와 같습니다.
>
>options {
> default-server 127.0.0.1;
> default-key "key";
>};
>
>server "127.0.0.1" {
> key "key";
>};
>
>key "key" {
> algorithm hmac-md5;
> secret
"NvBGYRVsDPqlPuvsgcYgifsFYcVZxBsmEqhoduUoFewYKMFCXCri0GwIZozp";
>};
>
>이렇게 설정한뒤 rndc 관련 명령을 내리면 잘 되구요
>오히려 server {}; 구문에서 key를 keys로 바꾸면
>
>/etc/rndc.conf:30: syntax error near '<string>'
>rndc: /etc/rndc.conf:failure
>
>라면서 구문 에러납니다. 제 설정파일에서 30번째 줄이 바로 key
부분이거든요.
>
>제가 설정한 두가지 버전에서만 그런 것인지는 모르겠습니다.
>이 내용을 한번 확인하여 주시기 바랍니다.
>
>ps) 리눅스에 패키지로 깔린 named.conf man 페이지에는 key로,
isc에서 배포하는 "BIND 9 Administrator Reference Manual"
pdf파일에는 keys로, "DNS와 BIND(한빛)"책자에는
key로 나오는 등 도무지 종잡을 수가 없어서.. 정말 많이
헤맸습니다. 게다가 제가 소스로 컴파일한 컴의 OS가
솔라리스여서 rndc-confgen명령을
수행할 시에 /dev/random파일이
없다는 에러까지.. "으악!"이더군요..
========================================
------- ^.9 -------------
엄청 고생하신것 같군요..
여름에 원고 쓸때 이부분때문에 한 반나절 소비한 기억이
나는군요..
지적하신대로, rndc.conf 파일의
server {} 구문에서,
- 맨페이지 -> key "keyname";
- 관리자매뉴얼 -> keys "keyname";
- RPM 패키지 -> key "keyname";
- KLTP 팁 -> keys "keyname";
- ISC named.conf 샘플 -> server IP { keys "keyname"; };
이와 같이 각기 다 다르더군요..
제가 테스트할 당시 named를 종료할때 rndc stop이 아니고
프로세스를
직접 죽이는 스크립트(/etc/rc.d/init.d/named)이어서
아마 이부분에 대해서 직접 확인하지 못했군요..
BIND 9.1.x/9.2.x에서는
확실하게 rndc 명령을 내릴때에는
keys가 아니라 key로 설정해야 정상적입니다.
그런데 그당시 server {} 구문을 named.conf 파일에 설정해 놓고
named-checkconf 로 구문을 검사하니 이때는 그 반대로
key가 틀리고 keys가 맞더군요.(직접
테스트해 보세요..)
테스트 예:(named.conf) -------------
server 127.0.0.1 {
keys "rndckey";
};
와
server 127.0.0.1 {
key "rndckey";
};
-------------------------------------
그래서 직접 구문검사가 맞다싶어서, 그리고 관리자 매뉴얼에
충실하고자 key가 아닌 keys로 결정하여 <주의>문도 넣던
기억이 나네요..
그런데...
오늘 서너시간 테스트해 본결과
역시 rndc.conf 파일에서는 keys가 아니라 key로 설정해야
정상적이더군요..
아무래도 관리자 매뉴얼보다 실무에서 직접 테스트한 패키지의
샘플
설정이 맞을 확률이 더 높군요.
따라서,
rndc.conf 파일에서는 keys가 아니라 key로 설정하세요..
책에서 틀린 내용은 정리해서 Books/FAQ란에 올리겠습니다.
*PS1:
그런데 굳지 rndc와 key 없이도 네임서버를 얼마든지 정상적으로
운영할 수 있습니다.
rndc는 말 그대로 원격(local포함)의
네임서버를 제어하는 툴입니다.
(start 없음)
*PS2:
만약 원격에서 key를 사용하여 좀더 안정적으로 zone
데이터베이스를
유동적으로 다이나믹하게 관리하고자 한다면 nsupdate를
사용하면 됩니다.
(책에 예제있음)
*PS3:
p.353은 제 실수로 오타입니다. 그런데 이게 맞군요... T.T
아뭏튼 잘못된 점 지적해 주셔서 감사합니다.
|