안녕하세요.
설명중 잘못된 부분이 있었네요.
저도 헷갈려서 아래와 같이 재구성 해보았습니다.
===============================================
테스트 도메인(1) : abc.co.kr
등록기관에 ns 호스트 등록 ns.abc.co.kr -> (192.168.1.1)
abc.co.kr 의 도메인등록기관
네임서버 정보는,
1차 ns.abc.co.kr -> (192.168.1.1)
ns.abc.co.kr (192.168.1.1) 서버에서는 abc.co.kr 의 zone 을 생성하지
않고, 디폴트 상태로만 두었습니다.
===============================================
테스트 도메인(2) : linux.com
linux.com 의 도메인등록기관
네임서버 정보는,
1차 ns.abc.co.kr -> (192.168.1.1)
===============================================
## ns.abc.co.kr(192.168.1.1)
/etc/named.conf
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
forward only ; <---------------------- 추가
forwarders { 192.168.1.100; }; <----추가
};
아래는 디폴트 설정만 존재함.
192.168.1.100 서버에는 실제로 linux.com 에 대한 zone 이 존재합니다.
[원하는 결과]
linux.com 질의 -> ns.abc.co.kr 이 192.168.1.100 에 질의하여 받아온
결과를 응답한다.
근데, nslookup 을 해보면,
(1) ns.abc.co.kr(192.168.1.1) 로 접속해서 linux.com 의 질의를 해보면
192.168.1.100 에 설정된 내용대로 응답이 잘 옵니다.
(2) kns.kornet.net 등 타 DNS 로 접속해서 linux.com 의 질의를 해보면
linux.com 자체를 찾지 못합니다.
다시 정리하면 이와 같습니다.
ns.abc.co.kr 은 /etc/named.conf 에서 지정한 임의의 네임서버로 부터
질의를 하여 받아온 결과를 응답해 주는 중계서버 역할을
하려고 하는건데 안되고 있습니다.
ns.abc.co.kr(192.168.1.1) 에는 아무런 도메인의 zone 이 없고, 모든
요청에 대해 192.168.1.100 에 질의하여 그 결과를 응답하는 중계자
역할을 하도록 말이죠..
뭐가 잘못된 걸까요...
[산이]님이 남기신 글:
>
>[김성민]님이 남기신 글:
>
>>안녕하세요.
>>다름이 아니라 산이님 책중에 named.conf 설정중.
>>fowarders 라는 옵션에 대해서 문의드릴려구요.
>>bind-9.2.4-16.EL4.i396.rpm 이 설치되어 있구요.(리눅스
설치시)
>>
>>쉽게하기 위해 192.168 과 같은 ip 로 기재할께요..
>>
>>ns.abc.co.kr(192.168.1.1) 이라는 서버가 있습니다.
>>여기에 도메인등록기관에
(nstemp).abc.co.kr 라는 호스트를 추가하고,
>>nstemp.abc.co.kr -> 192.168.1.2 로 설정하였습니다.
>>
>>ns.abc.co.kr -> 192.168.1.1
>>nstemp.abc.co.kr -> 192.168.1.2
>>
>>이와 같습니다.
>>
>>이 상태에서
>>ns.abc.co.kr(192.168.1.1) 서버의 abc.co.kr.zone 에서 nstemp.abc.co.kr 을 A
레코드로 192.168.1.3 으로 가게 하였습니다.
>>하위 도메인 추가하듯이.
>>
>>임시서버에 192.168.1.3 을 잡고,
>>외부에서 nstemp.abc.co.kr 을 ping 을 때리면 192.168.1.3 으로
갑니다.
>>
>>이 상태에서,
>>별개의 linux.com 이라는 도메인의 네임서버 정보를 nstemp.abc.co.kr
로 설정하고,
>>
>># 임시서버 (192.168.1.3)
>>/etc/named.conf
>>
>>abc.co.kr 이라는 zone 을 안넣었습니다.
>>설치된 상태에서 아무것도 수정안하고 상단 options 섹션에
아래와 같이 추가하였습니다.
>>
>>options {
>> directory "/var/named";
>> dump-file "/var/named/data/cache_dump.db";
>> statistics-file "/var/named/data/named_stats.txt";
>> /*
>> * If there is a firewall between you and nameservers you want
>> * to talk to, you might need to uncomment the query-source
>> * directive below. Previous versions of BIND always asked
>> * questions using port 53, but BIND 8.1 uses an unprivileged
>> * port by default.
>> */
>> // query-source address * port 53;
>> forward only ; <---------------------- 추가
>> forwarders { 192.168.1.100; }; <----추가
>>};
>>
>>아래는 수정안함.
>>
>>192.168.1.100 는 linux.com 도메인의 레코드정보가 있는 네임서버
입니다.
>>
>>외부에서 linux.com 을 nslookup 을 하면,
>>linux.com ?-> nstemp.abc.co.kr(192.168.1.3) -> 192.168.1.100 에 질의하여
결과를 받아오는게 안됩니다.
>>
>>nslookup 시 질의서버를 nstemp.abc.co.kr 로 해놓고 하면 192.168.1.100
에 있는 내용을 응답하는데,
>>
>>인터넷업체의
네임서버인 kns.kornet.net 등 기타 dns 에 nslookup 를 하면 Server failed
가 나옵니다.
>>
>>*** kns.kornet.net can't find linux.com: Server failed
>>
>>실제 도메인들의 레코드정보를 가지고 있는서버는 192.168.1.100
인데,
>>192.168.1.3 이 모든 요청을 받아 중계하는 역할을 해보려고
하는데 안되네요..
>>
>>
>>뭐가 잘못된건지 알수 있을까요??
>
>========================================
>
>뭔가 지금 상당히 꼬여 있는 설정입니다.
>
>우선
>abc.co.kr 도메인에 대한 도메인 등록기관에 설정된 네임서버
정보가
>
>- 1차: nstemp.abc.co.kr 192.168.1.2
>- 2차: ns.abc.co.kr 192.168.1.1
>
>이렇게 등록되어 있나요? 아니면 서로 바꾸어져
있나요?
>
>아무튼 1차 네임서버의 abc.co.kr zeon 파일에서
>
>nstemp.abc.co.kr 은 A 레코드로 192.168.1.2 로 지정해야
합니다.
>192.168.1.3 으로 지정하면 안됩니다.
>
>이것은 등록기관의 host 정보와 네임서버 레코드를
일치시켜주는게
좋습니다.
>
>따라서 linux.com 도메인은 등록기관에
nstemp.abc.co.kr(192.168.1.2)
>로 등록되어 있기 때문에
>
>192.168.1.3 이 아닌 192.168.1.2(nstemp.abc.co.kr) 네임서버에서
설정해야 합니다.
========================================
|