- Создание и управление DNS записями и зонами из PowerShell
- Модуль PowerShell — DNSServer
- Управление DNS зонами из PowerShell
- Управление DNS записиями с помошью модуля DNSServer
- Как добавить сразу несколько A / PTR записей в DNS зону с помощью PowerShell?
- Создание в Windows Server обратной DNS-зоны с нестандартной маской
- Reverse lookup-зона — полезная и нужная штука, но в случае создания оной для локальной сети — проблем не возникает. Сложнее, когда провайдер делегирует часть адресного пространства.
Создание и управление DNS записями и зонами из PowerShell
Администратор DNS сервера на Windows для управления сервером, DNS зонами и записями может использовать старую добрую утилиту Dnscmd , или воспользоваться возможностями PowerShell модуля DNSServer. В этой статье мы рассмотрим основные операцию по массовому созданию, модификации и удалению различных DNS записей и зон с помощью PowerShell.
Модуль PowerShell — DNSServer
PowerShell модуль DNSServer входит в состав RSAT. В Windows 10 RSAT устаналивается отдельно, а в Windows Server вы можете установить модуль через Server Manager (Role Administration Tools -> Dns Server Tools).
Проверим, что в системе имеется модуль PoSh DNSServer:
Get-Module DNSServer –ListAvailable
Можно вывести список команд в нем (в версии модуля на Windows Server 2012 R2 доступно более 100 команд):
Управление DNS зонами из PowerShell
Выведем список зон на DNS сервере (в нашем случае это контроллер домен):
Get-DnsServerZone –ComputerName dc01
Чтобы добавить новую первичную DNS зону с именем contoso.local, выполните команду:
Add-DnsServerPrimaryZone -Name contoso.local -ReplicationScope «Forest» –PassThru
Как вы видите, была создана первичная DNS зона, интегрированная в Active Directory (isDsIntegrated=True).
Можно создать зону обратного просмотра (Lockup Zone):
Add-DnsServerPrimaryZone -NetworkId «192.168.1.0/24» -ReplicationScope Domain
Чтобы синхронизировать новую зону с другими DC в домене, выполните команду:
Выведем список записей в новой DNS зоне (она пуста):
Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local
Для удаления зоны воспользуйтесь командой:
Remove-DnsServerZone -Name contoso.local -ComputerName dc01
Эта команда также удалит все существующие DNS записи в зоне.
Управление DNS записиями с помошью модуля DNSServer
Чтобы создать новую A запись в указнаной DNS зоне, воспользуемся командой:
Add-DnsServerResourceRecordA -Name rds1 -IPv4Address 192.168.1.30 -ZoneName contoso.local -TimeToLive 01:00:00
Чтобы добавить PTR запись в обратной зоне, в предыдущей команде можно добавить параметр –CreatePtr или создать указатель вручную командлетом Add-DNSServerResourceRecordPTR:
Add-DNSServerResourceRecordPTR -ZoneName 1.168.192.in-addr.arpa -Name 30 -PTRDomainName rds1.contoso.local
Для добавления алиаса (CNAME) для определенной A записи, воспользуйтесь командой:
Add-DnsServerResourceRecordCName -ZoneName contoso.local -Name RDSFarm -HostNameAlias rds1.contoso.local
Чтобы изменить IP адрес данной A записи нужно воспользоваться довольно сложной схемой, т.к. вы не можете напрямую изменить IP адрес у DNS записи.
$NewADNS = get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local -ComputerName dc01
$OldADNS =get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local -ComputerName dc01
Теперь изменим свойство IPV4Address у объекта $NewADNS
Теперь изменим IP адрес A записи с помощью Set-DnsServerResourceRecord:
Set-DnsServerResourceRecord -NewInputObject $NewADNS -OldInputObject $OldADNS -ZoneName contoso.local -ComputerName dc01
Проверим, что IP адрес A записи изменился:
get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local
Можно вывести список DNS записей одного типа, указав тип в аргументе –RRType. Выведем список записей CNAME в зоне:
Get-DnsServerResourceRecord -ComputerName DC01 -ZoneName contoso.local -RRType CNAME
Также вы можете использовать фильтр по различным параметрам DNS записей с помощью Where-Object. Например, выведем список A записей, у которых в имени есть фраза rds.
Get-DnsServerResourceRecord -ZoneName contoso.local -RRType A | Where-Object HostName -like «*rds*»
Для удаления записей в DNS используется командлет Remove-DnsServerResourceRecord.
Например, для удаления CNAME записи, выполните:
Remove-DnsServerResourceRecord -ZoneName contoso.local -RRType CName -Name RDSFarm
Для удаления A записи:
Remove-DnsServerResourceRecord -ZoneName contoso.local -RRType A -Name rds1 –Force
Для удаления PTR записи в обратной зоне:
Remove-DnsServerResourceRecord -ZoneName “1.168.192.in-addr.arpa” -RRType “PTR” -Name “30”
Как добавить сразу несколько A / PTR записей в DNS зону с помощью PowerShell?
Допустим, вам нужно создать сразу множество A записей в определенной DNS зоне прямого просмотра. Вы можете завести их по-одной с помощью команды Add-DnsServerResourceRecordA, но гораздол проще и быстрее массово завести A записи по списку из файла.
Создайте текстовый файл NewDnsRecords.txt ч именами и IP адресами, которые вы хотите завести. Формат файла такой:
Чтобы завести A записи в зоне contoso.local по данным из TXT/CSV файла, воспользуйтесь следующим скриптом PowerShell:
Import-CSV «C:\PS\NewDnsRecords.txt» | %<
Add-DNSServerResourceRecordA -ZoneName contoso.local -Name $_.»HostName» -IPv4Address $_.»IPAddress»
>
Если нужно сразу завести записи в обратной зоне, добавьте в команду Add-DNSServerResourceRecordA параметр –CreatePtr.
Теперь с помощью консоли DNS Manager (dnsmgmt.msc) или команнды Get-DnsServerResourceRecord -ZoneName contoso.local убедитесь, что все A записи успешно созданы.
Если нужно массово завести PTR записи в зоне обратного просмотра создайте текстовый/csv файл со следующей структурой
Затем запустите такой скрипт:
Import-CSV «C:\PS\NewDnsPTRRecords.txt» | %<
Add-DNSServerResourceRecordPTR -ZoneName $_.»zoneName» -Name $_.»octet» -PTRDomainName $_.»hostName»
>
Убедитесь, что PTR записи появились в указанной Reverse зоне DNS.
Создание в Windows Server обратной DNS-зоны с нестандартной маской
Reverse lookup-зона — полезная и нужная штука, но в случае создания оной для локальной сети — проблем не возникает. Сложнее, когда провайдер делегирует часть адресного пространства.
Зайдите на сайт под своей учётной записью, чтобы видеть комментарии под техническими статьями. Если учётной записи ещё нет — зарегистрируйтесь, это бесплатно.
Обновления личного кабинета — доступны также по RSS.
- 4 апреля: Образ Kali Linux 21.01 с обновлениями за апрель 2021
- 4 апреля: Минималистичный образ Debian Linux 10.9 с обновлениями за апрель 2021
- 4 апреля: Рабочий образ нового Windows Server 2022
- 4 апреля: Специальный образ старого Windows Server 2003 R2
- 4 апреля: Обновлённые образы Windows Server 2019
- 8 января: Образ Ubuntu Server 21.04 (hirsute hippo) с предустановленными инструментами разработчика и Kali Linux 2021 с браузерами Chrome/Firefox — соответственно серверная и клиентская часть для грядущих вебинаров по HTTP/TLS/Security
- 4 января: Январское обновление домашней лабы — с QEMU 5.2.0 и всякими другими интересностями (подробнее см. новость на сайте)
- 2 января: Новый год — новый дизайн личного кабинета. Если найдёте ошибки — пишите, поправим.
- 26 декабря: Обновлённый образ CentOS (8.2 -> 8.3) и Kali с апдейтами за декабрь 2020
- 25 декабря: Образы Ubuntu Server 20.10 и VMware ESXi 7.0 U1c
Новое в архиве Knowledge Assurance. Часть из этих записей доступна бесплатно, на нашем канале YouTube.
- HCIA 2.5 — Первый модуль курса Huawei HCIA Routing and Switching
- AT-NETLAB — Обновлённый вебинар по созданию и настройке домашней лабы
- Cisco SPNGN1 1.0 — CCNA Service Provider (последнее прочтение) занятие 7
- Cisco SPNGN1 1.0 — CCNA Service Provider (последнее прочтение) занятие 6
- Cisco SPNGN1 1.0 — CCNA Service Provider (последнее прочтение) занятие 5
- Cisco IINS 3.0 — Шестое занятие CCNA:Security 2020
- Cisco SPNGN1 1.0 — CCNA Service Provider (последнее прочтение) занятие 4
- Cisco SPNGN1 1.0 — CCNA Service Provider (последнее прочтение) занятие 3
- AT-NETLAB — Вебинар по созданию и настройке домашней лабы
- Cisco IINS 3.0 — Пятое занятие CCNA:Security 2020
В настоящей статье мы подробно рассмотрим процесс развёртывания контроллера домена на на базе Windows Server 2016, а также процесс настройки служб AD DS и DNS.
Первое, что необходимо сделать, это подготовить систему для развертывания служб.
Для этого устанавливаем операционную систему Windows Server 2016 и обновляем её до актуального состояния.
Следующий шаг, это изменяем имя сервера. Для этого идём в Диспетчер серверов и переходим на вкладку Локальный сервер. Кликаем по имени компьютера.
В появившемся окне жмём Изменить
И изменяем имя на своё (например BEARNET_DC1)
Жмём ОК! Система затребует перезагрузку. Жмём Перезагрузить позже.
Следующий шаг, это указать статические IP-адреса в настройках TCP/IP и изменить настройки временной зоны на относящуюся к нам.
Для этого всё в том же Диспетчере серверов кликаем по настройкам сетевой карты и часовому поясу.
Примеры настройки TCP/IP и временной зоны:
На этом первоначальная подготовка система закончена, перезагружаем сервер и можно приступать к развертыванию служб.
Приступим к развертыванию служб Active Directory и DNS.
Добавляем новую роль на сервере. Для этого идём в Диспетчер серверов и на вкладке панель мониторинга кликаем Добавить роли и компоненты.
В появившемся окне жмём Далее.
Выбираем первый пункт Установка ролей и компонентов и жмём Далее
В следующем окне выбираем сервер на котором будет развёрнута роль. Жмём Далее.
Галочкой отмечаем роль Доменные службы Active Directory и в подтверждающем запросе мастера добавления ролей и компонентов жмём Добавить компоненты. Жмём Далее.
В следующем окне система предлагает выбрать дополнительные компоненты. В моём случае в этом нет необходимости. Жмём Далее.
Следующее окно является информационным. на нём наше внимание обращается на то что желательно иметь по два контролера домена в каждом домене. Также здесь говорится о том что службы Active Directory требуют наличие установленного в сети DNS-сервера, если он не установлен, то будет предложено его установить. Жмём Далее.
На завершающей странице мастера жмём Установить.
После завершения установки Роли, в Диспетчере серверов кликаем по значку Флажка с восклицательным знаком и выбираем Повысить роль этого сервера до уровня контроллера домена.
Далее открывается окно Мастера настройки доменных служб Active Directory где необходимо выбрать вариант развёртывания контроллера домена. Выбираем добавить новый лес и указываем корневое имя домена. Жмём Далее.
В параметрах контролера домена оставляем всё по умолчанию, задаём пароль для восстановления служб каталогов (DSRM). Проверяем наличие галочки в пункте DNS-сервер, она необходима для автоматического поднятия роли DNS.
В параметрах DNS оставляем всё по умолчанию. На ошибку делегирования не обращаем внимание, т.к. роль DNS поднимается в процессе конфигурации контроллера домена. Жмём Далее.
Следующие три окна просто жмём Далее.
Дожидаемся окончания проверки готовности к установке. После сообщения мастера об успешной проверке жмём Установить.
В ходе установки конфигурации Контроллера домена, сервер будет перезагружен. После того, как сервер перезагрузился добавим в DNS зону обратного просмотра. Зоны обратного просмотра служат для разрешения IP-адресов в имена устройств.
В Диспетчере серверов кликаем по кнопке Средства и вападающем списке выбираем DNS.
В диспетчере DNS выделяем вкладку Зоны обратного просмотра, кликаем правой кнопкой мыши и выбираем Создать новую зону.
В мастере создания новой зоны выбираем тип добавляемой зоны. Выбираем Основная зона и жмём Далее.
Далее предлагается выбрать каким образом будет выполняться репликация добавляемой зоны. Выбираем Для всех DNS-серверов, работающих на контролерах домена в этом домене.
В следующем окне выбираем Зону обратного просмотра IPv4 и жмём Далее.
Далее задаём Идентификатор сети. В моём варианте это 192.168.1. Жмём Далее.
В следующем окне выбираем Разрешить любые динамические обновления и жмём Далее.
В завершении мастера создания новой зоны жмём Готово.
На следующем этапе укажем Сервера пересылки. Они необходимы для того чтобы кэшировать и перенаправлять DNS-запросы с локального DNS-сервера на внешний DNS-сервер в сети интернет. Это необходимо для того чтобы локальные компьютеры доменной сети смогли получить доступ в интернет.
В диспетчере DNS выделяем наш сервер и кликаем правой кнопкой мыши. В Выпадающем меню выбираем свойства
далее переходим во вкладку Сервер пересылки и жмём кнопку Изменить.
В редакторе серверов пересылки вводим IP-адрес или DNS имя провайдера или например DNS Google (8.8.8.8). Жмём ОК.
Контроллер домена развёрнут и настроен. Можно добавлять компьютеры в домен.