Route 53에 등록된 DNS 서버 정보를 dig 명령어로 확인하는 방법에 대해 알아보자!
안녕하세요! 클래스메소드 금상원 입니다.
이번 블로그에서는 Route 53에 등록된 DNS 서버 정보를 dig 명령어로 확인하는 방법에 대해 알아보도록 하겠습니다.
dig 란?
dig(Domain Information Groper)는 DNS 서버에 질의하여 도메인 정보를 조회할 수 있는 명령줄 도구입니다. 주로 DNS 설정 확인이나 문제 해결에 사용되며, 도메인의 IP 주소, 메일 서버, 네임서버 등 다양한 DNS 정보를 확인할 수 있습니다.
dig 사용법
dig 명령어 설명
dig <@DNS서버> <example.com> <쿼리 유형>
기본적으로 dig 명령어의 구조는 위와 같습니다.
명령어의 각 옵션의 설명은 아래의 표를 확인 해 주세요.
옵션 | 필수 여부 | 설명 |
---|---|---|
@DNS서버 | × | 특정 DNS 서버를 지정하여 확인 |
example.com | ○ | 대상 도메인 이름 |
쿼리 유형 | × | 쿼리할 DNS의 리소스 레코드 유형 지정 |
쿼리 유형에 대한 설명은 아래의 표를 홛인 해 주세요
리소스 레코드 유형 | 역할 |
---|---|
A | IPv4 주소를 조회합니다. |
CNAME | 도메인의 별칭을 조회합니다. |
MX | 도메인의 메일 서버 정보를 조회합니다. |
NS | 도메인의 네임 서버 정보를 조회합니다. |
TXT | 텍스트 정보를 조회합니다. |
ANY | 모든 가능한 레코드를 조회합니다. |
dig 명령어 옵션
dig 명령어에는 여러가지 옵션이 있지만 대표적으로 사용되는 옵션에 대해서 아래의 표를 확인해 주세요.
옵션 | 역할 |
---|---|
+short | IP 주소나 값만 결과를 간단하게 표시합니다. |
+trace | DNS 조회의 전체 과정을 추적합니다. |
+norec | DNS 재귀 쿼리를 비활성화 하여 DNS 서버가 가진 정보만 응답 |
dig 명령어를 사용해서 Route53에 등록된 DNS 서버 정보 확인 해 보기
테스트를 위해 Route53와 EC2를 작성했습니다.
이번 블로그 에서는 간단한 테스트만 진행하도록 하겠습니다.
준비 목록
- Route53
- 호스팅 영역
- EC2에 설정할 레코드
- 호스팅 영역
이번 테스트를 위해 위와 같은 설정으로 레코드를 생성한 후 엔드 포인트를 EC2의 퍼블릭 IP 주소로 설정했습니다.
기본 dig 명령어로 테스트 해보기
keumsangwon@KL00030 ~ % dig web.sangwon.com
먼저 위의 「dig <도메인>」 을 실행 하면 아래와 같이 DNS 서버의 정보와 엔드 포이트로 설정한 EC2의 퍼블릭 IP 주소가 표시됩니다.
# 실행 결과
; <<>> DiG 9.10.6 <<>> web.sangwon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36791
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;web.sangwon.com. IN A
;; ANSWER SECTION:
web.sangwon.com. 300 IN A 43.207.30.55
;; Query time: 124 msec
;; SERVER: <DNS 서버 IP>
;; WHEN: Wed Apr 09 17:45:21 JST 2025
;; MSG SIZE rcvd: 73
특정 Route53를 지정한 후 테스트 해보기
위의 「@DNS서버」 를 이용하여 특정 Route53를 지정한 후 dig 명령어를 사용해 보도록 하겠습니다.
dig @<Route53의 NS 레코드중 하나> web.sangwon.com
특정 Route53를 지정할 경우 「@<Route53의 NS 레코드중 하나>」 부분에 NS레코드의 4개의 「값/트래픽 라우팅 대상」 중 하나를 선택해서 실행하시면 됩니다.
# 실행 결과
; <<>> DiG 9.10.6 <<>> @<Route53의 NS 레코드중 하나> web.sangwon.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55015
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;web.sangwon.com. IN A
;; ANSWER SECTION:
web.sangwon.com. 300 IN A 43.207.30.55
;; AUTHORITY SECTION:
sangwon.com. 172800 IN NS <Route53 호스트 영역의 NS 레코드.org.>
sangwon.com. 172800 IN NS <Route53 호스트 영역의 NS 레코드.com.>
sangwon.com. 172800 IN NS <Route53 호스트 영역의 NS 레코드.co.uk.>
sangwon.com. 172800 IN NS <Route53 호스트 영역의 NS 레코드.net.>
;; Query time: 37 msec
;; SERVER: <DNS 서버 IP>
;; WHEN: Wed Apr 09 18:07:02 JST 2025
;; MSG SIZE rcvd: 212
특정 Route53를 지정한 후 실행 하면 위와 같이 어떤 DNS서버로 부터 응답 하는지 NS레코드와 SERVER 정보를 확인할 수 있습니다.
dig 명령어의 옵션을 지정한 후 테스트 해보기
이번에는 dig 명령어의 옵션을 사용하도록 하겠습니다. 이번 블로그에서는 「+short」 를 사용하여 위의 결과을 간단하게 표시하도록 하는 테스트를 진행 하도록 하겠습니다.
# dig 명령어
dig @<Route53의 NS 레코드중 하나> web.sangwon.com +short
# 실행 결과
43.207.30.55
「+short」 명령어로 인해 간단하게 DNS서버의 레코드에 설정한 엔드포인트만 출력 되는것을 확인할 수 있습니다.
마무리
이번 블로그에서는 dig 명령어를 사용하여 Route53에서 설정한 호스트영역이나 레코드의 정보를 확인하는 방법에 대해 알아 보았습니다. DNS 서버를 Route53로 사용하시는 분들이 테스트위해 dig 명령어를 사용하는 경우 조금이나마 도움이 되었으면 좋겠습니다.
참고 자료