예전에 후기로 쓴 겁니다.
반말임을 이해해 주시길 바랍니다.
;;;
--
원래는 9.1.1 (Source) 로 컴파일해서 까느라고 어제 새벽에 네임 서버가
잘 안 되던 거였는데,
알고 보니 9.1.1 은 커널 2.4 이상에서만 돌아가는 가 보다.
커널 업글까지는 시간도 안 되고...
사용 중인 서버의 커널을 업글한다는 것은 무리가 있는 것 같아서 그냥 RPM
으로 8.2.3 깔았다.
간단하게 끌낼 줄 알았던 작업이 오래 걸린 것은
9.1.1 때문에 걸린 시간... 그리고 지금 써 놓으려고 하는 8.2.3 과 8.2.2
의 차이 때문이다.
만약 8.2.3 을 누군가가 다시 깔게 된다면 부디 삽질하지 않게 되길 바란
다.
이 내용은 9.1.1 을 깔 때도 도움이 되리라 생각한다.
[ 현상 ]
8.2.3 를 간단히 깔고 나서 데몬을 띄워 보면 잘 뜬다.
그런데 host kucc.net 등을 쳤을 때 SERVFAIL 이란 메시지만 나온다.
KLDP 나 적수네 동네에서 찾아봤는데, 이것에 관련된 건 잘 안 나오는 것 같
다.
[ 해결 ]
우선 /usr/sbin/named -d start 를 통해 디버그할 수 있게 한다.
그러면 구동과 함께 /var/named (zone 파일이 있는 디렉토리) 에
named.run 파일이 생기고, 거기 나오는 구문을 차례 차례 살펴 본다.
기존에 아무 상관 없이 쓰던 구문을 8.2.3 에서는 제대로 인식하지 못 하고
zone 파일 자체를 reject.
1. 파일의 처음에 $TTL 604800 등의 구문을 넣어준다.
꼭 필요한 것은 아니지만 (나의 경우 적지 않으면 minimum 값을 그대로
이용했다.)
그래도 깔끔하게 하기 위해서 적어준다.
읽은 바에 의하면 어떤 사람은 8.2.3 에서 zone 파일을 불러들이지 못 했
다고 하며,
9.1.1 의 경우에는 $TTL 셋팅이 없으면 전혀 작동이 안 된다는 말도 있었
다.
나중을 위해서라도 깔끔하게 적어놓자.
2. SOA 가 들어가는 줄은 다음과 같이 쓴다. 첫째 줄의 괄호 부분이 결정적
이다.
kucc.net. IN SOA hi.kucc.net. webmaster.kucc.net. (
2001040804 ;Serial
1H ;Refresh
10M ;Retry
2W ;Expire
48H ;Minimum
)
3. RP (Responsible people?) 는 쓰지 않는다. 8.2.2 에서는 아무 상관 없었
는데,
이상하게 8.2.3. 에서는 에러가 났다. TXT 는 상관이 없었다.
4. 누군가 써 놓은 것 중에 이런 표현이 있었다.
abc IN A aaa
8.2.2 에서는 이런 식의 표현도 잘 작동을 했던 듯 하지만,
8.2.3 에서는 에러 요인이었다.
지난 번에 cname 를 썼을 때 발생한 sendmail 문제에서도 알 수 있듯이
모든 레코드 셋팅은 가급적 쓸 데 없는 기교를 피하고
host 와 IP 만으로 이루어지는 단순 명료한 셋팅이 좋은 것 같다.
조금 귀찮다고 4번처럼 쓴다거나 cname 을 남발한다거나 하는 것은
몇번의 경험으로 볼 때 별로 좋지 못 하다고 생각한다.