[김성민]님이 남기신 글:
>안녕하세요.
>
>bind 9.0, Apache 1.3.20 입니다.
>
>### 사례1 ###
>
>서버에 linuxchannel.net, sub.linuxchannel.net 과 같이 2개의
도메인을
>(A)서버에 셋팅하여 사용하다가 linuxchannel.net 자체를 (B)서버로
이전하였습니다.
>linuxchannel.net 도메인 등록정보에서도
네임서버 정보를 B서버로 변경하고, A서버에서는 linuxchannel.net
에 대한 가상호스트 및 계정, 네임서버설정등
관련정보를 모두 삭제 하였습니다.
>
>sub.linuxchannel.net 은 새로운 서버인 B서버로 연결이
됩니다.
>근데, linuxchannel.net 은 아직 A서버로 연결이 됩니다.
>
>A서버에서는 해당 도메인에 대한 관련 레코드를 모두
삭제하였고, Apache 에서도 해당 설정이 없는상태인데도
불구하고 A서버로 연결이 됩니다.
>A서버로 연결이 된다는 의미는 A서버의 Apache Default Page 로
연결이 된된다는 말입니다.
>
>만일, A서버에서 linuxchannel.net 에 대한 dns 설정은 놔두고 Apache
설정만 제거하였다면 위와 같이 Apache Default Page 로 접속되는
것이 가능하지만, A서버 자체에서 dns, Apache 설정등 관련 정보를
모두 제거하였는데도
불구하고 A서버로 연결이 되는 이유를 모르겠습니다.
>
>그리고, 또 linuxchannel.net, sub.linuxchannel.net 의 네임서버
등록정보를 B서버로 바꾸었는데도 불구하고 linuxchannel.net 은
A서버로,
>sub.linuschannel.net 은 B서버로 연결이 됩니다.
>
>실제로 ping 을 해보면 linuxchannel.net 은 A서버 ip가,
>sub.linuxchannel.net 은 B서버의 ip가 잡힙니다.
>
>nslookup 을 해보면 (PC에서 하던, 서버에서 하던
마찬가지)
>linuxchannel.net 의 DNS 정보가 B서버로 나오지만,
>ping을 해보면 linuxchannel.net은 A서버의 ip로,
>sub.linuxchannel.net 은 B서버의 ip로,
>웹브라우저 접속을 해보면 linuxchannel.net 은 A서버로,
>sub.linuxchannel.net 은 B서버로 접속이 됩니다.
>
>
>### 사례2 ###
>
>위와 같은 증상이 있는 도메인이 또 있습니다.
>abc.com 이라는 도메인인데 그건 서버의 이전이 아니라 기존
사용하던 서버에서 네임서버 및 가상호스트 삭제, 계정삭제등
그냥 삭제를 한 상태인데,
>브라우저에서 접속하면 Apache Default Page 로 접속이
됩니다.
>마찬가지로, 네임서버 설정이 유효하고 가상호스트만
없앴다고 하면 Apache Default Page로 접속이 되는게
맞긴한데,
>네임서버 설정까지 없앴는데도 불구하고 A서버가 응답하는
이유를 모르겠습니다.
>
>
>1. Apache config 파일에서 해당 가상호스트 제거. (재시작
했음)
>2. /etc/named.conf 에서 해당 도메인 제거 (재시작 했음)
>
>***.zone 파일에서의 TTL 타임은 43200 입니다.
>
>위와 같이 변경하거나 삭제한 지 대충 4일정도
됩니다.
>
>제가 알기론 예를들면 A서버에서 사용하던 도메인에 대한
네임서버 정보에서 linuxchannel.net 에 대한 설정을 빼면 ping 을
해도 ip가 잡히지 않아야 하는 것으로 아는데 ping도 되고
A서버로의 접속이 가능하다는 것이 이해가 안갑니다.
>
>사례1, 사례2 와 같은 증상이 어떻게 일어날 수 있는지 문의
드립니다.
>/etc/rc.d/init.d/named restart (reload)
>/usr/local/apache/bin/apachectl restart
>여러번 해봐도 마찬가지 입니다.
>
>뭔가 이유가 있을터인데....
========================================
일단 위의 사례 1,2 는 모두 같은 문제인것 같습니다.
웹브라우저(에이전트)가
어떻게 웹서버가 접속하는지 그 과정을
그려보면 어디에 문제가 있는지 알 수 있습니다.
체크항목
1. 테스트하고 있는 클라이언트의 hosts 들
예를들어 /etc/hosts 파일과 /etc/host.conf 입니다.
위에서 ping 은 아마도 /etc/hosts 파일을 참고하고 nslookup 은
DNS 을 참조하는듯 하네요.
윈도우도 C:\WINDOWS\system32\drivers\etc\hosts 파일이 있습니다.
2. 1의 경우가 아니면 Local DNS 의 TTL 값이 아직 남아 있어서
이런 현상이 있습니다.
local DNS 설정은 /etc/resolv.conf 에 있고 TTL은 예를 들어
shell> dig www.linuxchannel.net
linuxchannel.net. 850 IN A 222.231.2.163
850초가 남아 있군요.
Local DNS 의 기존 TTL 값이 길면, 이 값이 모두 expire 될때까지
예전 정보를 리턴해 주기 때문에 이때까지 기달려야 합니다.
그렇게 때문에 기존 TTL 값이 길게 설정되어 있고, 하루
이틀후에 DNS 설정을 바꾸고자 한다면 미리 이 TTL 값을 짧게
설정해 주는 것이 좋을 수
있습니다.
3. 1차, 2차 네임서버의 동기화 부분
이 부분은 따로 설명하지 않아도 되죠?
shell> dig @1차네임서버 호스트네임
shell> dig @2차네임서버 호스트네임
이렇게 해서 나온 결과 serial 이나 리턴값을 비교해 보면
됩니다.
4. 그외의 경우는
shell> dig +trace 호스트네임
으로 한번 리졸빙 과정을 체크해 보세요.
|