DNS 문제 해결은 어느 계층을 테스트하는지 식별하는 것부터 시작합니다. 시스템 확인자 도구에는 로컬 파일과 정책이 포함되지만 dig와 nslookup은 DNS 쿼리를 보내고 특정 서버를 직접 대상으로 할 수 있습니다.
DNS · 레슨 6
DNS 도구
getent, resolvectl 및 dig로 시스템 이름 확인과 직접 DNS 쿼리를 비교하는 방법을 알아봅니다.
시스템 확인자 테스트하기
일반적인 호스트 이름 서비스 경로를 사용합니다.
$ getent ahosts www.example.com
systemd-resolved 호스트에서는 링크별 서버, 검색 도메인 및 프로토콜 상태를 조사합니다.
$ resolvectl status
$ resolvectl query www.example.com
애플리케이션이 별도의 확인자 라이브러리나 프록시를 사용할 수 있으므로 출력이 다르면 애플리케이션을 통해 재현하십시오.
설정된 시스템 이름 서비스 경로를 사용하는 명령은 무엇입니까?
dig로 조회하기
이름과 레코드 유형을 지정합니다.
$ dig www.example.com A
$ dig www.example.com AAAA
$ dig example.com MX
출력은 응답 서버, 상태, 플래그, 질문, 응답, 권위, 추가 데이터, 쿼리 시간 및 전송 메타데이터를 식별합니다. +short는 스크립트에 편리하지만 진단에 필요한 증거를 숨깁니다.
IPv6 주소 레코드를 요청하는 쿼리는 무엇입니까?
서버 선택하기
확인자 또는 권위 서버를 명시적으로 대상으로 합니다.
$ dig @192.0.2.53 www.example.com A
캐시와 권위를 구분할 때 설정된 재귀 확인자, 승인된 둘째 확인자 및 각 권위 서버를 비교합니다. NOERROR 상태에도 요청한 응답이 없을 수 있습니다. NXDOMAIN은 조회한 이름이 존재하지 않는다는 뜻이고 SERVFAIL은 서버가 쿼리를 완료하지 못했다는 뜻입니다.
NOERROR에 빈 응답 섹션이 있을 수 있습니까?
재귀와 권위 확인하기
쿼리의 rd는 재귀를 요청하고 응답의 ra는 서버가 재귀를 제공한다고 나타냅니다. aa는 응답이 권위 있음을 뜻합니다. 재귀 캐시와 제공 중인 영역 데이터를 혼동하지 않도록 권위 서버를 +norecurse로 조회합니다.
dig +trace NAME은 루트 힌트에서 시작해 자체 반복 조회를 수행합니다. 해당 확인자의 캐시, 전달, 정책, DNSSEC 검증 및 네트워크 위치를 우회하므로 프로덕션 확인자와 결과가 다를 수 있습니다.
aa 응답 플래그는 무엇을 뜻합니까?
역방향 및 TCP 쿼리 테스트하기
-x로 역방향 PTR 쿼리를 구성합니다.
$ dig -x 192.0.2.25
잘림, 영역 전송 또는 방화벽 차이를 조사할 때 TCP 기반 DNS를 테스트합니다.
$ dig +tcp @192.0.2.53 example.com SOA
현대 DNS는 UDP 또는 TCP 포트 53을 사용할 수 있으며 필요한 곳에서는 둘 다 허용해야 합니다. 잘림 플래그가 있는 UDP 응답을 받으면 규격을 따르는 클라이언트는 적절한 전송으로 다시 시도합니다.
dig +tcp는 무엇을 바꿉니까?
레슨 완료
DNS 도구 완료
이제 조사하는 확인자 계층에 맞는 DNS 도구를 선택할 수 있습니다.
설정된 시스템 확인자 경로에는
getent를 사용합니다.dig에 레코드 유형과 서버를 명시합니다.상태, 플래그, 섹션 및 응답 서버를 함께 해석합니다.
재귀 캐시와 권위 데이터를 구분합니다.
역방향 쿼리와 필요한 두 DNS 전송을 모두 테스트합니다.