dns 서버(bind9)의 동작에 대해서 질문 드립니다.
글쓴이: ktd2004 / 작성시간: 목, 2014/12/04 - 4:40오후
bind9로 dns 서버를 구축해서 사용중입니다.
현재 문제는 다음과 다음과 같은 두 가지 입니다.
첫번째, 외부 pc에서 nslookup을 실행하면 dns 서버가 빨리 응답하는데 dns 서버 자체에서 nslookup을 실행하면 늦게 반응합니다.
## 외부 pc에서 다음 명령을 실행하면 빨리 반응함.
$ nslookup www.mydns.com xx.xx.xx.xx
## dns 서버 자체에서 다음 명령을 실행하면 느리게 반응함.
$ nslookup www.mydns.com localhost
두번째, dns 서버 자체에서 다음 nslookup 명령을 실행하면 에러가 발생합니다.
## dns 서버 자체에서 다른 domain에 대한 query를 요청
$ nslookup www.google.co.kr localhost
** server can't find www.google.co.kr: REFUSED
이러한 상태가 정상적인 상태인가요?
답변 부탁드립니다.~~~~
Forums:
1. /etc/hosts 파일에 자신의 IP들에
1. /etc/hosts 파일에 자신의 IP들에 대해서 설정해 주세요. localhost 포함해서.. 아니면 DNS 서버에 대한 inverse domain 설정을 명확하게 해 주시든지요. 대부분 이런 경우는 DNS 서버 자신의 IP에 대한 inverse domain이 설정 되지 않았을 경우 많이 발생하는 문제 입니다. (물론 드물게 다른 경우도 있을 수 있습니다.)
2. allow-recursion 설정에 DNS 서버의 IP (127.0.0.1 포함)가 누락되어 있는 것 같습니다.
답변 감사합니다. 확인 후에 다시 댓글 달겠습니다.
답변 감사합니다.
확인 후에 다시 댓글 달겠습니다.
2번째 문제에 대해서는 allow-recursion을
2번째 문제에 대해서는 allow-recursion을 설정해서 문제가 해결되었습니다.
* 답변 감사드립니다...
그런데 다음과 같이 설정이 가능할까요?
nslookup xxxx.mydnsserver.com의 경우에는 local의 dns 서버를 이용하고,
nslookup xxxx.otherdnsserver.com의 경우에는 외부 dns 서버를 이용하도록 bind 설정이 가능할까요?
질문의 의도를 잘 모르겠군요. recursion이
질문의 의도를 잘 모르겠군요.
recursion이 가능한 DNS라면 님이 질문하는 것은 당연하게 동작해야 하는데 말이죠. recursion 이 불가능할 경우에는 DNS는 자신에게 설정되어 있는 zone에 대해서만 응답을 합니다. 반면에 recursion이 가능할 경우에는 자신에게 설정되어 있지 않은 domain에 대해서는 다른 dns에게 질의를 하여 응답을 하게 됩니다.
제가 질문을 너무 모호하게 드렸네요... 다음과
제가 질문을 너무 모호하게 드렸네요...
다음과 같은 상황입니다.
nslookup www.mydnsserver.com ----> 1
nslookup www.mydnsserver.com 127.0.0.1 ----> 2
nslookup www.google.co.kr ----> 3
nslookup www.google.co.kr 127.0.0.1 ----> 4
위와 같은 경우에 3,4번의 경우에는 응답시간이 비슷하게 걸리는 것 같습니다.
즉, 외부 dns 서버로 query가 보내지고 응답을 받는 것 같습니다.
그런데 1,2번의 경우에 2번은 바로 반응을 하지만, 1번의 경우에는 약간의 시간이 걸립니다.
제 생각에는 1번의 경우에 2번처럼 바로 local의 dns 서버에 dns query를 던지지 않고,
외부 dns 서버로 query가 나가는 것처럼 보입니다.
따라서 1번 같은 경우에 local dns 서버에 바로 query를 던질 수 있는지 궁금해서 질문 드립니다.
질문이 명확한지 모르겠네요.. :)
답변 감사드립니다. ~~~
http://linux.die.net/man/5/ns
http://linux.die.net/man/5/nsswitch.conf 과 http://linux.die.net/man/5/resolv.conf 읽어보세요.
댓글 달기