DNS세팅때문에 돌겠습니다...@@
다음은 named.conf내용입니다.
서버도메인주소를 "EXAMPLE"로 표기했음을 양해해 주세요. 뒤의 .com부분은 맞습니다.
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;
};//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};zone "." IN {
type hint;
file "named.ca";
};zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};// 역 도메인 영역 Reserve Zone.
zone "1XX.1XX.2XX.in-addr.arpa" IN {
type master;
file "EXAMPLE.com-rev";
allow-update { none; };
};zone "EXAMPLE.com" IN {
type master;
file "EXAMPLE.com-dns";
allow-update {none;};
};include "/etc/rndc.key";
위에서 다른 것은 하나도 건드리지 않고 사용했습니다.
오직 EXAMPLE.com의 zone영역과 rev영역설정부분만 건드렸죠.
다음은 EXAMPLE.com-dns파일 입니다.
$TTL 86400
@ IN SOA ns.EXAMPLE.com. webmaster.EXAMPLE.com. (
2005033100 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.EXAMPLE.com.
@ IN A 2XX.1XX.1XX.XX
ns IN A 2XX.1XX.1XX.XX
www IN A 2XX.1XX.1XX.XX
IN MX 10 EXAMPLE.com.
다음은 EXAMPLE.com-rev파일 입니다.
$TTL 86400
@ IN SOA ns.EXAMPLE.com. webmaster.EXAMPLE.com. (
2005040400 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.EXAMPLE.com.XX IN PTR ns.EXAMPLE.com.
XX IN PTR EXAMPLE.com.
XX IN PTR www.EXAMPLE.com.
도메인 등록시에 ns.EXAMPLE.com으로 등록한 상태입니다. 이상하게도 EXAMPLE.com으로는 등록이 안된다고 하더군요. 단어가 3개 이상이 돼야 한다네요. 그래서 앞에 ns를 붙여서 등록할 수 밖에 없었습니다. 아파치도 돌아가니 웹에서 ns.EXAMPLE.com으로 들어오면 index.html이 보여집니다. 그런데 EXAMPLE.com-dns파일에 설정한 도메인으로 들어가면, 예를 들어 http://EXAMPLE.com
http://www.EXAMPLE.com으로 들어가면 페이지를 찾을 수 없다고 나옵니다.
host명령으로 들어가면
Host ns.EXAMPLE.com not found: 2(SERVFAIL)
으로 나옵니다. 아예 도메인 기관에서 등록한 도메인으로도 검색이 안되는 거죠.
참, resolv.conf에는 네임서버를 자신의 IP로 등록시켜놓았습니다.
도무지 원인을 알 수 없어서 /var/log/messages를 열어보면 다음의 문장이 의심스럽습니다.
Apr 4 10:26:45 EXAMPLE named: succeeded
Apr 4 10:26:47 EXAMPLE named[4039]: starting BIND 9.2.4 -u named -t /var/named/chroot
Apr 4 10:26:47 EXAMPLE named[4039]: using 1 CPU
Apr 4 10:26:47 EXAMPLE named: named 시작 succeeded
Apr 4 10:26:47 EXAMPLE named[4039]: loading configuration from '/etc/named.conf'
Apr 4 10:26:47 EXAMPLE named[4039]: listening on IPv4 interface lo, 127.0.0.1#53
Apr 4 10:26:47 EXAMPLE named[4039]: listening on IPv4 interface eth0, 221.152.179.91#53
Apr 4 10:26:47 EXAMPLE named[4039]: listening on IPv4 interface eth1, 192.168.0.14#53
Apr 4 10:26:47 EXAMPLE named[4039]: command channel listening on 127.0.0.1#953
Apr 4 10:26:47 EXAMPLE named[4039]: zone 0.in-addr.arpa/IN: loaded serial 42
Apr 4 10:26:47 EXAMPLE named[4039]: zone 0.0.127.in-addr.arpa/IN: loaded serial 1997022700
Apr 4 10:26:47 EXAMPLE named[4039]: zone 1XX.1XX.2XX.in-addr.arpa/IN: loading master file EXAMPLE.com-rev: file not found
Apr 4 10:26:47 EXAMPLE named[4039]: zone 255.in-addr.arpa/IN: loaded serial 42
Apr 4 10:26:47 EXAMPLE named[4039]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700
Apr 4 10:26:47 EXAMPLE named[4039]: zone EXAMPLE.com/IN: loading master file EXAMPLE.com-dns: file not found
Apr 4 10:26:47 EXAMPLE named[4039]: zone localdomain/IN: loaded serial 42
Apr 4 10:26:47 EXAMPLE named[4039]: zone localhost/IN: loaded serial 42
Apr 4 10:26:47 EXAMPLE named[4039]: running
분명 경로도 맞는데 왜 zone영역파일과 rev영역파일을 못찾는다고 나올까요?
미치겠습니다. 눈치가 보이는군요. 벌써 5일 지났는데...으으...
거짓말 하시면 안 됣니다.
거짓말 하시고 계시군요...
거짓말을 하시면 안 됩니다.
전 서버를 믿습니다. 서버는 거짓말을 하지 않습니다.
ls 결과를 보여주세요
(쉘에서 ls명령 내리는 부분까지 포함해 주시고, 경로는 절대 경로로 표현해 주십시오)
글쎄요... 저 자신도 모르는 거짓말을 했을까나요? @.@
이거...참... 도통 모르겠네요. 제가 거짓말장이가 돼 버린건가요?
어디서 등록을 하셨길래 그렇게 되버리셨는지...그쪽에서 이야기한 3자
어디서 등록을 하셨길래 그렇게 되버리셨는지...
그쪽에서 이야기한 3자리 이상이라고하면 도메인 이름을 뜻할겁니다.
즉, EXAMPLE에 해당하는 단어가 2자리였거나 그렇게 된다면 현재는 등록이
안되는 걸로 알고 있습니다.
예전에는 등록이 가능했었지만요.(초기에...)
http://www.EXAMPLE.com으로 접속이 안되는 이유는 http://www.ns.EXAMPLE.com으로
접속이 되기 때문입니다. EXAMPLE에 해당하는 이름을 3자리이상으로 다시
만들어서 사용하시는게 좋습니다.
BIND의 버젼에 따른 상이점은 약간씩존재하겠지만
http://oops.org/?t=lecture&sb=bind9&n=1
위 문서를 차근차근 읽어보시고 자신의 상태와 비교해 보세요.
'다 읽어봤는데 왜 또읽어...'라고 생각하지 마시고 차근차근 읽어보면 자신이
놓쳤던 부분이 보일 겁니다.
P.S. : 차후에 질문을 하실때는 해당 프로그램의 버젼정보정도는 알려주셨으면
합니다.
------------------------------
좋은 하루 되세요.
Re: 글쎄요... 저 자신도 모르는 거짓말을 했을까나요? @.@
헉~ 복잡하다...
EXAMPLE.com-dns와 rev파일을 /var/named/chroot/var/named/에
옮겨놓으시고 링크를 걸어보시는건 어떨까요?
------------------------------
좋은 하루 되세요.
음... 읽어도 모르겠어요...ㅠㅠ...
사용중인 Bind 버전는 9.2.4-2입니다. 페도라 core 3입니다.
EXAMPLE은 문자그대로 한 단어입니다. 축약시킨 단어가 아닙니다.
도메인 등록업체에서 3자리 이상이란 것은 그런 뜻이 아니라 "EXAMPLE.com"같이 점(.)하나로 두 개의 단어로 등록하려고 하면 안된다고 최소한도 점(.) 2개로 구분해서 ns.EXAMPLE.com으로 등록하든지 해야 등록가능하다는 뜻이구요.
다시한번 부탁드립니다.
Re: 글쎄요... 저 자신도 모르는 거짓말을 했을까나요? @.@
you got it..
답을 알고 계시네요...
(저도 로그에서 chroot를 발견했지만.. 전 사용하지 않는 터라..)
엇..
답변하신 분이 본인이 아니였네요..
어쨌든..
보이는데로.. 파일을 찾는 곳이 /var/named가 아닌..
chroot된 /var/named이므로 거기에 넣어 주셔야 됩니다.
죄송합니다...그래도 안되네요
링크시켰는데도요...
움찔..
그럴리가 없는데...
그렇다면 localhost용파일을 파일이름 변경하고 해보시겠습니까?
친절하신 답변에 감사드립니다!
세밀한 부분까지 찾아서 지적해주셔서 감사드립니다.
네임서버를 재구동하니 messages파일에서 rev나 존파일을 못찾는다는 메시지는 사라졌습니다.
host명령을 치면 www도메인이나 ns로 시작되는 도메인 다 잘 찾는군요.
그런데 아직 웹에서는 못찾네요.
EXAMPLES.com이나 www.EXAMPLES.com으로 웹에서 찾아들어가지를 못하는 것이거든요. ns.EXAMPLES.com은 되는데...
하지만 네임서버 작동상태는 정상이란 것을 확인했으니 수확을 얻었군요. 다시한번 감사드립니다.
그러면.. 문제가 다른 부분으로 옮겨간 것..
nslookup을 통해서
문제를 추적해 볼 수 있습니다.
위 명령을 통해서 일차적으로 확인해보시면 ..
nslookup도 서버를 잘 찾아 주는군요.
관리자님과 dgkim님께서 도와주신 덕분에 잘 되네요.
한 가지만 더 가르쳐 주시면 안될까요?
위에서 존 파일과 rev파일을 저렇게 세팅해 놨는데 www.EXAMPLE.com 이나 그냥 EXAMPLE.com은 여전히 못찾는 이유를 모르겠네요.
뭐가 안 되시는지 다시 정확하게 설명바랍니다.
뭐가 안 되시는지 다시 정확하게 설명바랍니다.
nslookup도 서버를 잘 찾아 주는군요. ---> www.EXAMPLE.com 이나 그냥 EXAMPLE.com은 여전히 못찾는 이유를 모르겠네요.
웹 테스트는 telnet으로 가능합니다.
웹서버의 테스트는 다음과 같이 가능합니다.
네임서버는 잘 작동하는 거 같은데요... 웹에서 www로는 페이지
$TTL 86400
@ IN SOA ns.EXAMPLE.com. webmaster.EXAMPLE.com. (
2005033100 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.EXAMPLE.com.
@ IN A 2XX.1XX.1XX.XX
ns IN A 2XX.1XX.1XX.XX
www IN A 2XX.1XX.1XX.XX
IN MX 10 EXAMPLE.com.
네임서버는 잘 작동하는 거 같은데요... 웹에서 www로는 페이지
이게 zone파일인데요...
$TTL 86400
@ IN SOA ns.EXAMPLE.com. webmaster.EXAMPLE.com. (
2005033100 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.EXAMPLE.com.
@ IN A 2XX.1XX.1XX.XX
ns IN A 2XX.1XX.1XX.XX
www IN A 2XX.1XX.1XX.XX
IN MX 10 EXAMPLE.com.
이게 잘 작동한다면 ns.EXAMPLE.com이나 www.EXAMPLE.com이나 EXAMPLE.com 모두 다 웹브라우저상에서 잘 보여져야 하는 것 아닌지요?
도메인 등록이 된 ns.EXAMPLE.com만 페이지가 보여지고, 나머지는 안보이거든요.
아니면 아파치의 버추얼호스팅문제인가요?
아파치가 .. 혹은, 클라이언트가 ..
아파치에서 버추얼 호스트 해서 안 보이줄 수도 있고..
클라이언트가 주소를 몬 찾아서 그럴 수도 있습니다.
클라이언트에서 nslookup 하신 것인지..
클라이언트의 문제일 가능성이 보입니다.
일반적으로 클라이언트는 대중적인(?) 네임서버를 사용하고..
대중적인 네임서버의 경우 적용이 되지 않았을 수도 있기 대문에..
(대중적인 서버는 ns.DOMAIN.com에 대한 IP주소는 알지만.. DOMAIN.com에 대하여 쿼리 해보지 않는 경우가 있던데..)
그러면, 클라이언트의 DNS서버를 ns.EXAMPLE.com의 주소를 넣어서 해볼 수 있습니다.
방금 확인해 봤는데...
IE 6.0에서 확인해봤습니다.
www을 넣어보니 되는군요.
그냥은 (EXAMPLE.com) 못찾네요...
PC의 네임서버는 어디로 설정되어 있나요? DNS 결과에 대한 cache
PC의 네임서버는 어디로 설정되어 있나요? DNS 결과에 대한 cache를 하고 있는지도 살펴보시고요.
네임서버는 자기자신입니다.그런데 nslookup결과가 좀 다르네요.
resolv.conf는
참, 사장님이 도메인 등록을 다시 변경하셨다네요. ns.EXAMPLE.com이 아니라 www.EXAMPLE.com으로요. 뭐 그래도 결과는 다를 바 없더군요.
그것보다, 제가 nslookup을 하면 결과가 좀 다르게 나오는데, 이것과 무슨 관계가 없는지 모르겠어요.
[root@EXAMPLE named]# nslookup
> set type=ns
> server EXAMPLE.com
Default server: EXAMPLE.com
Address: 127.0.0.1#53
> exit
[root@EXAMPLE named]# nslookup
> set type=ns
> server www.EXAMPLE.com
Default server: www.EXAMPLE.com
Address: 2XX.1XX.1XX.XX#53
> exit
둘 다 같은 IP를 가지고 있을텐데 왜, 결과가 다를까요?
Re: 방금 확인해 봤는데...
리눅스에서만 nslookup한다는 편견을 과감하게 버려주십시오...
IE에서 하셨으니.. cmd에서 nslookup해서 결과를 정확하게 확인하시고..
(서버별로 물어서 제대로 알려주는지.. ns.EXAMPLE.com, kns.kornet.net, etc)
다음으로는 XP의 'DNS Client' 서비스 죽이고.. IE의 hook이 방해하지 못하게 하고..
(telnet으로 테스트하면 명확한...)
nslookup으로 달리기...
서버에서 달리기...
PC에서 달리기...
window에서 nslookup결과.
c:>nslookup<엔터>
set debug
set nodefname
set nosearch
server 서버 아이피주소<엔터>치면 다음과 같이 나옵니다.
이렇게 나오네요.
그냥 프롬프트 상에서 nslookup<엔터>치면
흠..
정확한 추측인지는 모르나...
서버에서 방화벽으로 막아놓았을 가능성이 보이며..
.rev 에서도 비슷한 형태의 메시지는 볼 수 있습니다.
잘못하고 계신것..
다시한번.. 위에 달리기를 순서대로 해보시겠습니까?
(그리고 server 뒤에는 보통 ip주소를 넣어주는게 좋습니다. 물론 필요에 따라 호스트명을 사용하기도 하지만..)
휴... 우선 서버측의 nslookup결과입니다.
DNS 세팅을 할 때 문제가 되는게 있으면, EXAMPLE 따위를 쓰지
DNS 세팅을 할 때 문제가 되는게 있으면, EXAMPLE 따위를 쓰지 말고 공개적으로 진행하는게 훨씬 답변을 받기 좋습니다. 실제 DNS 세팅법을 아는 사람이 밖에서 dig 몇번 해보면 어디가 잘못 되어 있는지 찾기도 쉽고요. (문제가 되는 부분을 순차적으로 풀어낼 수 있지요)
특별히 감춰야할 이유가 없다면 도메인 네임을 알려주시는게 해결하기 쉽습니다.
설정중에 실수를 많이 했다면 DNS 캐시로 인한 문제일 수도 있습니다.
예... 죄송합니다.
EXAMPLE.com 대신에 ssanti.com으로 하시면 되겠습니다.
그런데 DNS캐시는 컴을 재부팅하면 리셋되지 않나요? DNS캐시에 대해 잘 몰라서요 ㅠㅠㅠ...
[code:1]$ORIGIN abcde.com.$TTL 86400
누군가 만들어 줘서 사용하고 있는 zone파일...
누군가 설정해줘서 사용하고 있는 vhost.conf의 내용입니다.
그냥 참고한번해보세요.(그런데 IP로 www를 접근하려해도 안되는것 같네요.
ping은 가는데...)
------------------------------
좋은 하루 되세요.
위에 virtual host 관련해서
위에 virtual host 관련해서...
ServerAlias *.abcde.com abcde.com
이걸
ServerAlias www.abcde.com *.abcde.com
으로 변경하시고 아파치 재시작하시면
www.abcde.com 나올겁니다
what is my wish?
댓글 달기