저는 다른 Linux 배포판에서 DNS 캐시를 플러시하는 방법을 작성 중입니다. Ubuntu-server, Ubuntu-desktop, Centos8-desktop 및 Centos7-server(nogui)에서 이 작업을 지원하고 싶습니다.
4개의 가상 머신을 별도로 구축했습니다.
우분투의 경우 쉽습니다. 내가 해야 할 일은 sudo systemd-resolve --flush-caches
달리는 것 뿐이다.
그러나 centos 배포판으로는 캐시를 지우는 방법을 찾거나 DNS 작동 방식을 이해할 수 없는 것 같습니다. 내가 온라인에서 읽은 내용은 centos/rhel에 대해 사용하거나 기반으로 할 수 있다는 것 dnsmasq
입니다 nscd
.이 링크, 하지만 결과는 다릅니다...
centos8 머신에서 dnsmasq
배포 후 서비스가 중지되고 비활성화된 것을 발견했습니다. 서비스를 시작하려고 하면 포트 53이 이미 사용 중이라는 오류가 발생합니다. 확인해 보니 ss -tulpn
virb0 인터페이스가 포트 53을 차지하고 있는 것으로 나타났습니다 libvirtd
. centos8 흐름에는 kvm이 기본적으로 설치되어 있는 것 같습니다. 어쨌든, 이 서비스가 활성화된 상태에서 DNS/캐싱이 어떻게 작동하는지 궁금합니다. libvirtd가 활성화된 Centos 호스트에서 캐시를 지우는 방법은 무엇입니까?
dnsmasq
cnetos7 상자에서 어떤 서비스도 찾지 못했습니다 nscd
. DNS 캐싱이 어떻게 작동하는지 약간 혼란 스럽습니까?
centos8 및 centos7 호스트에서 DNS가 캐시되는 방법을 결정하는 방법. 현재 DNS 캐시를 보는 방법은 무엇입니까? 캐시를 지우는 방법은 무엇인가요?
각 centos 상자에 두 개를 구성 했습니다 nameserver
./etc/resolve
답변1
짧은 대답으로, centos7 및 centos8에서는 DNS 캐싱이 기본적으로 활성화되지 않은 것 같습니다.
알았어 알아냈어이 게시물내가 생각하는 것을 자세히 설명합니다. systemd가 없으면 Linux 시스템에 DNS 캐시가 없습니다. nscd
서비스 또는 이라는 두 가지 대체 옵션이 있습니다 dnsmasq
. nscd는 매우 불안정하고 최신 상자에서는 찾을 수 없는 것 같습니다. dnsmasq
모든 제품에 기본적으로 포함되어 있지는 않으므로 설치하고 활성화해야 합니다.
centos8 상자가 제대로 작동하도록 할 수 있었습니다이 게시물. dnsmasq, libvirt 및 systemd-resolve가 모두 설치된 것으로 보입니다. 하지만 그 중 실제로 캐싱 작업을 수행하는 사람은 없습니다. 수동으로 활성화해야 합니다. systemctl start systemd-resolved.service
그 후 systemctl enable systemd-resolved.service
centos8 상자를 수리했습니다.
centos7 시스템에서는 캐싱을 활성화할 수 있는 것이 없습니다. 그래서 어떻게 설정해야 할지 알아내야 했어요. systemd-resolved는 NetworkManager, systemd 및 현재 추세를 표준화된 상태로 유지하도록 설정할 수 있습니다.
답변2
다음과 같은 명령을 사용해 볼 수 있습니다 root
.
resolvectl flush-caches
방금 nscd
다시 시작했다면. 또한 AD 바인딩이 있고 sssd
일부 레코드를 캐시할 수 있는지 확인하세요.