DNS 레코드는 일반적으로 DNS 서버에서 동적으로 관리됩니다. 그러나 때때로 다양한 유형의 DNS 레코드를 수동으로 생성, 편집 또는 제거해야 할 때가 있습니다. 또는 자동화 스크립트에 다양한 DNS 작업을 추가해야 할 수도 있습니다. 이런 경우에는 PowerShell DNS cmdlet을 사용하는 것이 좋습니다.
이 블로그 글은 TechSnips 기고자인 David Lamb가 만든 동반 동영상이 있습니다. 동영상을 시청하거나, 텍스트를 선호한다면 계속 읽어주세요!
PowerShell DNS Cmdlet을 사용하여 DNS 레코드 보기
PowerShell DNS cmdlet Get-DnsServerResourceRecord
을 사용하면 특정 DNS 영역의 모든 리소스 레코드를 볼 수 있습니다. 이 cmdlet을 사용하면 ZoneName
매개변수를 지정하여 해당 영역의 모든 DNS 레코드를 나열할 수 있습니다.
아래에서 볼 수 있듯이, 이는 상당히 긴 레코드 목록을 생성합니다.

이 동작은 이 특정 cmdlet이 그래픽 DNS 콘솔보다 이점을 가지고 있다는 것을 강조합니다. 이 보기는 해당 영역의 모든 레코드를 보여줍니다. 그래픽 콘솔에서는 이 정보를 조립하는 데 상당한 시간이 걸릴 것입니다.
이제이 목록을 조금 더 가늘게 만듭니다. 동일한 cmdlet을 사용하되 RRType
매개변수를 추가하여 A 레코드 (IPv4 호스트)를 검색하고 Time To Live (TTL)이 15분보다 큰 레코드를 필터링하면 다루기 쉬운 목록이 됩니다. 다양한 DNS 레코드 속성에 대해 필터링하려면 Where-Object
cmdlet을 사용할 수 있습니다.

한 걸음 더 나아가면 다른 DNS 영역 및 다른 DNS 서버에서 레코드를 검색할 수도 있습니다.
아래 예에서는 DNS 서버 DC03에서 canada.corp.ad 영역의 A 레코드를 검색합니다.

호스트 레코드 추가 및 제거
호스트 레코드를 추가하려면 PowerShell DNS cmdlet Add-DnsServerResourceRecordA
를 사용해야 합니다. 아래 예에서는 네트워크에 추가할 새 프린터에 대한 호스트 레코드를 추가해야 합니다. 이것은 corp.ad 영역에 이름이 reddeerprint01이고 IP 주소가 192.168.2.56인 것으로 추가됩니다.

만약 프린터가 폐기되었을 수도 있으므로 방금 생성한 호스트 레코드를 제거해야 할 경우 다음 코드를 사용할 수 있습니다:
AAAA 호스트 레코드 추가 및 제거
IPv6 호스트 레코드를 추가하는 것도 매우 쉽습니다. 물론, 이러한 레코드는 AAAA 레코드로 나열되므로 약간 다릅니다. PowerShell DNS cmdlet Add-DnsServerResourceRecordAAAA
를 사용하고 있음을 알 수 있습니다. 이것은 미묘한 변화이지만 중요한 변화입니다.
새 IT Intranet 서버를 위한 corp.ad 영역에 레코드를 추가하고 다음 명령을 사용하여 생성되었는지 빠르게 확인하십시오.

역방향 조회 레코드 (PTR) 추가
PowerShell DNS cmdlet을 사용하여 PTR 레코드를 추가할 수도 있습니다. 역방향 조회 레코드는 클라이언트가 DNS 서버에 호스트 이름을 요청할 수 있도록 하는 역방향 조회 레코드입니다.
PTR 레코드를 만드는 것은 비교적 쉬운 프로세스이지만 PTR 레코드를 추가하기 전에 알아야 할 중요한 정보가 하나 있습니다. 역방향 조회 영역은 기본적으로 생성되지 않습니다. 레코드를 추가하기 전에 역방향 조회 영역을 설정해야 합니다. 다행히도, 이것을 하는 것은 비교적 쉽습니다.
DNS 영역 생성
새 DNS 영역을 만들려면 PowerShell DNS cmdlet Add-DnsServerPrimaryZone
을 사용하십시오. 이 경우, 역방향 조회 영역을 생성하므로 네트워크 ID를 제공하십시오.
이 예에서는 복제 범위를 전체 AD forest로 설정하고 특정 DNS 서버로 DC03를 지정하기로 결정했습니다.

지금 역방향 조회 영역이 설정되었으므로 CYQF-Printer-01.canada.corp.ad라는 새 프린터에 대한 IP 주소 192.168.2.56에 대한 PTR 레코드를 추가할 수 있습니다. 이 레코드는 canada.corp.ad 영역을 위한 것이므로 DNS 서버 DC03을 대상으로 할 것입니다.
이제 영역이 생성되었으므로 Add-DnsServerResourceRecordPtr
명령을 사용하여 PTR 레코드를 만들어 봅시다. 이 cmdlet을 사용할 때 몇 가지 중요한 사항을 주의해야 합니다.
- 네트워크 ID를 역순으로 사용하여 영역 이름을 지정해야 하며, 그런 다음 .in-addr.arpa를 추가해야 합니다. 따라서 우리의 192.168.2.0/24 네트워크 ID의 경우 영역 이름은 2.168.192.in-addr.arpa입니다.
Name
매개변수는 IP 주소의 호스트 부분입니다. 192.168.2.56에 대한 프린터의 경우Name
은 56입니다.
이러한 정보를 갖고 나면 PTR 레코드를 만들기 위해 필요한 코드는 비교적 간단하지만 약간은 길 수 있습니다.

별칭 레코드 (CNAME) 추가
이 튜토리얼을 마무리하려면 Add-DnsServerResourceRecordCName
cmdlet을 사용하여 호스트 별칭 레코드 또는 CNAME 레코드를 만들어 봅니다.
이러한 레코드를 사용하면 영역 내에서 기존 호스트 레코드에 대한 별칭을 지정할 수 있습니다. 이는 예를 들어 금융 사용자에게 웹 기반 금융 앱을 위한 주소를 제공하려는 경우 특히 유용합니다.
당신은 재무라는 별칭을 만들고, 그것을 웹서버 웹앱25.corp.ad로 연결할 수 있습니다. 앱이 새 호스트명을 가진 새 웹서버로 이관되면 CNAME 레코드를 변경하여 재무를 새 호스트로 연결합니다. 이렇게 하면 사용자들이 즐겨찾기를 업데이트할 필요가 없습니다. 그들은 finance.corp.ad 주소를 사용하여 애플리케이션에 계속 액세스할 수 있습니다.

DNS의 더 깊은 부분을 탐구하고 더 많은 고급 기능을 보려면, 여기서 다른 DNS 게시물을 확인해보세요.
요약
파워셸과 DNS 레코드를 사용하는 튜토리얼을 마칩니다. 여기서 얻은 지식으로, 당신은 이제 상호 작용적으로 또는 대규모 DNS 레코드를 자동화할 수 있을 것입니다!