현재 NSCD 서비스를 DNS로 사용하고 있습니다. 하지만 가끔 NSCD가 저절로 사라지고 DNS 확인이 제대로 작동하지 않는 경우가 있습니다. DNS NSCD를 피하는 방법을 알려주세요. NSCD를 우회하면 어떤 단점이 있나요?
답변1
사용자, 그룹, 호스트, 서비스 등을 확인할 때 프로세스는 먼저 소켓 nscd
(이와 유사한 것 /var/run/nscd/socket
)에 연결하려고 시도하지만 이를 해결할 방법은 없다고 생각합니다.
연결이 끊어 지면 nscd
연결이 실패하므로 nscd가 사용되지 않으므로 문제가 되지 않습니다.
보류 상태인 경우 연결이 보류 중이거나 성공할 수 있습니다. 성공하면 클라이언트는 요청을 보냅니다(IP 주소 제공 www.google.com
, 비밀번호 입력 제공 niranjan
...).
이제 모든 종류의 데이터베이스에 대해 캐싱을 비활성화하도록 구성할 수 있습니다 nscd
(적어도 GNU libc와 함께 제공되는 구성)(예: enable-cache hosts no
데이터베이스 사용 /etc/nscd.conf
) hosts
.
이 경우 nscd
고객은 다음과 같은 답변을 받게 됩니다.캐싱을 하지 않습니다이를 해결하는 것은 고객 스스로의 몫입니다.
그러나 만약 nscd
에걸다상태, 심지어는 그렇게 간단한 정보를 제공하지 못할 수도 있습니다하지 않을 것이다대답해 보세요. 따라서 이것이 반드시 도움이 되는 것은 아닙니다. 그러나 이는 완전히 비활성화하지 않고도 원하는 효과에 더 가깝습니다 nscd
.
nscd
성능 향상을 목적으로 하는 캐시 데몬입니다. 비활성화하면 이러한 조회 속도가 느려질 수 있습니다. 그러나 이는 특정 유형의 데이터베이스에서만 작동합니다. 예를 들어, 사용자/서비스/그룹 데이터베이스가 작은 파일( /etc/passwd
, /etc/group
, /etc/services
) 에만 있는 경우 nscd
해당 데이터베이스를 사용해도 아무런 이점이 없을 수 있습니다. nscd
데이터베이스에 유용합니다 hosts
. 그러나 대신 nscd
로컬 캐싱 DNS 서버를 사용할 수 있습니다 dnsmasq
.