DNS 캐싱 식별 여부 확인 방법
1. Linux
- root권한으로 ps - ef | grep nscd 해당 프로세스가 떠 있으면 /etc/nscd.conf 파일을 확인
- Java
. $JAVA_HOME/jre/lib/security/java.security
- root권한으로 ps - ef | grep nscd 해당 프로세스가 떠 있으면 /etc/nscd.conf 파일을 확인
enable-cache passwd yes
enable-cache group yes
enable-cache hosts yes
- 캐싱안되게 할 경우
enable-cache passwd no- 그외 /etc/resolv.conf, /etc/dnsmasq.conf에서 캐싱 여부를 판단하면 되고 캐싱 해제를 할 경우 리플레쉬를 해주면 됨
enable-cache group no
enable-cache hosts no
저장한 다음 /etc/rc.d/init.d/nscd restart 커맨드 실행
2. Window
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters 에서 MaxCacheTtl, MaxNegativeCacheTtl 값이 10으로 되어 있으면 10초 캐싱한다는 의미를 나타냄.
(참고 사이트 : http://support.microsoft.com/kb/318803/ko)
- 캐싱 안하게 할 경우는 레지스트리에서 0으로 하던가 아니면 net stop dnscache 명령어를 사용하거나 ipconfig /flushdns 커맨드를 사용함
- Java
. $JAVA_HOME/jre/lib/security/java.security
networkaddress.cache.ttl=10(또는 임의의 정수)
설명) 네임 서비스로부터의 이름의 검색에 성공했을 경우의 캐싱 정책를 나타냄.
지정하는 값은, 성공한 검색 결과를 캐쉬하는 초수를 나타내는 정수.
-1의 값은, 「쭉 캐쉬한다」라고 하는 의미
networkaddress.cache.negative.ttl=10
설명) 네임 서비스로부터의 이름의 검색에 실패했을 경우의 캐싱 정책를 나타냄.
지정하는 값은, 실패한 검색 결과를 캐쉬하는 초수를 나타내는 정수.
0 의 값은, 「캐쉬하지 않는다」라고 하는 의미. -1 의 값은, 「쭉 캐쉬한다」라고 하는 의미.
.어플리케이션에서 캐싱 설정한 경우
java.security.Security.setProperty("networkaddress.cache.ttl" , "10");
- 캐싱안하게 할 경우 ttl을 0으로 셋팅해주면 됨








