Linux에서 DNS 캐시 지우기

Linux에서 DNS 캐시 지우기

내 노트북에서 Linux를 사용하고 있으며 해당 URL을 사용하여 특정 웹 사이트에 액세스할 수 없기 때문에 해당 sudo /etc/init.d/nscd restartURL을 사용하여 DNS 캐시를 지우고 있지만 URL은 여전히 ​​Firefox에서 "서버를 찾을 수 없음"을 발생시킵니다. Chrome도 사용해 보았지만 여전히 작동하지 않습니다. 다른 친구들은 페이지를 볼 수 있지만 나는 볼 수 없습니다. 그렇다면 이 상황의 주된 이유는 무엇입니까? 다른 웹사이트도 잘 찾아볼 수 있어요.

이상한 점은 특정 URL에 대한 IP 주소를 시도하면 다른 사람들이 보는 것과는 다른 페이지가 표시된다는 것입니다.

이 문제에 대한 도움을 주시면 감사하겠습니다.

답변1

bind실수로 실행하지 않는 한, nscd에 있는 구성 파일을 확인해야 합니다 /etc/nscd.conf.

보유된 캐시가 나열됩니다.

 enable-cache            hosts           yes
 positive-time-to-live   hosts           3600
 .......

# nscd -?

-g, --statistics Print current configuration statistics

-i, --invalidate=TABLE Invalidate the specified cache

nscd -g

    hosts cache:

        yes  cache is enabled
         no  cache is persistent
        yes  cache is shared
        211  suggested size
     216064  total data pool size
        384  used data pool size
        600  seconds time to live for positive entries
          0  seconds time to live for negative entries
          0  cache hits on positive entries
          0  cache hits on negative entries
        128  cache misses on positive entries
          0  cache misses on negative entries
          0% cache hit rate
          3  current number of cached values
          7  maximum number of cached values
          2  maximum chain length searched
          0  number of delays on rdlock
          0  number of delays on wrlock
          0  memory allocations failed
        yes  check /etc/{hosts,resolv.conf} for changes

# nscd -i hosts

이렇게 하면 캐시가 무효화됩니다.

nscd -g 그러나 이 작업을 수행한 후에도 nscd재부팅 후 새로 고침 시 호스트 항목은 변경되지 않았습니다.

service nscd restart

    hosts cache:

        yes  cache is enabled
         no  cache is persistent
        yes  cache is shared
        211  suggested size
     216064  total data pool size
          0  used data pool size
        600  seconds time to live for positive entries
          0  seconds time to live for negative entries
          0  cache hits on positive entries
          0  cache hits on negative entries
          0  cache misses on positive entries
          0  cache misses on negative entries
          0% cache hit rate
          0  current number of cached values
          0  maximum number of cached values
          0  maximum chain length searched
          0  number of delays on rdlock
          0  number of delays on wrlock
          0  memory allocations failed
        yes  check /etc/{hosts,resolv.conf} for changes

nscd캐시를 비우는 유일한 방법인 바인드를 실행하지 않는 이상, 데이터베이스를 찾아서 삭제할 수 있는 방법이 없으므로 다른 문제가 발생할 수 있습니다. IP 확인을 위한 문제 해결 프로세스를 따르겠습니다. 귀하의 질문에 대한 의견에 이 중 일부를 설명했습니다.

다음은 아주 좋은 Linux Journal 기사에 대한 링크입니다.네트워크 문제 해결.

답변2

나는 이것이 오래된 질문이라는 것을 알고 있지만 누군가가 이 문제에 다시 직면할 경우를 대비하여 이것을 추가합니다.

nscd오늘 아침 비슷한 DNS 클라이언트 캐시 문제가 발생했을 때 첫 번째 답변에서 언급한 대로 저장된 캐시를 지우고 재부팅하는 일반적인 단계를 모두 수행했습니다 nscd. OS 캐시까지 삭제했는데 특정 호스트 이름이 여전히 이전 IP 주소로 확인됩니다. resolv.conf에서 해당 줄을 제거한 후에야 nameserver 127.0.0.1해결이 시작되었습니다.

관련 정보