네트워크 관리자를 지원하는 최고의 DNS 도구
인터넷과 같은 현대 IP 네트워크의 핵심 요소 중 하나로 도메인 이름 서비스(DNS)가 있습니다. DNS의 주요 기능은 호스트 이름만으로 컴퓨터의 IP 주소를 찾는 것입니다. 간단해 보이지만, 실제로는 매우 복잡한 시스템입니다. 인터넷 규모에서 모든 사용자는 리소스의 위치에 상관없이 해당 리소스의 IP 주소를 알아낼 수 있어야 합니다. 로컬 네트워크 환경에서는 DNS가 모든 호스트 이름을 로컬 IP 주소로 변환하고 인터넷 주소 요청을 공개 DNS 서버로 전달해야 합니다. 네트워크 관리자가 DNS를 효율적으로 관리할 수 있도록 다양한 도구들이 제공됩니다. 일부 도구는 DNS 설정을 돕고, 다른 도구들은 DNS 환경의 문제 해결이나 모니터링을 지원합니다. 오늘은 현재 사용 가능한 최고의 DNS 도구들을 살펴보겠습니다.

우선, DNS가 무엇이고 어떻게 작동하는지에 대한 설명을 시작으로 논의를 전개해 나가겠습니다. 가능한 한 기술적인 내용을 최대한 배제하도록 노력하겠습니다. 다음으로 DNS 관리에 대해 이야기하고, DNS 관리의 여러 측면을 살펴볼 것입니다. 이 글의 주된 목적은 DNS 도구에 대한 정보를 제공하는 것이므로, 네트워크 관리자들이 활용할 수 있는 다양한 DNS 도구 유형을 소개할 것입니다. 이를 통해 사용 가능한 최상의 DNS 도구에 대한 주제로 자연스럽게 이어갈 수 있습니다. 우리는 가장 유용한 도구들을 선별하여 자세히 분석할 것입니다.
DNS – 정의 및 작동 원리
인터넷 초기에는 소수의 컴퓨터만이 서로 연결되어 있었으며, 각 컴퓨터에는 사용하기 복잡한 IP 주소 대신 호스트 이름이 있었습니다. 네트워크에 연결된 각 컴퓨터는 "호스트"라는 이름의 텍스트 파일을 가지고 있었는데, 이 파일에는 네트워크에 있는 다른 모든 컴퓨터의 호스트 이름과 해당하는 IP 주소가 포함되어 있었습니다.
상호 연결된 컴퓨터 수가 제한적이었을 때는 잘 작동했지만, 곧 정보를 배포하는 더 나은 방법이 필요하게 되었습니다. 그래서 DNS가 등장하게 되었습니다. DNS는 간단히 말해, 모든 호스트 이름의 IP 주소를 찾을 수 있게 해주는 "호스트" 파일의 분산 버전입니다. DNS의 장점은 분산 시스템이라는 점입니다. 각 로컬 관리자만이 자신이 관리하는 호스트에 대한 데이터를 DNS 서버에 최신 상태로 유지할 책임이 있습니다.
일반적으로 각 조직은 로컬 DNS 서버를 운영합니다. 이 로컬 서버는 로컬 리소스에 대한 IP 주소 확인을 담당합니다. 해당 서버는 해결할 수 없는 모든 요청을 인터넷의 공개 DNS 서버로 전달합니다. 이 과정을 자세히 설명하지는 않겠지만, 각 공개 이름 서버는 모든 공개 호스트 이름을 공개 IP 주소로 확인할 수 있습니다. 로컬 DNS 서버도 요청을 공개 서버로 전달하므로 동일한 결과를 얻을 수 있습니다.
이 아키텍처의 단점 중 하나는 IP 주소를 확인하는 데 시간이 오래 걸릴 수 있다는 것입니다. 요청이 여러 서버를 거쳐야 하기 때문입니다. 이 효과는 로컬 캐싱을 통해 완화됩니다. DNS 서버가 정보를 요청할 때마다 해당 정보를 캐시하고, 다음에 요청이 발생하면 다른 서버에서 가져올 필요 없이 캐시된 정보를 사용할 수 있습니다. 하지만 캐싱은 영구적이지 않으며, 일정 시간이 지나면 만료되어 서버는 다시 다른 서버에 쿼리를 보내야 합니다.
DNS 관리
로컬 DNS를 관리하는 것은 매우 중요한 작업입니다. 네트워크에 새로운 장치(컴퓨터, 프린터 또는 다른 네트워크 연결 장비)를 추가할 때마다 해당 장치의 호스트 이름과 IP 주소를 로컬 DNS 서버에 추가해야 합니다. IP 주소를 관리하는 방식과 사용 중인 도구에 따라 이 과정은 완전히 수동일 수도 있고, 완전히 자동화되었을 수도 있으며, 그 중간 단계일 수도 있습니다.
DNS 관리의 또 다른 중요한 측면은 웹사이트와 같이 공개적으로 사용 가능한 리소스의 이름 확인이 올바르게 구성되고 모든 사용자가 접근할 수 있도록 공개 DNS 서버에서 사용 가능한지 확인하는 것입니다. 모니터링 역시 DNS 관리의 핵심 요소입니다. DNS가 다운되면 호스트 이름을 IP 주소로 변환할 수 없게 되어, 연결된 모든 리소스에 접근할 수 없게 됩니다. 이는 반드시 피해야 할 상황입니다.
다양한 유형의 DNS 도구
다양한 종류의 DNS 도구를 사용할 수 있습니다. 첫 번째 유형은 DNS 감사 도구입니다. 이 도구들은 정방향 및 역방향 DNS 요청을 실행하여 둘 다 일치하는지 확인합니다. 정방향 및 역방향 항목이 일치하지 않으면 여러 문제가 발생할 수 있으므로 이러한 도구는 매우 유용합니다.
다른 유형의 도구를 사용하여 DNS 아키텍처의 구조를 분석할 수 있습니다. DNS 서버 간의 관계를 파악하고 DNS 확인에 대해 더 심층적으로 접근할 수 있도록 돕습니다. 앞에서 언급했듯이 DNS 요청 전달에 시간이 오래 걸릴 수 있으므로, 이러한 유형의 도구를 사용하면 효율적인 아키텍처를 유지하는 데 도움이 됩니다. DNS 벤치마킹 소프트웨어를 사용하여 한 공개 DNS 서버의 성능을 다른 서버와 비교하고, 요청을 전달할 최상의 공개 DNS 서버를 결정할 수도 있습니다.
다음은 일반적으로 서버에 직접 쿼리를 보내 이름 확인을 테스트하는 데 사용되는 명령줄 도구입니다. Nslookup과 Dig는 이러한 도구의 예이며, 이에 대해서는 나중에 자세히 살펴보겠습니다.
마지막으로, 전 세계 여러 위치에서 다양한 DNS 관련 테스트를 실행하는 데 사용할 수 있는 온라인 도구도 있습니다. 이 도구를 사용하면 멀리 떨어진 클라이언트에서 호스트가 어떻게 확인되는지에 대한 아이디어를 얻을 수 있습니다.
최고의 DNS 도구
사용할 수 있는 도구 유형이 너무 많아서 최상의 도구를 찾는 것이 쉽지 않았습니다. 사용 가능한 도구에 대한 아이디어를 제공하기 위해 각 유형의 도구 중 하나 이상을 찾으려고 노력했습니다. 로컬에 설치할 수 있는 소프트웨어 패키지, 대부분의 운영 체제에 이미 내장된 명령줄 도구, 그리고 온라인 도구를 포함하여 다양한 도구를 검토했습니다.
1. SolarWinds 엔지니어의 도구 세트 (무료 평가판)

