로컬 DNS 서버가 가리키는 나가는 DNS IP를 어떻게 쿼리합니까?

로컬 DNS 서버가 가리키는 나가는 DNS IP를 어떻게 쿼리합니까?

Wireshark에 의존하지 않고 로컬 DNS 서버의 대상 DNS IP(예: 127.0.0.53:53)를 테스트하는 방법은 무엇입니까?

를 포함한 여러 도구를 사용해 보았지만 resolvectl status전역 및 인터페이스 DNS 구성이 인쇄되고 특정 도메인 검색에 대해 어떤 외부 DNS 스텁이 선택되었는지 명확하지 않습니다. 로컬에서 나가는 경로(127.0.0.53 -> 8.8.8.8)를 보여주는 결과를 보고 싶습니다.

답변1

로컬 DNS 서버가 대상으로 삼는 DNS IP 주소를 보려면 dig 명령에 @ 옵션을 사용하여 사용할 DNS 서버를 지정할 수 있습니다. 예를 들어 DNS 서버 127.0.0.53에 있는 example.com 도메인의 IP 주소를 쿼리하려면 다음 명령을 사용할 수 있습니다.

dig @127.0.0.53 example.com

이 명령은 지정된 서버에 DNS 쿼리를 보내고 쿼리 중인 도메인의 IP 주소를 포함하여 응답을 인쇄합니다.

DNS 쿼리 및 응답의 전체 순서를 보려면 dig와 함께 +trace 옵션을 사용할 수 있습니다. 그러면 루트 DNS 서버에 대한 쿼리부터 시작하여 쿼리 중인 도메인에 대한 권한 있는 DNS 서버의 응답으로 끝나는 일련의 전체 DNS 쿼리 및 응답이 인쇄됩니다.

example.com 도메인에 대한 전체 DNS 쿼리 및 응답 순서를 보려면 다음 명령을 사용할 수 있습니다.

dig +trace @127.0.0.53 example.com

이 명령은 각 단계에서 쿼리된 DNS 서버의 IP 주소를 포함하여 DNS 쿼리 및 응답의 전체 시퀀스를 인쇄합니다.

모든 시스템에 기본적으로 dig 명령이 설치되어 있는 것은 아닙니다. dig가 설치되어 있지 않은 경우 시스템의 패키지 관리자를 사용하여 설치할 수 있습니다.

apt-get install dnsutils

관련 정보