Настройка dhcp windows server 2019 powershell
Обновлено: 04.07.2024
Постановка задачи
Я хочу вас научить производить настройку статического IP адреса, маски, шлюза и DNS серверов на вашем сетевом интерфейсе, разными методами, локально и удаленно. Ситуаций может быть очень много. Лично я являюсь приверженцем того, что любой сервер должен иметь выделенный, статический ip-адрес исключительно под него, тут можно долго спорить, что можно делать резервирование на DHCP, через который потом можно быстрее менять настройки, но я придерживаюсь такой политики, так как из отказоустойчивый DHCP может ломаться, если вы можете меня переубедить в моем видении, то прошу в комментарии.
Методы настройки сети в Windows Server 2019
Существует ряд методов и инструментов позволяющих производить настройки вашего сетевого интерфейса, их можно разделить на два подхода:
- Локальная настройка сетевых параметров
- Удаленная настройка сетевыми параметрами
Среди инструментов можно выделить:
- Свойства сетевого интерфейса
- Утилита командной строки netsh
- Командлеты powerShell
- Использование Windows Admin Center
- Различные утилиты
Настройка сети через графический интерфейс
Первый метод, можно назвать классическим, так как он самый простой и подойдет для большинства администратором. Тут мы с вами будем использовать оснастку "Центр управления сетями и общим доступом", настроим статический IP-адрес, маску сети, основной шлюз и DNS-сервера через графический интерфейс. У меня есть сервер RDCB01, для которого я выделил IP-адрес 192.168.31.10. На текущий момент айпишник прилетает от DHCP-сервера. Проверим текущие параметры интерфейса через командную строку, в которой нужно написать команду:
Чтобы открыть "Центр управления сетями и общим доступом" со списком сетевых интерфейсов, мы воспользуемся быстрыми командами Windows. Открываем окно выполнить и пишем в нем:
Находим нужный сетевой интерфейс, в моем примере, это единственный Ethernet0 и заходим в его свойства.
Далее находим пункт "IP версии 4 (TCP/Ipv4)"и открываем его свойства, далее мы видим, что выделение сетевых настроек производится в автоматическом режиме, через службу DHCP.
Чтобы вбить статические настройки выбираем пункт "Использовать следующий IP-адрес" и по порядку задаем настройки, подготовленные заранее. В моем случае
- IP-адрес 192.168.31.10
- Маска подсети 255.255.255.0
- Основной шлюз 192.168.31.254
- Предпочитаемый DNS-сервер 192.168.31.1
- Альтернативный DNS-сервер 192.168.31.2
Сохраняем все настройки и проверяем через Ipconfig /all, что все видится. Так же можете попробовать пропинговать ваш основной шлюз или DNS-сервер. На этом графическая настройка сети в Windows Server 2019 окончена.
Настройка сети через Windows Admin Center
С выходом Windows Server 2019 Microsoft наконец-то создает правильный инструмент для системного администратора, я говорю, о Windows Admin Center. Я вам уже подробно рассказывал, как устанавливать Windows Admin Center и его назначение. Если в двух словах, то это крутая веб консоль позволяющая управлять серверами и рабочими станциями с любого устройства, через ваш браузер. Давайте я покажу, как вы легко можете произвести установку статического Ip-адреса, маски, основного шлюза и DNS на удаленном сервере, через WAC. Напоминаю, что делать я это буду для сервера RDCB01. Давайте его пропингуем и выясним текущий адрес. Я вижу ip-адрес 192.168.31.56.
Открываем в браузере Windows Admin Center и производим подключение к нужному серверу.
Далее находим раздел "Сеть", тут у вас будет список всех ваших сетевых интерфейсов. Выбираем нужный, тут чем хорошо вы сразу видите много сводной информации в нижней части.
Для настройки сети нажмите кнопку "Параметры". Как видим стоит автоматическое получение настроек.
Активируем пункт "Использовать следующий IP-адрес" и задаем нужные сетевые настройки, после чего сохраняем изменения.
Подтверждаем применение настроек.
В правом верхнем углу вам покажут, что началось задание по обновлению.
Проверяем, перед этим единственное нужно очистить кэш-DNS. В итоге я вижу, что сервер пингуется по новому адресу.
В итоге удаленная настройка сети на сервере Windows Server 2019 выполнена.
Настройка сети Windows Server 2019 через командную строку
Второй метод заключается в использовании утилиты командной строки netsh. На практике, это используется в скриптах, или при настройке Windows Server в режиме Core. Я опять переведу свои настройки на получение адреса от DHCP сервера. DHCP присвоил мне адрес 192.168.31.56.
Для того, чтобы настроить статический IP-адрес через утилиту Netsh, вам нужно знать правильное имя сетевого адаптера, он легко смотрится при выводе команды Ipconfig /all. В моем примере, это Ethernet0.
netsh interface ip set address "Ethernet0" static 192.168.31.10 255.255.255.0 192.168.31.254- 192.168.31.10 - это мой статический Ip-адрес
- 255.255.255.0 - это моя маска подсети
- 192.168.31.254 - это мой основной шлюз
Видим, что команда успешно отработала, можно сразу проверить применение настроек сети через ipconfig. Теперь выполним настройку основного и альтернативного DNS.
netsh interface ipv4 set dnsservers Ethernet0 static 192.168.31.1 primaryПрописываем альтернативный DNS адрес
netsh interface ipv4 add dnsservers Ethernet0 192.168.31.2 index=2В итоге как видим у нас появился второй адрес DNS сервера на нашем сетевом интерфейсе. Настройка выполнена.
Если вам нужно вернуть сетевые настройки на получение адреса от DHCP сервера, то введите команду:
netsh interface ipv4 set dnsservers Ethernet0 dhcp && netsh interface ip set address Ethernet0 dhcpНастройка сети через PowerShell
Чтобы настроить статический адрес на сетевом интерфейсе с помощью командлетов, вам необходимо открыть от имени администратора оболочку PowerShell.
Прежде чем мы начнем настройку сети через PowerShell в нашей Windows Server 2019, нам как и в случае с netsh, нужно выяснить имя сетевого интерфейса. Для этого вводим команду:
В результате я вижу имя интерфейса Ethernet0.
Пишем команду, где обратите внимание префикс сети 255.255.255.0 задается в виде -PrefixLength 24. На выходе вы сразу увидите примененные настройки.
Get-NetAdapter -Name Ethernet0 | New-NetIPAddress -IPAddress 192.168.31.10 -PrefixLength 24 -DefaultGateway 192.168.31.254Зададим теперь оба DNS-сервера через команду
Get-NetAdapter -Name Ethernet0 | Set -DnsClientServerAddress -ServerAddresses 192.168.31.1, 192.168.31.2Посмотрим текущие сетевые настройки через команду:
Как видите все сетевые настройки в моем Windows Server 2019 успешно применены.
Удаленная настройка сети
Выше я уже показал вам метод удаленной настройки сети через Windows Admin Center, но существует и еще несколько методов, которые мне были полезны в моей практике. Первое, это использование все того же PowerShell. И так у меня есть компьютер W10-cl01 с Windos 10 и предположим хочу с него настроить сеть на сервере RDCB01.
Хочу отметить, что для этого метода у вас должно быть настроено использование WinRM (Службы удаленного управления Windows)Открываем PowerShell, командой hostname я показываю, что сижу на компьютере W10-cl01. Далее для удаленного подключения вводим команду:
Я успешно подключился, теперь повторно введя команду hostname, я вижу, что сижу на компьютере RDCB01, и можно вводить команды описанные выше.
Второй метод удаленной настройки сети на Windows Server 2019, это использование утилиты PsExec.exe, я,о ее настройке и установке рассказывал в статье "Включить RDP Windows удаленно и локально".
Начнется запуск службы на удаленном сервере.
Введя все ту же команду hostname я вижу, что подключен к удаленному серверу RDCB01, при желании вы можете использовать для настройки сети netsh или PowerShell, что нравится больше.
Популярные Похожие записи:
3 Responses to Настройка сети в Windows Server 2019, за минуту
Все зависит как построена у вас топология. Классический вариант, что у сетевой карты 1 сетевой адаптер и интернет идет по нему. Если серверу нужен выделенный IP-адрес и нет оборудования проксирования, то задействуется второй сетевой адаптер. Если у вас три может есть необходимость иметь какую-то защищенную сеть или другой VLAN, если нет то можно сделать тиминг.
Иван, день добрый! У меня есть сеть из 4 компьютеров один из них сервер на котором 3 сетевые карты. Мне нужно чтобы компьютеры были в домене и получали доступ в интернет. И я имел удаленный доступ к серверу.
Для установки и настройки роли DHCP-сервера имеем подготовленный сервер с операционной системой Windows Server 2019.
Установка роли DHCP-сервер
Шаг 1. На первом этапе установим роль DHCP-сервера, для этого в окне “Диспетчер серверов” выбираем "Добавить роли и компоненты".
Рисунок 1 - Установка роли DHCP
Шаг 2. Обращаем внимание перед установкой роли на предупреждение, затем нажимаем "Далее".
Шаг 3. Устанавливаем чекбокс "Установка ролей или компонентов", затем нажимаем "Далее".
Шаг 4. Выбираем сервер, на который будут установлены роли и компоненты - нажимаем "Далее".
Рисунок 2 - Выбор сервера для установки роли
Шаг 5. Выбираем роль сервера, в нашем случае DHCP-сервер. Нажимаем "Далее".
Шаг 6. Выбрав роль DHCP” появится “Мастер добавления ролей и компонентов” для выбранных ролей сервера. Нажимаем "Добавить компоненты".
Рисунок 3 - Добавление необходимых компонентов
Шаг 7. Требуемая роль и компоненты были выбраны ранее, Нажимаем "Далее".
Рисунок 4 - Выбор дополнительных компонентов
Шаг 8. Обращаем внимание на предупреждение DHCP-сервера, затем "Далее".
Шаг 9. Ставим "чекбокс" напротив "Автоматический перезапуск конечного сервера, если требуется", нажимаем "Установить". В результате произойдет установка выбранных ролей сервера.
Шаг 10. Далее после установки компонента наживаем "Завершение настройки DHCP".
Рисунок 5 - Завершение настройки DHCP
Шаг 11. Обращаем внимание на требования после завершения настройки DHCP-сервера, жмем "Далее".
Шаг 12. На данном этапе нажимаем "Закрыть".Установка роли завершена.
Настройка DHCP-сервера
На этом этапе приступим непосредственно к настройке роли DHCP.
Шаг 1. В диспетчере серверов нажимаем "Средства" - "DHCP".
Рисунок 6 - Запуск консоли DHCP
Шаг 2. Правой клавишей мыши нажимаем на сервер, в появившемся окне выбираем "Добавить или удалить привязки. ".
Рисунок 7 - Добавление привязки
Шаг 3. Выбираем сетевой интерфейс, который будет использовать DHCP-сервер. Далее "ОК".
Рисунок 8 - Выбор сетевого адаптера
Шаг 4. Далее правой клавишей нажимаем на IPv4 и выбираем "Создать область. ".
Рисунок 9 - Создание области
Шаг 5. Откроется окно для создания области IP-адресов. Нажимаем "Далее".
Шаг 6. Вводим имя области и если требуется описание, затем "Далее".
Шаг 7. Теперь введем диапазон адресов, который которые будет отдавать DHCP-сервер, а также маску подсети. Нажимаем "Далее".
Рисунок 10 - Выбор диапазона адресов для DHCP-сервера
Шаг 8. Затем вводим один адрес или диапазон IP-адресов, необходимые исключить из области. Нажимаем "Добавить", после нажимаем "Далее".
Рисунок 11 - Выбор диапазона, необходимый исключить
Шаг 9. Выбираем срок действия аренды адресов области. Снова "Далее".
Рисунок 12 - Срок действия аренды
Шаг 10. Для настройки других параметров DHCP выбираем "Да, настроить эти параметры сейчас", мы же выполняем базовую настройку, следовательно выбираем “Нет, настроить эти параметры позже” затем "Далее".
Шаг 11. В окне появится "Вы успешно завершили работу с мастером создания области", нажимаем "Готово".
Шаг 12. Правой кнопкой нажимаем на “Область” и выбираем "Активировать".
Рисунок 13 - Активация области DHCP-сервера
Шаг 13. Открываем "Пул адресов" и видим наш диапазон адресов для аренды.На этом настройка DHCP сервера окончена.
DHCP-сервер является важным компонентом ИТ-инфраструктуры в большинстве локальных сетей организаций. Давайте разберемся какие функции мониторинга DHCP может предоставить нам PowerShell. Для этого рассмотрим работу нескольких профильных командлетов.
Команды для управления DHCP-серверами на базе Windows являются частью модуля DhcpServer, к которому можно получить доступ установив RSAT для DHCP на Ваш ПК. Упомянутые здесь командлеты особенно полезны для анализа возникающих проблем.
Определение всех серверов и запрос их настроек
Однако для дальнейшего использования в других командах вы можете сохранить имена возвращенных серверов в переменной:
Некоторые основные настройки DHCP-сервера, например, является ли он членом домена и авторизован, можно получить с помощью следующего запроса:
Командлет Get-Dhcpserverdatabase сообщит вам, были ли данные восстановлены из резервной копии . Эту и другую информацию о базе данных также можно получить из следующего запроса:
С помощью командлета Get-DhcpServerAuditLog вы можете узнать, было ли активировано ведение журнала для службы DHCP и где хранится файл журнала. Однако вы не можете отобразить содержимое журнала с помощью этой команды.
Командлеты для IPv4 и IPv6
Большинство функций модуля доступно в двух версиях. Все функции имеют в своих именах «4» или «6», что идентифицирует их принадлежность к IPv4 или IPv6 соответственно. Поэтому следующие примеры для IPv4 могут быть применены и к IPv6:
Чтобы получить статистику по службе DHCP IPv4 в целом, воспользуйтесь следующим командлетом:
Анализ диапазонов
Большинство запросов, независимо от того, касаются они доступных арендованных или зарезервированных IP-адресов относятся к конкретным областям. Вы можете просмотреть их с помощью командлета Get-DhcpServerv4Scope . Если вы хотите вывести все диапазоны всех DHCP-серверов, чтобы увидеть, есть ли между ними перекрытие, можно поступить следующим образом:
Чтобы получить обзор наиболее важных данных для IPv4-областей DHCP-сервера, воспользуйтесь командлетом Get-DhcpServerv4ScopeStatistics
Если нам необходимо узнать какой процент диапазона уже используется и сколько адресов уже занято и доступно:
Свободные, арендованные и зарезервированные IP адреса
Данные по свободным Ip адресам можно получить с помощью командлета Get-DhcpServerv4FreeIPAddress . Если вы запустите его используя параметр ScopeID , вы получите только следующий свободный адрес. Чтобы получить большее количество доступных Ip адресов, необходимо ввести значение используя параметр NumAddress :
В этом примере перечислено 15 свободных адресов, начиная с 172.16.1.100
Возможно вам необходимо узнать, какие адреса и каким устройствам уже назначены:
Помимо свободных и уже назначенных IP адресов, обычно есть также зарезервированные для устройств с фиксированным IP. Их можно запросить следующим образом:
Если клиент не может получить адрес, проверьте, возможно он в списке запрещенных:
Модуль DhcpServer содержит в общей сложности 121 команду, которые не только запрашивает параметры и их состояние, но также могут выполнять настройки службы.
В этой статье мы рассмотрим особенности настройки параметров сетевых адаптеров в Windows из PowerShell. Посмотрим, как узнать и назначить статический IP адрес, DNS сервера, или настроить сетевой интерфейс на получение конфигурации IP от DHCP сервера. Вы можете использовать эти командлеты для настройки сети в Сore/Nano версиях Windows Server, в Hyper-V Server , изменения настроек IP на удаленных компьютерах или по сети серверах или в PS скриптах.
Ранее для настройки параметров сети в Windows из CLI использовалась команда netsh interface ipv4. В PowerShell 3.0 и выше для управления сетевыми настройками Windows можно использовать встроенный PowerShell модуль NetTCPIP .
Чтобы получить список командлетов в этом модуле, выполните:
get-command -module NetTCPIP
В этот модуль также входит командлет Test-NetConnection , который можно использовать для проверки доступности TCP портов на удаленных компьютерах.
Управление сетевыми адаптерами из PowerShell
Выведем список доступных сетевых интерфейсов компьютера:
Командлет возвращает имя интерфейса, состояние (Up/Down), MAC адрес, скорость на порту.
В этом примере у меня на компьютере несколько сетевых адаптеров (кроме физического подключения Ethernet0 есть несколько сетевых интерфейсов от Hyper-V и VMWare Player).
Вы можете обращаться к сетевым интерфейсам по их именам или индексам (столбец ifIndex). В нашем примере, чтобы выбрать физический LAN адаптер Intel 82574L нужно набрать команду:
Get-NetAdapter -Name "Ethernet0"
Get-NetAdapter -InterfaceIndex 8
Можно изменить имя адаптера:
Rename-NetAdapter -Name Ethernet0 -NewName LAN
Чтобы выключить сетевой интерфейс, используйте команды:
Get-NetAdapter -InterfaceIndex 13| Disable-NetAdapter
При включении интерфейса нельзя указать его индекс, т.к. он не присвоен. Можно указать имя адаптера или его описание.
Enable-NetAdapter -InterfaceDescription “Hyper-V Virtual Ethernet Adapter"
Если для адаптера указан VLAN , можно вывести его так:
Get-NetAdapter | ft Name, Status, Linkspeed, VlanID
Информация об используемом драйвере сетевого адаптера:
Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName
Информация о физических сетевых адаптерах (PCI слот, шина и т.д.).
Просмотр настроек TCP/IP сетевого интерфейса из PowerShell
Получить текущие настройки сетевого интерфейса (IP адрес, DNS, шлюз):
Get-NetIPConfiguration -InterfaceAlias Ethernet0
Чтобы вывести более подробную информацию о конфигурации сетевого интерфейса, используйте команду:
Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed
Получить значение только IP адрес интерфейса:
(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address
Настроить статический IP адрес из PowerShell
Попробуем задать статический IP адрес для сетевого интерфейса. Чтобы изменить IP адрес, маску подсети и шлюз для сетевого интерфейса:
New-NetIPAddress –IPAddress 192.168.1.80 -DefaultGateway 192.168.1.1 -PrefixLength 24 -InterfaceIndex 8
Можно задать IP адрес, представив его в виде более массива (более наглядно):
$ipParams = @InterfaceIndex = 8
IPAddress = "192.168.1.22"
PrefixLength = 24
AddressFamily = "IPv4"
>
New-NetIPAddress @ipParams
Командлет New-NetIPAddress можно использовать для добавления второго IP адреса на сетевой интерфейс .
Если статический IP адрес уже настроен и нужно изменить его, используется командлет Set-NetIPAddress:
Set-NetIPAddress -InterfaceIndex 8 -IPAddress 192.168.1.90
Чтобы на интерфейсе отключить получение IP адреса от DHCP, выполните:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled
Для просмотра таблицы маршрутизации используется командлет Get-NetRoute. Чтобы добавить новый маршрут, используется New-NetRoute:
New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.0.1" -InterfaceIndex 8
Отключим IPv6 протокол для сетевого интерфейса:
Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$false -ComponentID ms_tcpip6
Set-DnsClientServerAddress: настроить адреса DNS серверов
Чтобы задать адреса первичного и вторичного DNS серверов в Windows, используется командлет Set-DNSClientServerAddress. Например:
Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.1.11,10.1.1.11
Можно также задать DNS сервера через массив:
$dnsParams = @InterfaceIndex = 8
ServerAddresses = ("8.8.8.8","8.8.4.4")
>
Set-DnsClientServerAddress @dnsParams
После изменения настроек DNS, можно очистить DNS кэш:
PowerShell: Настройка получения IP адреса от DHCP сервера
Чтобы сетевой интерфейс компьютера получал динамический IP адрес от DHCP сервера, выполните команду:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled
Очистите настройки DNS серверов:
Set-DnsClientServerAddress –InterfaceIndex 8 -ResetServerAddresses
И перезапустите интерфейс для получения IP адреса:
Restart-NetAdapter -InterfaceAlias Ethernet0
Если ранее у вас был настроен шлюз, удалите его:
Set-NetIPInterface -InterfaceAlias Ethernet0| Remove-NetRoute -Confirm:$false
Удаленное изменение IP/DNS настроек в Windows
Вы можете использовать PowerShell чтобы удаленно изменить настройки IP адресов или DNS серверов на нескольких удаленных компьютерах. Допустим, ваша задача – изменить настройки DNS для всех серверов в указанном контейнере AD. Для получения списка компьютеров в скрипте ниже примере используется командлет Get-ADComputer , а удаленное подключение к компьютерам выполняется через WinRM (командлет Invoke-Command):
Читайте также: