Linux에서 DNS 캐시 지우기

Linux에서 DNS 캐시 지우기

노트북에서 Linux로 작업하는데 URL을 사용하여 특정 웹사이트에 액세스할 수 없어서 sudo /etc/init.d/nscd restartDNS 캐시를 지우기 위해 사용했지만 Firefox에서 URL이 여전히 '서버를 찾을 수 없음'으로 표시됩니다. 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

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

오늘 아침에 비슷한 DNS 클라이언트 캐시 문제에 직면했을 때 nscd첫 번째 답변에서 언급한 대로 저장된 캐시를 지우는 모든 일반적인 단계를 수행했습니다 nscd. OS 캐시도 삭제했지만 특정 호스트 이름은 여전히 ​​이전 IP 주소로 확인되었습니다. nameserver 127.0.0.1resolv.conf에서 줄을 제거한 후에야 해결되기 시작했습니다 .

관련 정보