[김선한]님이 남기신 글:
>산이님 감사합니다.
>그렇게 처리 하니 문제 해결되는것 같은데요..
>의문 사항이 하나 생겨서요..
>
>예전에 보안상 문제로 그런부분을 막는것 같은데요..
>
>제가 이해를 잘못 한것 같네요?..
>
>그렇게 설정하면 외부에서 접근이 잘안되는 문제가 발생하지요?..
>
allow-recursion 을
제일처음 질문처럼 설정하면 61.107.168.198 와 같은 외부 호스트는
원하는 질의를 받지 못합니다.
그 이유는
재귀적 질의하고 비재귀적 질의를 서로 구별하여
네임서버가 불필요한 일을 하지 않도록 하는 것이 그 목적입니다.
즉,
앞서 설명했지만 재귀적 질의라고 하면
아래의 네임서버를 LocalDNS 로 설정한 호스트를 말하고 또한
$ nslookup www.othrers.com '아래네임서버주소'
이와 같이 질의를 보내면 질의를 보낸 이 호스트도 이것도 재귀적
질의에 해당됩니다.
제일처음에 설정한 내용도 맞고 현재 위의 설정도 맞습니다.
다만 에러로그처럼 보이는 부분이 맘에 걸리면 위의 내용처럼 설정하거나
아예 그 줄을 삭제하면 됩니다.(기본값은 모두 허용임)
잘 이해가 안되면 재귀적 질의하고 비재귀적 질의를 먼저 구분해
보세요.
이 개념을 먼저 이해한다면 왜 위의처럼 설정하는지
쉽게 알 수 있을 겁니다.
아직 이해가 안되는 부분이 있다면 다시 질문하세요.
>아무튼 해결 되어서 감사합니다.
>
>아래 부분으로 수정을 하였습니다.
>options {
> directory "/var/named";
> /*
> * 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;
> allow-transfer { 210.114.223.119; localhost; };
> allow-query { any; localhost; };
> allow-recursion { any; localhost; };
>};
>
>
>[산이]님이 남기신 글:
>
>>
>>[김선한]님이 남기신 글:
>>
>>>-----------------------------------------
>>>답변자가 기본적으로 참고할 내용입니다.
>>>- 배포판(옵션) : LINUX 7.2 한글판
>>>- 커널버전(옵션) : kernel-2.4.7-x
>>>- 데몬버전(예:apache 1.3.27) : bind-9.2.1
>>>- 데몬설치유형(RPM/컴파일/기타) : RPM
>>>-----------------------------------------
>>>
>>>bind 설치 버전은 다음과 같습니다.
>>>[root]# rpm -qa | grep bind
>>>bind-devel-9.2.1-0.7x
>>>bind-9.2.1-0.7x
>>>bind-utils-9.2.1-0.7x
>>>
>>>네임 설정은 다음과 같습니다.
>>>[root]# cat /etc/name.conf
>>>// generated by named-bootconf.pl
>>>
>>>options {
>>> directory "/var/named";
>>> /*
>>> * 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;
>>> allow-transfer { 210.114.223.119; localhost; };
>>> allow-query { 61.252.68.64/26; localhost; };
>>> allow-recursion { 61.252.68.64/26; localhost; };
>>>};
>>>
>>>//
>>>// a caching only nameserver config
>>>//
>>>zone "." IN {
>>> type hint;
>>> file "named.ca";
>>>};
>>>zone "0.0.127.in-addr.arpa" {
>>> type master;
>>> file "named.local";
>>>};
>>>zone "icross.co.kr" IN { type master; file "zone-default"; allow-query { any; };};
>>>zone "mghland.co.kr" IN { type master; file "zone-default"; allow-query { any; };};
>>>zone "hu-land.co.kr" IN { type master; file "zone-default"; allow-query { any; };};
>>>
>>>존 파일 설정 다음과 같습니다.
>>>[root]# cat /var/named/zone-default
>>>$TTL 86400
>>>@ IN SOA ns.icross.co.kr. root.icross.co.kr. (
>>> 2003103114 ; Serial
>>> 28800 ; Refresh
>>> 14400 ; Retry
>>> 3600000 ; Expire
>>> 86400 ) ; Minimum
>>>
>>> IN NS ns.icross.co.kr.
>>> IN A 210.114.223.120
>>>* IN A 210.114.223.120
>>>
>>>
>>>로그 기록에 아래와 같이 이상한것이 나와서 이것 때문에 외부에서 접속이 안될때가 있는지 알고 싶습니다.
>>
>>아래의 에러메시지는 위의 설정에 따른 정상적인 메시지입니다.
>>정확히 말하면 에러메시지라기 보다는 디버깅정도입니다.
>>이유는 네임서버 설정이 그렇게 되어 있기 때문이죠.
>>
>>부연 설명하자면, 위의 내임서버 설정에서,
>>재귀적 질의는 61.252.68.64/26; localhost;
>>에서만 허용하고 나머지는 모두 비재귀적 질의로 처리합니다.
>>(allow-recursion 이 부분의 설정을 말합니다.)
>>
>>예를 들어,
>>위의 설정 범위안에 든 61.252.68.66 호스트(또는 다른 네임서버)가
>>위의 네임서버로 질의를 보내면, 네임서버는 이 질의를 재귀적 질의로
>>받아들입니다. 그리고 이 범위안에 들지 않은 61.81.63.1 와 같은
>>호스트나 다른 네임서버는 모두 비재귀적 질의로 받아 들입니다.
>>
>>아래 로그에 보이는 호스트들이 모두 비재귀적 질의에 속하는
>>호스트를로 생각되네요.
>>
>>여기에서 '재귀적 질의'라고 하면 위의 네임서버가 질의받은 도메인을
>>자신이 zone 에 없으면 다른 네임서버에게 질의하는 과정을 말합니다.
>>즉 위의 네임서버도 클라이언트 입장이 되어서 다른 네임서버에게
>>물어보는 것을 재귀적 질의라고 합니다.
>>
>>좀 이해가 되나요?
>>
>>이렇게 재귀적 질의는 그 결과를 모두 자신의 캐시(메모리)에 저장합니다.
>>
>>반면 비재귀적 질의 요청을 받으면(위의 리스트에 없는 호스트들로 부터
>>질의를 받은 경우를 말함) 네임서버는 다른 네임서버에게 물어보지 않기
>>때문에 그 결과가 없습니다. 따라서 결과가 없기 때문에 저장(cache)도
>>할 수 없겠죠.
>>
>>이 비재귀적 질의 때문에 아래와 같은 'query denied' 와 같은 로그가
>>남습니다.
>>
>>대부분 루트 네임서버와 같은 경우는 비재귀적 질의만 받고
>>LocalDNS 와 같은 역할을 하는 네임서버는 재귀적 질의를 모두 허용해주는
>>것이 정상입니다.
>>
>>네임서버 설정을 위와 같이 특정 호스트만 재귀적질의를 받고
>>나머지는 모두 비재귀적 질의로 처리하고자 한다면 네임서버 설정은 맞는
>>설정이지만 아래와 같이 로그를 남깁니다.
>>
>>위와 같이 설정하고 로그를 남기지 않기 위해서는 위의
>>리스트에 속하지 않는 호스트들은 LocalDNS 로 설정하지 말아야 합니다.
>>(LocalDNS 설정이라고 하면 /etc/resolv.conf 에 설정)
>>
>>간단하게 처리하고자 한다면,
>>
>>위의 설정에서
>>
>>allow-recursion { 61.252.68.64/26; localhost; };
>>
>>를 지우거나 any 로 설정하면 됩니다.
>>allow-recursion 을 설정하지 않으면 기본값은 모든 호스트에
>>대한 재귀적 질의로 처리합니다.
>>
>>...
>>
>>잘 이해가 안된다면 위의 설정을 지우세요.
>>
>>
>>
>>>[root@mail bugulee]# tail /var/log/messages
>>>Oct 31 16:08:53 mail named[8404]: client 168.126.63.13#1454: query (cache) denied
>>>Oct 31 16:09:10 mail named[8404]: client 203.232.140.3#48048: query (cache) denied
>>>Oct 31 16:09:52 mail named[8404]: client 210.117.65.139#57601: query (cache) denied
>>>Oct 31 16:10:59 mail named[8403]: client 61.81.63.1#12902: query (cache) denied
>>>Oct 31 16:10:59 mail named[8404]: client 61.81.63.1#12902: query (cache) denied
>>>Oct 31 16:12:07 mail named[8403]: client 168.126.63.30#14218: query (cache) denied
>>>Oct 31 16:12:10 mail named[8403]: client 61.107.168.198#3451: query (cache) denied
>>>Oct 31 16:12:12 mail named[8404]: client 61.107.168.198#3451: query (cache) denied
>>>Oct 31 16:12:13 mail named[8403]: client 61.107.168.198#3451: query (cache) denied
>>>Oct 31 16:12:18 mail named[8404]: client 61.107.168.198#3451: query (cache) denied
>>>
>>>해결 방법이 있으면 조언좀 부탁 드려요..
>>
>>========================================
>
>========================================
======================================== |