처음 소개할 두 도구는 SolarWinds Engineer's Toolset의 일부입니다. 아마도 SolarWinds에 대해 이미 알고 계실 것이고, 일부 제품을 사용하고 계실 수도 있습니다. 이 회사는 최고의 네트워크 관리 도구를 만드는 것으로 명성이 높습니다. 주요 제품인 Network Performance Monitor는 최고의 네트워크 모니터링 도구 중 하나로 널리 인정받고 있습니다. SolarWinds는 또한 많은 무료 도구를 제공하는 것으로 유명합니다. 이러한 도구들은 네트워크 관리자의 특정 요구 사항을 해결하는 데 특화되어 있습니다. 무료 도구의 예로는 Advanced Subnet Calculator와 Kiwi Syslog Server가 있습니다.
SolarWinds Engineer's Toolset으로 돌아가서, 이것은 60가지가 넘는 다양한 도구의 번들입니다. 일부 도구는 SolarWinds의 무료 도구인 반면, 다른 도구는 이 패키지에만 포함된 독점적인 도구입니다. DNS 도구와 관련하여 두 가지 도구인 SolarWinds DNS 감사와 SolarWinds DNS 구조 분석기가 Engineer's Toolset에 포함되어 있습니다. 번들에 포함된 다른 도구에 대한 정보는 곧 다시 제공해 드리겠습니다.
1.1 SolarWinds DNS 감사 (Engineer's Toolset 무료 평가판)
SolarWinds DNS 감사 도구는 DNS를 수동으로 관리하고 구성하는 관리자에게 유용합니다. 이 도구는 간단한 작업을 수행하지만, 그 이점은 매우 큽니다. IP 주소 범위를 스캔하고, 각 주소에 대해 역방향 DNS 쿼리를 실행합니다. 역 DNS는 반대로 IP 주소에 해당하는 호스트 이름을 얻기 위해 DNS 서버에 질문하는 프로세스입니다. 올바르게 구성된 DNS 서버는 포함된 각 정방향 레코드에 대해 역방향 DNS 레코드를 가져야 합니다.

도구가 각 IP 주소를 호스트 이름으로 확인한 후, 각 호스트 이름을 해당 IP 주소로 다시 확인하여 불일치가 있는 모든 레코드에 대한 보고서를 생성합니다. 감사 결과는 스캔한 각 IP 주소에 대해 한 줄씩 표 형식으로 표시됩니다.
1.2 SolarWinds DNS 구조 분석기 (Engineer's Toolset 무료 평가판)
SolarWinds Engineer's Toolset의 다음 도구인 SolarWinds DNS 구조 분석 도구는 기능과 작동 방식이 매우 다릅니다. 이 도구는 루트 서버, 이름 서버, 글로벌 최상위 도메인 서버, cName 포인터 및 권한 있는 주소 서버를 포함하여 조직의 DNS 리소스 레코드의 계층적 DNS 구조에 대한 시각적 다이어그램을 검색하고 생성합니다. 또한 이 도구를 사용하면 DNS 구조 다이어그램을 통해 여러 이름 서버와 대상 IP 주소 간의 관계를 쉽게 구분할 수 있습니다. 또한 한 DNS 서버에서 다른 DNS 서버로의 리디렉션이 그래픽으로 표시됩니다.
SolarWinds DNS 구조 분석기 도구는 모든 사람에게 적합하지 않을 수 있지만, 이러한 유형의 도구가 필요한 사람들에게는 매우 유용합니다. Engineer's Toolset 무료 평가판의 일부이므로, 사용해보고 필요에 맞는지 직접 확인해 보시기를 권합니다.
Engineer's Toolset에 포함된 기타 도구
SolarWinds Engineer's Toolset에는 다양한 문제 해결 도구가 포함되어 있습니다. 네트워크 진단을 수행하고 복잡한 네트워크 문제를 빠르게 해결하는 데 사용할 수 있는 Ping Sweep, DNS Analyzer 및 TraceRoute와 같은 도구를 찾을 수 있습니다. 보안에 민감한 네트워크 관리자를 위해 일부 도구를 사용하면 네트워크에 대한 공격을 시뮬레이션하고 취약성을 식별할 수 있습니다.
SolarWinds Engineer's Toolset에는 뛰어난 모니터링 및 경고 도구도 있습니다. 일부 도구는 장치를 모니터링하고 가용성 또는 상태 문제가 감지되면 경고를 표시합니다. 이는 사용자가 문제를 인지하기 전에 대응할 수 있는 충분한 시간을 제공할 수 있습니다. 또한, 구성 관리 및 로그 통합을 위해 포함된 도구 중 일부를 사용할 수도 있습니다.
다음은 DNS 감사 및 DNS 구조 분석기 도구 외에 SolarWinds Engineer's Toolset에서 찾을 수 있는 몇 가지 도구입니다.
포트 스캐너
스위치 포트 매퍼
SNMP 스윕
IP 네트워크 브라우저
MAC 주소 찾기
핑 스윕
응답 시간 모니터
CPU 모니터
인터페이스 모니터
경로 추적
라우터 암호 해독
SNMP 무차별 대입 공격
SNMP 사전 공격
구성 비교, 다운로더, 업로더 및 편집기
SNMP 트랩 편집기 및 SNMP 트랩 수신기
서브넷 계산기
DHCP 범위 모니터
DNS 구조 분석기
DNS 감사
IP 주소 관리
WAN 킬러
SolarWinds Engineer's Toolset에는 정말 많은 도구가 포함되어 있습니다. 실제로 모두 열거하기에는 너무 많습니다. 14일 무료 평가판을 사용할 수 있으므로, 가장 좋은 방법은 번들을 다운로드하고 도구 세트가 제공하는 모든 기능을 직접 확인하는 것입니다.
2. GRC의 DNS 벤치마크
이 도구의 이름은 그 기능을 잘 나타냅니다. 선택한 DNS 서버가 인터넷 사용 경험을 방해하는지 궁금하다면, GRC의 DNS 벤치마크를 통해 로컬 및 원격 DNS 서버의 정확한 성능을 확인할 수 있습니다. 이는 매우 정확하고 포괄적이며, 무료로 제공되는 Windows 유틸리티(와인을 사용할 경우 Linux에서도 사용 가능)입니다.

GRC의 DNS 벤치마크는 가장 까다롭고 숙련된 네트워크 관리자의 요구 사항을 충족할 수 있는 기능을 제공합니다. 심각한 DNS 성능 분석을 가능하게 하도록 설계되었지만, 일반 사용자 및 처음 사용하는 사용자도 매우 쉽게 사용할 수 있습니다. 이 도구의 가장 큰 장점 중 하나는 가격입니다. 오픈 소스는 아니지만 무료이며 누구나 다운로드할 수 있습니다.
3. Nslookup
다음으로 소개할 도구는 nslookup입니다. 이 도구는 최신 버전의 Windows를 포함하여 대부분의 운영 체제에 포함되어 있는 매우 유용한 문제 해결 도구입니다. 종종 간과되지만, 실질적인 가치를 제공합니다. nslookup은 DNS 서버의 적절한 구성을 확인하는 데 사용할 수 있는 가장 기본적인 도구 중 하나입니다. 이름은 "이름 서버 조회"의 약자입니다.
nslookup이 작동하는 모습을 직접 보는 것이 nslookup의 기능과 이점을 이해하는 데 가장 좋은 방법이므로, 간단한 시연부터 시작해 보겠습니다. 명령을 사용하는 방법은 비교적 간단합니다. 쿼리할 내용을 입력하고 Enter 키를 누르면 됩니다. 예를 들어, www.google.com을 사용해 보겠습니다.
명령은 다음과 같습니다.
C:>nslookup www.google.com
nslookup의 응답은 다음과 같습니다.
Server: my.local.dns.server Address: 10.10.10.10 Non-authoritative answer: Name: www.google.com Addresses: 2607:f8b0:4002:80f::2004 172.217.4.4
응답의 처음 두 줄은 정보를 얻기 위해 사용 중인 서버와 해당 서버의 IP 주소를 보여줍니다. 기본적으로 명령을 실행하는 컴퓨터에 설정된 첫 번째 DNS 서버를 사용합니다. 두 번째 nslookup은 신뢰할 수 없는 답변을 제공한다고 알려줍니다. 이는 걱정할 필요가 없습니다. 답변을 제공하는 서버가 다른 서버에서 정보를 가져왔다는 의미입니다. 사실, 로컬 컴퓨터의 DNS 서버에서 신뢰할 수 있는 답변을 얻는 것은 다소 드문 일입니다. 일반적으로 다른 로컬 시스템에 대해 쿼리할 때 이러한 결과를 볼 수 있습니다. 다음은 실제 쿼리에 대한 정보입니다. nslookup은 사용자가 쿼리한 이름을 먼저 나열하고, 그 다음 실제 답변 또는 특정 경우 답변을 나열합니다. 이 예에서는 IPv6 및 IPv4 주소를 모두 반환했습니다.
nslookup에는 명령을 직접 입력하여 활성화하는 대화형 모드도 있습니다. 도구가 시작되면 명령 프롬프트가 ">"로 변경되어 명령에 직접 응답할 준비가 되었음을 나타냅니다.
nslookup을 사용하여 DNS 서버를 쿼리하는 여러 가지 방법이 있습니다. 대화형 모드에서 "set type=mx"를 입력하면 메일 서버 설정에 대한 정보만 가져올 수 있습니다. 또한 특정 DNS 서버에 연결할 수도 있습니다. 예를 들어 Google의 DNS 서버에 연결하려면 "server 8.8.8.8"을 입력합니다.
nslookup에는 더 많은 옵션이 있으며, 도메인 이름 서비스에 대한 지식이 있다면 이 도구를 최대한 활용하는 데 도움이 될 것입니다. 이 도구는 오래되었고 많은 사람들이 다음 도구인 dig와 같은 최신 도구로 대체되기를 바라지만, 여전히 가장 많이 사용되는 DNS 도구 중 하나입니다.
4. Dig
Dig는 인기를 얻고 있는 또 다른 명령줄 도구입니다. 이 도구의 목적은 nslookup과 거의 동일하지만, 구문이 약간 다릅니다. 또한 dig의 응답은 nslookup의 응답보다 조금 더 자세합니다. 이것이 dig가 기존 도구를 완전히 대체하지 못한 이유 중 하나입니다. 또 다른 이유는 nslookup은 거의 모든 시스템에 있지만, dig는 일부 Linux 배포판에만 있기 때문입니다. 모든 Linux 또는 Windows 컴퓨터에 설치할 수는 있지만, 많은 관리자가 nslookup으로 충분하다고 생각하는 한 dig를 사용하기 위해 굳이 노력할 필요가 없을 것입니다.
일반적인 dig 쿼리는 다음과 같습니다.
$ dig -t mx www.google.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> -t mx www.google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40683 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.google.com. IN MX ;; AUTHORITY SECTION: google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 164707171 900 900 1800 60 ;; Query time: 61 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Wed Aug 09 14:34:03 EDT 2017 ;; MSG SIZE rcvd: 113
보시다시피, 응답은 일반적인 nslookup의 응답보다 훨씬 더 복잡합니다.
5. 온라인 DNS 도구 – DNSstuff
마지막으로 소개할 DNS 도구는 온라인 DNS 도구입니다. 이러한 도구는 인터넷 상의 원격 장치에서 접근할 수 있다는 점에서 매우 편리합니다. DNS 도구를 제공하는 웹사이트는 매우 많습니다. 제공되는 도구는 웹사이트마다 다르지만, 일반적으로 정규화된 도메인 이름에서 공용 IP 주소를 얻을 수 있도록 제공합니다.

예를 들어, DNSstuff는 nslookup 또는 dig와 같은 정교하고 사용하기 쉬운 도구들을 포함하여 DNS의 여러 측면을 테스트할 수 있는 약 12개의 도구를 제공하는 웹사이트 중 하나입니다. 이러한 유형의 도구의 주된 단점은 일반적으로 특정 DNS 서버를 선택할 수 없다는 것입니다. 대신 원격 인터넷 위치에서 바라본 결과를 제공합니다.