- Обзор
- Переменные
- Шаг 1: Проверить текущую сетевую конфигурацию
- Шаг 2: Переключение с DHCP на статический IP
- Шаг 3: Настроить DNS-серверы
- Шаг 4: Настройка приоритета для нескольких сетевых интерфейсов
- Шаг 5: Проверить подключение
- Шаг 6: Отключение IPv6 (при необходимости)
- Шаг 7: Рекомендации
- Включение / отключение сетевого адаптера
- Удаление статического IP и возврат к DHCP
- Заключение
Обзор
В этой статье рассматривается, как управлять настройками сети в Windows Server с помощью PowerShell.
Описаны статическая конфигурация IP, настройка DNS, приоритет маршрутизации и нюансы работы с несколькими сетевыми адаптерами (NIC).
Переменные
| Переменная | Пример | Описание |
|---|---|---|
<<INTERFACE_ALIAS>> |
Ethernet0 |
Имя сетевого адаптера |
<<IP_ADDRESS>> |
192.168.10.100 |
Статический IP-адрес |
<<PREFIX_LENGTH>> |
24 |
Длина префикса подсети (например: 255.255.255.0 → 24) |
<<GATEWAY>> |
192.168.10.1 |
Основной шлюз |
<<DNS1>> |
192.168.10.10 |
Основной DNS-сервер |
<<DNS2>> |
8.8.8.8 |
Вторичный DNS-сервер (необязательно) |
Шаг 1: Проверить текущую сетевую конфигурацию
Выведите список адаптеров и их IP-настройки.
# Список адаптеров
Get-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed
# Проверить IP-конфигурацию
Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, PrefixLength, DefaultGateway, PrefixOrigin
| OriginType | Значение | Примечание |
|---|---|---|
| Manual | Статический адрес, заданный вручную | Настроен через PowerShell или графический интерфейс |
| DHCP | Адрес, выданный сервером DHCP | Активируется командой Set-NetIPInterface -Dhcp Enabled |
| WellKnown | Системный (link-local / APIPA) адрес | Присваивается автоматически, если DHCP недоступен (169.254.x.x) |
Шаг 2: Переключение с DHCP на статический IP
Отключите DHCP и задайте постоянный IP-адрес.
# Отключить DHCP
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Disabled
# Удалить DHCP-адрес (если существует)
Get-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -AddressFamily IPv4 |
Where-Object { $_.PrefixOrigin -eq "Dhcp" } |
Remove-NetIPAddress -Confirm:$false
# Назначить статический IP
New-NetIPAddress `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-IPAddress "<<IP_ADDRESS>>" `
-PrefixLength <<PREFIX_LENGTH>> `
-DefaultGateway "<<GATEWAY>>"
Внимание:
КомандуRemove-NetIPAddressиспользуйте только для удаления адресов, назначенных DHCP.
Если выполнить её на активном адаптере удалённого подключения, соединение будет потеряно.
Шаг 3: Настроить DNS-серверы
Задайте DNS и убедитесь, что изменения применились.
# Настроить DNS
Set-DnsClientServerAddress `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ServerAddresses ("<<DNS1>>","<<DNS2>>")
# Проверить конфигурацию
Get-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>"
Очистите кэш DNS и протестируйте разрешение имён.
Clear-DnsClientCache
Resolve-DnsName "www.microsoft.com"
Шаг 4: Настройка приоритета для нескольких сетевых интерфейсов
Если на сервере несколько сетевых карт, приоритет маршрутизации (InterfaceMetric) следует задать вручную.
Чем меньше значение, тем выше приоритет.
# Проверить текущие приоритеты
Get-NetIPInterface | Sort-Object -Property InterfaceMetric |
Select-Object InterfaceAlias, AddressFamily, InterfaceMetric
# Изменить приоритет (например, для административной сети)
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -InterfaceMetric 10
Рекомендуемые значения:
- Административная сеть:
10- Сеть резервного копирования:
20–50- Кластер / iSCSI:
100и выше
Шаг 5: Проверить подключение
Проверьте доступность шлюза и работу DNS.
# Проверить доступ к шлюзу
Test-Connection "<<GATEWAY>>" -Count 4
# Проверить разрешение DNS
Resolve-DnsName "www.microsoft.com"
Примечание:
Если DNS не работает, перезапустите клиентский сервис:net stop dnscache && net start dnscache
Шаг 6: Отключение IPv6 (при необходимости)
По умолчанию IPv4 и IPv6 работают параллельно. Если IPv6 не используется, его можно отключить для предотвращения лишних маршрутов и нестабильного разрешения имён.
# Проверить состояние IPv6
Get-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
# Отключить IPv6
Disable-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6" `
-PassThru
# Проверить снова
Get-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
Чтобы снова включить IPv6:
Enable-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
Шаг 7: Рекомендации
- Закрепите имена адаптеров
Чтобы избежать путаницы после обновлений, задайте постоянные имена:Rename-NetAdapter -Name "<<INTERFACE_ALIAS>>" -NewName "LAN-Primary" - Удаляйте ненужные маршруты
Очистите неправильные или дублирующиеся маршруты:Get-NetRoute -AddressFamily IPv4 Remove-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceAlias "BackupNIC" -Confirm:$false
Включение / отключение сетевого адаптера
# Отключить адаптер
Disable-NetAdapter -Name "<<INTERFACE_ALIAS>>" -Confirm:$false
# Включить адаптер
Enable-NetAdapter -Name "<<INTERFACE_ALIAS>>"
Удаление статического IP и возврат к DHCP
Remove-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -IPAddress "<<IP_ADDRESS>>" -Confirm:$false
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Enabled
Заключение
PowerShell позволяет точно и воспроизводимо управлять сетевыми настройками Windows Server.
В системах с несколькими NIC критически важно контролировать приоритет маршрутизации и настройку DNS.
Автоматизация этих действий на этапе развёртывания обеспечивает стабильную и предсказуемую сетевую инфраструктуру.
