Windows server dhcp server options

Данная статья описывает процедуру установки и настройки DHCP сервера на базе Windows Server 2019. В статье описаны особенности установки и настройки DHCP роли, создания областей DHCP, настройки их параметров и резервации статических адресов. Мы рассмотрим как привычный способ настройки параметров DHCP сервера через графическую консоль, так и настройку DHCP из командной строки PowerShell.

Протокол DHCP (Dynamic Host Configuration Protocol) используется для автоматического назначения сетевых настроек (IP адрес, маска подсети, шлюз, DNS сервера и т.д.) устройствам в вашей сети (компьютеры, ноутбуки, сканеры, принтеры и т.д.). Также DHCP сервер позволяет более эффективно использовать адресное пространство, избегать конфликта IP адресов в сети и централизованно управлять сетевыми параметрами на клиентских устройствах.

Содержание:

  • Установка роли DHCP сервера в Windows Server 2019/2016
  • Настройка DHCP областей в Windows Server
  • Резервация IP адресов на DHCP сервере
  • Настройка и управление DHCP сервером с помощью PowerShell

Установка роли DHCP сервера в Windows Server 2019/2016

В этом примере мы установим DHCP сервер на хосте с Windows Server 2019 и IP адресом 192.168.13.4. Вы можете использовать как Server Core версию, так и Full GUI. В маленькой инфраструктуре допустимо устанавливать DHCP сервер на сервер с ролью контроллера домена Active Directory.

Обязательно назначьте статический IP адрес серверу с ролью DHCP сервер. При установке роли DHCP из консоли PowerShell на сервере с автоматическим получением IP адреса появляется предупреждение:

Configure at least one static IP address on your computer before installing DHCP.
WARNING: The following recommended condition is not met for DHCP: No static IP addresses were found on this computer. If the IP address changes, clients might not be able to contact this server. Please configure a static IP address before installing DHCP Server.

Установить роль DHCP Server можно из консоли Server Manager (Add Roles and Features -> Server Roles).

установка роли DHCP server в windows server 2019

После установки роли DHCP роли нужно выполнить Post-Deployment Configuration. Для этого в консоли Server Manager щелкните по уведомлению и выберите Complete DHCP configuration.

выберите Complete DHCP configuration

Вам будет предложено аутентифицировать новый DHCP сервер в Active Directory (экран Authorization). Для авторизации DHCP сервера в AD учетная запись должна состоять в доменной группе Enterprise Admins.

Если у вас нет прав на авторизацию DHCP в AD, вы можете указать, чтобы ваш DHCP сервер запускался без проверки авторизации в домене:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters" -Name DisableRogueDetection -Value 1 -Force

авторизовать сервер DHCP в Active Directory

Также вы можете установить и настроить DHCP роль в Windows Server из консоли PowerShell.

Установка роли DHCP:

Install-WindowsFeature DHCP –IncludeManagementTools

Проверьте, что роль и инструменты управления RSAT-DHCP установлены:

Get-WindowsFeature -Name *DHCP*| Where Installed

установка DHCP сервера с помощью powershell

Авторизуйте DHCP сервер в Active Directory (укажите DNS имя сервера и IP адрес, который будет использоваться DHCP клиентами):

Add-DhcpServerInDC -DnsName hq-dc01.contoso.com -IPAddress 192.168.13.4

Создайте локальные группы безопасности DHCP сервера:

Add-DhcpServerSecurityGroup

Чтобы Server Manager перестал показывать уведомление о том, что DHCP роль требует настройки, выполните команду:

Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12 -Name ConfigurationState -Value 2

Перезапустите службу DHCPServer:

Restart-Service -Name DHCPServer -Force

База данных и логи DHCP сервера находятся в каталоге
%systemroot%\system32\dhcp
.

  • dhcp.mdb — файл базы данных сервера DHCP’;
  • j50.log – транзакционный журнал (используется при восстановлении конфигурации DHCP);
  • j50.chk — файл контрольной точки;
  • tmp.edb — временный рабочий файл DHCP-сервера.

Настройка DHCP областей в Windows Server

После установки роли DHCP вам нужно создать DHCP области (Scopes), которые описывают диапазоны IP адресов и другие настройки, выдающиеся сервером клиентам.

Для управления сервером DHCP используется консоль dhcpmgmt.msc (вы можете управлять DHCP сервером локально или с удаленного компьютера с установленным RSAT). Запустите консоль DHCP, разверните ваш сервер -> IPv4.

Чтобы создать новую область выберите New Scope.

создать новую dhcp область

Укажите название DHCP области.

название DHCP области

Укажите диапазон IP адресов, который будет выдаваться этой областью и маску сети. В этом примере я хочу использовать эту DHCP область для обслуживания подсети 192.168.100.0/24. В рамках этой сети DHCP сервером будет назначаться динамические IP адреса из диапазона 192.168.100.50 — 192.168.100.250. В следующем окне можно добавить исключения в этот диапазон (Add Exclusions and Delay).

диапазон IP адресов области DHCP

Далее нужно указать длительность аренды (Lease Duration) IP адреса DHCP клиентом (по умолчанию 8 дней, менять без особой необходимости не нужно).

срока аренды адреса на dhcp

Укажите, что вы хотите настроить дополнительный параметры DHCP области.

настроить опции dhcp области .

Укажите IP адрес шлюза в подсети, который должен назначаться клиентам (в нашем примере это 192.168.100.1).

задать адрес шлюза по-умолчанию для dhcp области

Затем укажите имя домена и адреса DNS серверов, которые будут назначены клиентам DHCP.

настройки DNS для DHCP области

Осталось активировать DHCP область (разрешить ей обслуживать клиентов).

активировать DHCP зону

DHCP сервер может выдавать клиентам различный настройки (кроме IP адреса). Для этого используются Scope Options.

В Windows Server DHCP можно настроить глобальные настройки области или Scope Options для каждой области.

опции DHCP scope

Ранее мы уже настроили три опции области:

  • 003 Router
  • 006 DNS Server
  • 015 DNS Domain Name

Можно добавить и другие опции (NTP сервера, PXE и т.д.).

В разделе Server Options DHCP сервера можно настроить глобальные опции, которые будут наследуются всеми областями. Но вы можете переопределить глобальные настройки в настройках каждой области (опции области имеют приоритет над опциями сервера).

настроить параметры DHCP сервера

Один DHCP сервер может обслуживать сотни удаленных подсетей и VLAN. Поэтому вы можете создать на нем несколько областей. Главное, чтобы в каждой из подсетей был настроен ретранслятор (DHCP relay agent), который пересылает широковещательные DHCP-запросы на указанный DHCP сервер. В терминах Cisco DHCP ретранслятор называется ip helper. Вы можете настроить DHCP Relay даже на Windows Server.

Протокол DHCP в качестве транспорта использует протокол UDP. Пакеты от клиента к серверу передаются по порту 67 UDP, обратно через UDP 68

Резервация IP адресов на DHCP сервере

По умолчанию DCHP сервер выдает клиентам динамические адреса. Это означает что IP адрес у любого клиента может меняться. Если вы хотите, чтобы определенные устройства всегда получали от DHCP сервера один и тот же адрес, вы можете его зарезервировать (например, для сетевых принтеров, которые настроены у пользователей).

Для DHCP резервации выберите область и перейдите в секции Reservation. В меню выберите New Reservation.

Резервация IP адреса на DHCP

При создании резервации нужно указать IP адрес, который нужно сохранить за клиентом и его MAC адрес (уникальное значение). MAC адрес в Windows можно получить из результатов команды
ipconfig /all
или с помощью PowerShell
get-netadapter|select name,macaddress
). Опционально можно указать имя и описание устройства.

Укажите MAC адрес устройства для резервации IP адреса на DHCP

Также вы можете зарезервировать текущий динамический адрес за устройством, найдя его в разделе Address Leases. Щелкните по устройству и выберите Add to Reservation.

Add to Reservation

Настройка и управление DHCP сервером с помощью PowerShell

Все операции по настройке и управлению DHCP сервером на Windows Server 2019/2016 можно выполнять из консоли PowerShell. Рассмотрим основные команды управления DHCP. Для этого используется модуль DHCPServer. Импортируйте модуль в сессию:

Import-Module DHCPServer

Вывести полный список командлетов в моделе DHCP можно так:

Get-Command -Module DHCPServer

PowerShell модуль DHCPServer

Следующая команда выведет список авторизованных DHCP серверов в Active Directory:

Get-DhcpServerInDC

Вывысти список DHCP серееров в домене

Вывести список DHCP областей на указанном сервере:

Get-DhcpServerv4Scope –ComputerName msk-dhcp1

Если нужно показать все параметры области (Delay, Description, Name и т.д.):

Get-DhcpServerv4Scope –ComputerName msk-dhcp1| FL *

Список областей на DHCP сервере

Если нужно отобразить данные о IPv6 областях:

Get-DHCPServerv6Scope

Получить настройки для конкретной области:

Get-DhcpServerv4Scope –ComputerName msk-dhcp1 –ScopeID 10.10.1.0

Создадим новую (неактивную) область с диапазоном адресов с 192.168.113.50 до 192.168.113.250:

Add-DhcpServerv4Scope -Name “Brahch1 192.168.113.0” -StartRange 192.168.113.50 -EndRange 192.168.113.250 -SubnetMask 255.255.255.0 -State InActive

Настроить следующие параметры DHCP сервера: DNS сервер, домен и адрес шлюза по-умолчанию:

Set-DhcpServerv4OptionValue -ScopeID 192.168.113.0 -DnsDomain contoso.com -DnsServer 192.168.13.4 -Router 192.168.113.1

Добавить исключения в DHCP область:

Add-DhcpServerv4ExclusionRange -ScopeID 192.168.113.0 -StartRange 192.168.113.90 -EndRange 192.168.113.100

Активировать DHCP область:

Set-DhcpServerv4Scope -ScopeID 192.168.113.0 -State Active

Add-DhcpServerv4Scope - создать и настроить области на DHCP сервере командами PowerShell

Для удобства можно использовать такую команду PowerShell при создании новой области:

$HashArgs = @{
'Name' = 'EKB Office Scope';
'Description' = 'workstations';
'StartRange' = '192.168.140.10';
'EndRange' = '192.168.140.200';
'SubnetMask' = '255.255.255.0';
'State' = 'Active';
'LeaseDuration' = '1.00:00:00';
}
Add-DhcpServerv4Scope @HashArgs

Опции для DHCP сервера добавляется так (к примеру, WPAD):

Add-DhcpServerv4OptionDefinition -ComputerName msk-dhcp1 -Name WPAD -OptionId 252 -Type String

Вывести список настроенных опций DHCP сервера можно так:

Get-DHCPServerv4OptionValue -ComputerName msk-dhcp1 | Format-List

Выведем список настроенных параметров зоны:

Get-DHCPServerv4OptionValue -ComputerName msk-dhcp1 -ScopeId 10.10.1.0 | Format-List

Показать текущий список арендованных адресов для области 10.10.1.0:

Get-DHCPServerv4Lease -ScopeId 10.10.1.0 -ComputerName msk-dhcp1

Список аренд на DHCP сервере

Создать DHCP резервацию для клиента, которому назначен динамический IP адрес 10.10.1.88 (конвертировать выданный адрес в зарезервированный):

Get-DhcpServerv4Lease -ComputerName msk-dhcp1 -IPAddress 10.10.1.88| Add-DhcpServerv4Reservation -ComputerName msk-dhcp1

Можно массово зарезервировать IP адреса для компьютеров по списку из csv файла. Для этого создайте текстовый файл в формате:

ScopeId,IPAddress,Name,ClientId,Description
10.10.1.0,10.10.1.88,Client1,ba-ab-5c-3d-4e-6f,Reservation PC-msk-s1
10.10.1.0,10.10.1.89,Client2,ba-ab-5c-5d-2e-3f,Reservation PC-msk-s2

Сохраните файл с именем
c:\dhcp\DHCPReservations.csv
и запустите следующую команду, которая импортирует данные из csv файла и создаст DHCP резервации для клиентов:

Import-Csv –Path c:\dhcp\DHCPReservations.csv | Add-DhcpServerv4Reservation -ComputerName msk-dhcp1

Отключить область на DHCP сервере:

Set-DhcpServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0-State InActive

Удалить область с DHCP сервера:

Remove-DHCPServerv4Scope -ComputerName msk-dhcp1-ScopeId 10.10.1.0 -Force

Возможно получить статистику DHCP сервера (количество областей, резерваций, процент использования адресов и пр.).

Get-DhcpServerv4Statistics -ComputerName msk-dhcp1

Статистика использования DHCP сервера

Аналогичная информация для конкретной области может быть получена с помощью командлета Get-DhcpServerv4ScopeStatistics.

Конфигурацию DHCP сервера можно экспортировать в указанный XML файл с помощью команды:

Export-DHCPServer -ComputerName msk-dhcp1 -File C:\dhcp\dhcp-export.xml

Совет. Заданием с такой командой в планировщике задач можно реализовать регулярное резервное копирование конфигурации DHCP сервера.

В дальнейшем эти настройки DHCP сервера можно импортировать (перенести) на другой DHCP сервер:

Import-DHCPServer -ComputerName msk-dhcp2 -File C:\dhcp\dhcp-export.xml -BackupPath C:\dhcpbackup\

Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on Internet Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP addresses for interfaces and services. With DHCP, network devices request IP addresses and networking parameters automatically from a DHCP server, reducing the need for a network administrator or a user to configure these settings manually.

DHCP servers can be configured to provide optional data that fully configures TCP/IP on a client. Some of the most common DHCP option types configured and distributed by the DHCP server during leases include default gateway, router, DNS, and WINS parameters.

This guide describes advanced DHCP options supported on Grandstream products. Administrators can use these DHCP options for easy setup, to provide specific configuration per device model, synchronize time with NTP servers, configure ACS server URL on devices and more…

ENVIRONMENT SETUP

This chapter provides steps to setup a minimal test environment to run DHCP options described in this guide using DHCP-server via server manager in Windows server 2012.

Administrators can use other Windows or Linux based DHCP servers at their convenience.

: This chapter can be skipped if a DHCP server supporting customizing options is already setup.

Step 1: Install DHCP via Server Manager

Before starting the role installation, make sure the computer has a static IP address. In this guide, we will use Windows Server 2012 with static IP address: 192.168.1.1.

  1. Launch the “Add Roles and features Wizard” from the Dashboard on Server Manager, and select “Role based or feature based installation”.
  2. After choosing the server from the “server pool”, select DHCP server from the roles list and go through the installation steps.
  3. The installation will be completed, and the last page of the wizard is the following figure:
Figure 1: DHCP Role Installation
  1. Complete the steps required for the post-install configuration by clicking on “complete DHCP configuration”.

Step 2: DHCP Server Basic Configuration

The first step in the installed DHCP server configuration is to create scopes (Ranges of IP addresses) the administrator wants to lease out to clients.

  1. Type: dhcpmgmt.msc Under “Windows Run” to open DHCP Management.
C:\Users\Mohamed\Pictures\33.png
Figure 2: DHCP Management
  1. Under the domain name, right click the “IPv4”, and then click on “New Scope” to open the New Scope wizard:
C:\Users\Mohamed\Pictures\33.png
Figure 3: New Scope Wizard
  1. Enter the Name of the new scope and its description, and set the range of IP addresses to lease to DHCP clients. Leave the Length 24 by default and click Next.
C:\Users\Mohamed\Pictures\33.png
Figure 4: IP Address Range
  1. The administrator can configure a restricted range of IP addresses by entering the range in “Add exclusions” and setting the lease duration.
  2. If you have a Router (Default gateway), set the router IP address and click Next.
  3. Set the domain Name of the DNS server and its IP address, and click Next.
  4. Activate the scope by clicking “Yes, I want to activate this scope now”, and click Next.
  5. Click on Finish to close the wizard.
C:\Users\Mohamed\Pictures\33.png
Figure 5: Completing the New Scope Wizard

DHCP OPTIONS

To configure the DHCP options, the method includes the following steps:

  1. In the DHCP MMC, right-click on IPv4 and select “Set Predefined Options”.
C:\Users\Mohamed\Pictures\33.png
Figure 6: Predefined Options
  • Option Class: Set the Vendor Class serving to enhance DHCP functionalities (The admin can create a vendor class: DHCP MMC /IPv4 /Define Vendor Classes).
  • Option Name: Set the option needed.
  • Add: Increase the number of options by adding a new one.
  • Edit: Modify a specific option.
  • Value: Set the value of the chosen option.
  1. Just after predefining the options and their values, click on “Server Options” to choose the options.
C:\Users\Mohamed\Pictures\33.png
Figure 7 : Server Options

DHCP Option 2 (Time Offset)

Description

DHCP option 2 informs the client about the time zone offset (in seconds).

A positive offset indicates a location east of the zero meridian and a negative offset indicates a location west of the zero meridian.

Please refer to RFC2132 for more details.

Example

C:\Users\Mohamed\Pictures\33.png
Figure 8: DHCP option 2 (Time offset)

In above example, GMT+1 was set as an offset value

(One hour * 60 minutes/hour * 60 seconds/minute) = 3600.

Screenshots

Below screenshots of DHCP Discover/Offer for Option 2:

C:\Users\Mohamed\Pictures\33.png
Figure 9: DHCP Discover Request for Option 2
C:\Users\Mohamed\Pictures\33.png
Figure 10: DHCP Offer Reply for the Option 2

To set Pacific Standard Time (GMT-8) for example. This field would be filled with “-28800”. (Eight hours * 60 minutes/hour * 60 seconds/minute).

DHCP Option 42 (NTP Server)

Description

DHCP option 42 specifies a list of NTP servers available to the client by IP address, so that the phone may obtain the date and time from the server.

Please refer to RFC2132 for more details.

Example

C:\Users\Mohamed\Pictures\33.png
Figure 11: DHCP Option 42

Screenshots

Below screenshots of DHCP Discover/Offer for Option 42.

C:\Users\Mohamed\Pictures\33.png
Figure 12: DHCP Discover Request for Option 42
C:\Users\Mohamed\Pictures\33.png
Figure 13: DHCP Offer Reply for the Option 42

DHCP Option 66 (TFTP Server Name)

Description

DHCP option 66 provides the IP address or the hostname of a single provisioning server where devices will be redirected to get their configuration files. Without this DHCP option, a manual configuration is requested on each phone the first time it boots.

Please refer to RFC2132/RFC5859 for more details.

Example

66
Figure 14: DHCP Option 66

If http:// is not specified, default TFTP protocol is used for configured server.

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 15: DHCP Discover Request for Option 66
C:\Users\Mohamed\Pictures\33.png
Figure 16: DHCP Offer Reply for the Option 66

DHCP Option 43 (Vendor Specific Information)

Description

This option is used by clients and servers to exchange vendor-specific information.

DHCP server can send one or more vendor specific parameters to clients, encoded in the form option_code/value_length/value in hexadecimal format.

Please refer to RFC2132 for more details.

Example

In following example, DHCP server is configured to send CWMP information (ACS URL http://192.168.1.18) encapsulated in option 43.

C:\Users\Mohamed\Pictures\33.png
Figure 17: DHCP Option 43

Above DHCP option 43 contains the following:

0x01 (CWMP option for ACS URL)

0x13 (hex of decimal 19 = length of the URL)

19 bytes forming the URL in hexadecimal format (http://192.168.1.18)

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 18: DHCP Discover Request for Option 43
C:\Users\Mohamed\Pictures\33.png
Figure 19: DHCP Offer Reply for the Option 43

DHCP Option 12 (Host Name)

Description

This option specifies the name of the client.

Option 12 is used to identify the client’s name against the DHCP server to make special configuration from the server side, this is similar to option 60 and 125.

Please refer to RFC1533/RFC2132 for more details

Screenshots

Below screenshot is taken from GXP2140, the value of Option 12 can be modified from the Phone WebGUI under Network Settings 🡪 Basic Settings 🡪 Host Name

C:\Users\Mohamed\Pictures\33.png
Figure 20: Host Name under web GUI
C:\Users\Mohamed\Pictures\33.png
Figure 21: DHCP Discover Advertisement for Option 12

DHCP Option 60 (Vendor Class Identifier)

Description

Option 60 is used by clients to optionally identify the vendor type and configuration of a DHCP client.

When using multiple devices from different vendors, DHCP server can provide specific configuration for each client based on received Option 60.

Please refer to RFC1533/RFC2132 for more details.

Example

In following example, option 60 is configured to identify GXP2170 with its value “Grandstream GXP2170 dslforum.org”.

The first step is to add the option 60 under “Predefined options and values 🡪 Add”.

C:\Users\Mohamed\Pictures\33.png
Figure 22: DHCP Option 60 Predefinition

Client packets with configured “option 60” but have no string specified (a string of 0 length) are handled accordingly.

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 23: DHCP Discover Advertisement for Option 6

DHCP Option 120 (SIP Server)

Description

The option is used to provide SIP server IP address or FQDN to SIP clients.

Please refer to RFC3361 for more details.

Example

In the following example, the DHCP option 120 is configured by adding and defining a new option under “Predefined Options and Values”.

C:\Users\Mohamed\Pictures\33.png
Figure 24: DHCP Option 120

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 25: DHCP Discover Request for Option 120
C:\Users\Mohamed\Pictures\33.png
Figure 26: DHCP Offer Reply for Option 120

DHCP Option 125 (Vendor-Identifying Vendor Options)

Description

DHCP clients may use this option to identify the vendor that manufactured the hardware on which the client is running the software in use in a unique way.

Option 125 is similar to option 12 & 60 but advertising more parameters of a device:

  • DeviceManufacturerOUI
  • DeviceSerialNumber (Grandstream products set DeviceSerialNumber with MAC address)
  • DeviceProductClass

Please refer to RFC3925 for more details.

Example

Add the option under “Predefined options and values” with data type: Encapsulated.

C:\Users\Mohamed\Pictures\33.png
Figure 27: DHCP Option 125

Screenshots

During DHCP initiation, DHCP Discover/DHCP Request including option 125 are sent from client, the server checks V-I Vendor-specific information, if matching configured values, specific configuration will be provided to client, otherwise, common configuration is provided to client.

Figure 28: DHCP Discover Advertisement for Option 125

Advertised information in above option 125 are:

  • DeviceManufacturerOUI = 000b82
  • DeviceSerialNumber = DeviceMACaddress = 000b82XXXXXX
  • DeviceProductClass = GXV3370

DHCP Option 132 (Vlan ID)

Description

This option allows to assign a VLAN ID tag to devices during booting stage/DHCP renewal.

Please refer to RFC4578 / IEEE_802.1Q for more details.

Example

  • Enable the DHCP VLAN Override by setting it to: “DHCP Option 132 and DHCP Option 133” under the web GUI of your IP Phone supporting the DHCP option 132.
  • Disable LLDP because the phone cannot support LLDP and option 132 at the same time as they conflict.
Figure 29: Enable DHCP Option 132 under GXV3370 web GUI
Figure 30: Disable LLDP under GXV3370 web GUI
  • Add the Option 132 under “Predefined options and values” with data type: “String” and select “Array”.
C:\Users\Mohamed\Pictures\33.png
Figure 31: DHCP Option 132

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 32: DHCP Discover Request for Option 132
C:\Users\Mohamed\Pictures\33.png
Figure 33: DHCP Offer Reply for Option 132

In above screenshot, value 3230 is 20 (vlan-id) converted from text to hexadecimal.

After getting VLAN ID from DHCP server and finishing DHCP process, the device will send a second DHCP discover its new assigned VLAN tag to get an IP address on the VLAN range.

DHCP Option 133 (QoS Priority Level)

Description

This option assigns the priority within an Ethernet frame header when using VLAN tag, it specifies a priority value between 0 and 7 to differentiate the traffic priority.

Please refer to RFC4578 / IEEE_P802.1p for more details

Example

  • Enable the DHCP VLAN Override by setting it to: “DHCP Option 132 and DHCP Option 133” under the web GUI of your IP Phone supporting the DHCP option 132.
  • Disable LLDP because the phone cannot support LLDP and option 132 at the same time as they conflict.
Figure 34: Enable DHCP Option 133 under GXV3370 web GUI
Figure 35: Disable LLDP under GXV3370 web GUI
  • Add the Option 133 under “Predefined options and values” with data type: “String” and select “Array”.
C:\Users\Mohamed\Pictures\33.png
Figure 36: DHCP Option 133

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 37: DHCP Discover Request for Option 133
C:\Users\Mohamed\Pictures\33.png
Figure 38: DHCP Offer Reply for Option 133

In above screenshot, value 35 is 5 (priority level) converted from text to hexadecimal.

DHCP Option 150 (TFTP Servers List)

Description

DHCP option 150 provides one or more IP addresses of TFTP server(s) where devices will be redirected to download their configuration files. Without this DHCP option, a manual configuration is requested on each phone the first time it boots.

Please refer to RFC5859 for more details.

Example

Using a GXP Color phone for example, go to the WebGUI under “Maintenance 🡪 Upgrade and Provisioning”, set the “Additional Override DHCP Option” to Option 150.

C:\Users\Mohamed\Pictures\33.png
Figure 39: DHCP Option 150 under the IP Phone web interface

Predefine the option 150 by adding it and setting the IP addresses of the TFTP servers needed by the devices to be configured.

C:\Users\Mohamed\Pictures\33.png
Figure 40: DHCP Option 150

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 41: DHCP Discover Request for Option 150
C:\Users\Mohamed\Pictures\33.png
Figure 42: DHCP Offer Reply for Option 150

DHCP Option 160 (Configuration Server Address)

Description

Similar to option 66, DHCP option 160 can provide one or more configuration server(s) to clients to get automatically provisioned. Without this DHCP option, a manual configuration is requested on each phone the first time it boots.

Example

Using a GXP Color phone for example, go to the WebGUI under “Maintenance 🡪 Upgrade and Provisioning”, set the “Additional Override DHCP Option” to Option 160.

C:\Users\Mohamed\Pictures\33.png
Figure 43: DHCP Option 160 under the IP Phone web interface
C:\Users\Mohamed\Pictures\33.png
Figure 44: DHCP Option 160

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 45: DHCP Discover Request for Option 160
C:\Users\Mohamed\Pictures\33.png
Figure 46: DHCP Offer Reply for Option 160

In above screenshot, the value of the TFTP server was converted to hexadecimal. The phone contacts this IP address to get provisioned after receiving TFTP server value.

DHCP Option 242 (Avaya IP Phones)

Description

Once this option enabled, the phone will use configuration info issued by DHCP sever.

Option 242 can include following parameters:

  • MC IP address
  • VLAN configuration
  • HTTP server, Proxy
  • Transport Protocol

Example

C:\Users\Mohamed\Pictures\33.png
Figure 47: DHCP Option 242

Screenshots

C:\Users\Mohamed\Pictures\33.png
Figure 48: DHCP Discover Request for Option 242
C:\Users\Mohamed\Pictures\33.png
Figure 49: DHCP Offer Reply for Option 242

In above screenshot, MCIPADD and HTTPSRVR are converted to hexadecimal.

SUPPORTED DEVICES

Following table shows Grandstream products supporting DHCP Options:

DHCP Options

Grandstream Models

GXP16XX

GXP17XX

GXP21XX

GRP261X

GRP260X

GVC320X

GAC2500

GXV33XX

GXW42XX

HT8XX

DP75X

Option 2

Option 12

Option 42

Option 43

Option 60

Option 66

Option 120

Option 125

Option 132

Option 133

Option 150

Option 160

Option 242

The GVC3212 does not support DHCP option 120.

Время на прочтение
10 мин

Количество просмотров 96K

Сервис, выдающий IP-адреса устройствам в локальной сети, кажется одним из самых простых и всем знакомых. Тем не менее у моих младших коллег до сих пор временами всплывают вопросы вроде «компьютер что-то получает какой-то странный адрес», а появление второго DHCP-сервера в одном сетевом сегменте вызывает некоторый трепет или проблемы в работе сети.

Чтобы у прочитавших этот материал такие вопросы не возникали, мне хотелось бы собрать в кучу основную информацию про работу механизмов выдачи адресов IP, особенности и примеры настройки отказоустойчивых и защищенных конфигураций. Да и возможно матерым специалистам будет интересно освежить нейронные связи.

Немного теории и решения интересных и не очень практических задач — под катом.

В современной локальной сети выдачей адресов обычно занимаются специализированные сервисы с поддержкой протоколов. Самым популярным из них является DHCP (Dynamic Host Configuration Protocol).

Zeroconf или зачем нам вообще какой-то DHCP

В принципе, специально для функционирования небольших сетей был создан стек технологий под названием Zeroconf. Он позволяет обойтись без каких-либо централизованных сервисов и серверов, включая, но не ограничиваясь выдачей IP-адресов. Им закрываются (ну, или почти закрываются) следующие вопросы:

Получение IP-адреса (Automatic Private IP Addressing или APIPA). Система сама назначает себе IP из сети 169.254.0.0/16 (кроме сеток /24 в начале и конце диапазона), основываясь на MAC-адресе и генераторе псевдослучайных чисел. Такая система позволяет избежать конфликтов, а адрес из этой сети называют link-local — в том числе и потому, что эти адреса не маршрутизируются.

Поиск по имени. Система анонсирует свое сетевое имя, и каждый компьютер работает с ним как с DNS, храня записи у себя в кэше. Apple использует технологию mDNS (Multicast DNS), а Microsoft — LLMNR (Link-local Multicast Name Resolution), упомянутую в статье «Домены, адреса и Windows: смешивать, но не взбалтывать».

Поиск сетевых сервисов. Например, принтеров. Пожалуй, самым известным протоколом является UPnP, который помимо прочего умеет сам открывать порты на роутерах. Протокол довольно сложен, в нем используется целый набор надстроек вроде использования http, в отличие от второго известного протокола — DNS-SD (DNS Service Discovery), который попросту использует SRV-записи, в том числе при работе mDNS.

При всех плюсах Zeroconf — без каких-либо сакральных знаний можно собрать рабочую сеть, просто соединив компьютеры на физическом уровне, — IT-специалистам он может даже мешать.

Немного раздражает, не так ли?

В системах Windows для отключения автонастройки на всех сетевых адаптерах необходимо создать параметр DWORD с именем IPAutoconfigurationEnabled в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters и поставить ему значение 0.

Разумеется, Zeroconf подходит разве что для небольших изолированных сетей (например, встретились с приятелем с ноутбуками, соединили их по Wi-Fi и давай играть Diablo II, не тратя время на какие-то сервера), да и выводить локальную сеть в интернет тоже хочется. Чтоб не мучаться со статическими настройками каждого компьютера, были созданы специальные протоколы, включая героя дня — DHCP.

DHCP и его прародители

Одна из первых реализаций протокола для выдачи IP-адресов появилась более 30 лет назад и называлась RARP (Reverse Address Resolution Protocol). Если немного упростить принцип его работы, то выглядело это так: клиент делал запрос на широковещательный адрес сети, сервер его принимал, находил в своей базе данных привязку MAC-адреса клиента и IP — и отправлял в ответ IP.

Схема работы RARP протокола.

И все вроде работало. Но у протокола были минусы: нужно было настраивать сервер в каждом сегменте локальной сети, регистрировать MAC-адреса на этом сервере, а передавать дополнительную информацию клиенту вообще не было возможности. Поэтому на смену ему был создан протокол BOOTP (Bootstrap Protocol).

Изначально он использовался для бездисковых рабочих станций, которым нужно было не только выдать IP-адрес, но и передать клиенту дополнительную информацию, такую, как адрес сервера TFTP и имя файла загрузки. В отличие от RARP, протокол уже поддерживал relay — небольшие сервисы, которые пересылали запросы «главному» серверу. Это сделало возможным использование одного сервера на несколько сетей одновременно. Вот только оставалась необходимость ручной настройки таблиц и ограничение по размеру для дополнительной информации. Как результат, на сцену вышел современный протокол DHCP, который является совместимым расширением BOOTP (DHCP-сервер поддерживает устаревших клиентов, но не наоборот).

Важным отличием от устаревших протоколов является возможность временной выдачи адреса (lease) и передачи большого количества разной информации клиенту. Достигается это за счет менее тривиальной процедуры получения адреса. Если в старых протоколах схема была простая, вида запрос-ответ, то теперь схема следующая:

  • Клиент ищет сервер широковещательным запросом, запрашивая в том числе и дополнительные настройки.
  • Сервер отвечает клиенту, предлагая ему IP-адрес и другие настройки.
  • Клиент подтверждает принятую информацию широковещательным запросом, указав в подтверждении IP-адрес выбранного сервера.
  • Сервер соглашается с клиентом, отправляя ему запрос, по получении которого клиент уже настраивает сетевой интерфейс или отвергает его.

Схема общения клиента с сервером пересылки и сервером.

Подробнее про схему взаимодействия сервера и клиента и про структуру запросов и ответов можно почитать, например, в материале «Структура, формат и назначение DHCP пакетов».

На нескольких собеседованиях меня спрашивали: «А какой транспорт и порт использует DHCP?» На всякий случай отвечаем: «Сервер UDP:67, клиент UDP:68».

С разными реализациями DHCP-сервера сталкивались многие, даже при настройке домашней сети. Действительно, сейчас сервер есть:

  • На практически любом маршрутизаторе, особенно SOHO.
  • На системах Windows Server. О сервере и его настройке можно почитать в официальной документации.
  • На системах *nix. Пожалуй, самое популярное ПО — ISC DHCP Server (dhcpd) и «комбайн» Dnsmasq.

Конкретных реализаций довольно много, но, например, на SOHO-маршрутизаторах настройки сервера ограничены. В первую очередь это касается дополнительных настроек, помимо классического «IP-адрес, маска, шлюз, сервер DNS». А как раз эти дополнительные опции и вызывают наибольший интерес в работе протокола. С полным списком можно ознакомиться в соответствующем RFC, я же разберу несколько интересных примеров.

Удивительные опции DHCP

В этом разделе я рассмотрю практическое применение опций DHCP на оборудовании MikroTik. Сразу обращу внимание на то, что не все опции задаются очевидно, формат параметров описан в wiki. Следует отметить также то, что опции клиент применяет, только когда сам их попросит. В некоторых серверах можно принудительно отправить настройки: например, в ISC DHCP Server за это отвечает директива dhcp-parameter-request-list, а в Dnsmasq —* *—dhcp-option-force. MikroTik и Windows такого не умеют.

Option 6 и Option 15. Начнем с простого. Настройка под номером 6 — это серверы DNS, назначаемые клиентам, 15 — суффикс DNS. Назначение суффикса DNS может быть полезным при работе с доменными ресурсами в недоменной сети, как я описывал в статье «Как мы сокращали персонал через Wi-Fi». Настройка MikroTik под спойлером.

Настройка MikroTik, option 15

#Добавляем опцию 15. содержимое — сконвертированный в HEX суффикс.

/ip dhcp-server option

add code=15 name=dns-suffix value=0x57687920616c6c207468697320736869743f

#создаем набор опций

/ip dhcp-server option sets

add name=dns option=dns-suffix

#Добавляем опцию к DHCP-серверу для клиентов.

/ip dhcp-server network

set [find comment="wi-fi client dhcp"] dhcp-option-set=dns

Знание, что сервер DNS — это тоже опция, недавно пригодилось мне, когда разным клиентам нужно было выдать разные серверы DNS. Решение вида «выдать один сервер и сделать разные правила dst-nat на 53 порт» не подходило по ряду причин. Часть конфигурации снова под спойлером.

Настройка MikroTik, option 6

#настройка опций, обратите внимание, что ip экранирован одинарными кавычками

/ip dhcp-server option

add code=6 name=google value="'8.8.8.8'"

add code=6 name=cloudflare value="'1.1.1.1'"

#настройка клиентов

/ip dhcp-server lease

add address=10.0.0.2 dhcp-option=google mac-address=11:11:11:11:11:11 server=dhcp

add address=10.0.0.3 dhcp-option=cloudflare mac-address=22:22:22:22:22:22 server=dhcp

Option 66 и Option 67. Эти настройки пришли еще с BOOTP и позволяют указать TFTP-сервер и образ для сетевой загрузки. Для небольшого филиала довольно удобно установить туда микротик и бездисковые рабочие станции и закинуть на маршрутизатор подготовленный образ какого-нибудь ThinStation. Пример настройки DHCP:

/ip dhcp-server option

add name="option66" code=66 value="s'192.168.88.1'"

add name="option67" code=67 value="'pxelinux.0'"

/ip dhcp-server option sets

add name="set-pxe" options=option66,option67

Option 121 и Option 249. Используются для передачи клиенту дополнительных маршрутов, что может быть в ряде случаев удобнее, чем прописывать маршруты на шлюзе по умолчанию. Настройки практически идентичные, разве что клиенты Windows предпочитают вторую. Для настройки параметра маршруты надо перевести в шестнадцатеричный вид, собрав в одну строку маску сети назначения, адрес сети и шлюз. Также, по RFC, необходимо добавить и маршрут по умолчанию. Вариант настройки — под спойлером.

Настройка маршрутов

Предположим, нам нужно добавить клиентам маршрут вида dst-address=10.0.0.0/24 gateway=192.168.88.2, а основным шлюзом будет 192.168.88.1. Приведем это все в HEX:

Соберем все это счастье в одну строку и получим настройку:

/ip dhcp-server option

add code=121 name=classless value=0x0A0000c0a8580200c0a85801

Подробнее можно прочитать в статье «Mikrotik, DHCP Classless Route».

Option 252. Автоматическая настройка прокси-сервера. Если по каким-то причинам в организации используется непрозрачный прокси, то удобно будет настроить его у клиентов через специальный файл wpad (pac). Пример настройки такого файла разобран в материале «Proxy Auto Configuration (PAC)». К сожалению, в MiroTik нет встроенного веб-сервера для размещения этого файла. Можно использовать для этого пакет hotspot или возможности metarouter, но лучше разместить файл где-либо еще.

Option 82. Одна из полезнейших опций — только не для клиента, а для DHCP-релея. Позволяет передать серверу информацию о порте коммутатора, к которому подключен клиент, и id самого коммутатора. Сервер на основе этой информации в свою очередь может выдать уже клиенту какой-то определенный набор настроек или просто занести в лог — чтобы в случае необходимости найти порт подключения клиента, не приходилось заходить на все свитчи подряд (особенно, если они не в стеке).

После настройки DHCP-Relay на маршрутизаторе в информации о клиентах появятся поля Agent Circuit ID и Agent Remote ID, где первое — идентификатор порта коммутатора, а второе — идентификатор самого коммутатора.

Выдача адресов с option 82.

Информация выдается в шестнадцатиричном формате. Для удобства восприятия при анализе журнала DHCP можно использовать скрипты. Например, решение для решения от Microsoft опубликовано в галерее скриптов Technet под названием «Декорирование DHCP опции 82».

Также опция Option 82 активно используется в системе биллинга провайдеров и при защите сети от посторонних вмешательств. Об этом чуть подробнее.

Добавим сети надежности и безопасности

Ввиду простоты протокола и присутствия широковещательных запросов есть эффективные атаки на инфраструктуру — в основном типа MITM («человек посередине»). Атаки производятся посредством поднятия своего DHCP-сервера или релея: ведь если контролировать выдачу сетевых настроек, можно запросто перенаправить трафик на скомпрометированный шлюз. Для облегчения атаки используется DHCP starvation (представляясь клиентом или релеем, злоумышленник заставляет «родной» DHCP-сервер исчерпать свои IP-адреса). Подробнее про реализацию атаки можно почитать в статье «Атакуем DHCP», методом же защиты является DHCP Snooping.

Это функция коммутатора, которая позволяет «привязать» DHCP-сервер к определенному порту. Ответы DHCP на других портах будут заблокированы. В некоторых коммутаторах можно настроить и работу с Option 82 при ее обнаружении в пакете (что говорит о присутствии релея): отбросить, заменить, оставить без изменения.

В коммутаторах MikroTik включение DHCP Snooping производится в настройках бриджа:

#Включаем dhcp-snooping и option 82

/interface bridge

add name=bridge

set [find where name="bridge"] dhcp-snooping=yes add-dhcp-option82=yes

#ставим настраиваем доверенный порт

/interface bridge port

add bridge=bridge interface=ether1

add bridge=bridge interface=ether2 trusted=yes

Настройка в других коммутаторах происходит аналогичным образом.

Стоит отметить, что не все модели MikroTik имеют полную аппаратную поддержку DHCP Snooping — она есть только у CRS3xx.

Помимо защиты от злых хакеров эта функция избавит от головной боли, когда в сети появляется другой DHCP-сервер — например, когда SOHO-роутер, используемый как свич с точкой доступа, сбрасывает свои настройки. К сожалению, в сетях, где встречается SOHO-оборудование, не всегда бывает грамотная структура кабельной сети с управляемыми маршрутизаторами. Но это уже другой вопрос.

Красивая коммутационная — залог здоровья.

К другим методам защиты можно отнести Port Security («привязка» определенного MAC-адреса к порту маршрутизатора, при обнаружении трафика с других адресов порт будет блокироваться), Анализ трафика на количество DHCP-запросов и ответов или ограничение их количества, ну и, конечно, различные системы IPS\IDS.

Если говорить не только о защите сети, но и о надежности, то не лишним будет упомянуть и про возможности отказоустойчивого DHCP. Действительно, при своей простоте DHCP часто бывает одним из ключевых сервисов, и при выходе его из строя работа организации может быть парализована. Но если просто установить два сервера с идентичными настройками, то ни к чему, кроме конфликта IP-адресов, это не приведет.

Казалось бы, можно поделить область выдачи между двумя серверами, и пусть один выдает одну половину адресов, а второй — другую. Вот только парализованная половина инфраструктуры немногим лучше, чем целая.

Разберем более практичные варианты.

В системах Windows Server начиная с 2012 система резервирования DHCP работает «из коробки», в режиме балансировки нагрузки (active-active) или в режиме отказоустойчивости (active-passive). С подробным описанием технологии и настройками можно ознакомиться в официальной документации. Отмечу, что отказоустойчивость настраивается на уровне зоны, поэтому разные зоны могут работать в разном режиме.

Настройка отказоустойчивости DHCP-сервера в Windows.

В ISC DHCP Server для настройки отказоустойчивости используется директива failover peer, синхронизацию данных предлагается делать самостоятельно — например, при помощи rsync. Подробнее можно почитать в материале «Два DHCP сервера на Centos7…»

Если же делать отказоустойчивое решение на базе MikroTik, то без хитростей не обойтись. Один из вариантов решения задачи был озвучен на MUM RU 18, а затем и опубликован в блоге автора. Если вкратце: настраиваются два сервера, но с разным параметром Delay Threshold (задержка ответа). Тогда выдавать адрес будет сервер с меньшей задержкой, а с большей задержкой — только при выходе из строя первого. Синхронизацию информации опять же приходится делать скриптами.

Лично я в свое время изрядно потрепал себе нервов, когда в сети «случайно» появился роутер, подключенный в локальную сеть и WAN, и LAN интерфейсами.

Расскажите, а вам приходилось сталкиваться с проказами DHCP?

After you have set up your first DHCP Scopes, the next step is to configure DHCP Options. What does this mean; Simply put, you set what the individual options of a DHCP client, such as Gateway, DNS, etc., will be when it receives an IP address.

DHCP Options can be configured at two different levels: Server and Scope.

Configuring DHCP Options at the Server level means that all DHCP clients will have the same options regardless of the Scope they belong to. Correspondingly, by adjusting them to the Scope level, then we can have different options for each Scope separately. How you handle it is purely a matter of your infrastructure needs.

Note that if you have configured DHCP options at both Server and Scope levels, the Scope options on the clients prevail.

Generally, setting up Server and Scope Options is a very easy and simple task. Let’s see how it works.

In the DHCP console, expand IPv4 and find the Server Options folder. Here, you’ll see all the settings you’ve already added at the server level.

Configure DHCP Server and Scope Options in Windows Server 2016

To add a new option, right-click Server Options and then click Configure Options.

Configure DHCP Server and Scope Options in Windows Server 2016

In the window, check one or more options and specify its value in the Data entry box. For example, the following figure shows the addition of the Router.

Configure DHCP Server and Scope Options in Windows Server 2016

Configure DHCP Options at Scope level

From the same DHCP console, expand a Scope and go to the Scope Options folder where you will find all the options you have set for this Scope.

To add a new option, right-click Scope Options and then click Configure Options.

Configure DHCP Server and Scope Options in Windows Server 2016

Here, like before, you can add new options by typing what you want and then adjusting the individual parameters in the Data entry box.

Configure DHCP Server and Scope Options in Windows Server 2016

Note that Scope Options can be configured directly even when you create a new DHCP Scope as we saw in a previous article.

Configure Server and Scope Options using PowerShell

To configure both Server Options and Scope Options, use the Set-DhcpServerv4OptionValue cmdlet. It is a good idea to take a look at Microsoft documentation, as I will just mention two typical examples below.

To configure DNS Server, DNS Domain, and Router values at the Server level, use the following command.

Set-DhcpServerv4OptionValue -ComputerName "dc01.meraki.edu" -DnsServer 10.0.0.10 -DnsDomain "meraki.edu" -Router 10.0.0.1

To set DNS Server, DNS Domain, and Router values ​​at the Scope level, use the following command.

Set-DhcpServerv4OptionValue -ComputerName "dc01.meraki.edu" -ScopeId 10.0.1.0 -DnsServer 10.0.1.10 -DnsDomain "meraki.edu" -Router 10.0.1.1

Table of Contents

  • Applies to
  • 1. Creating the User Class
  • 2. Creating the DHCP Option
  • 3. Associate the newly created Class with Newly created Option.
  • See the Technet Article for more details.

Applies to

  • Windows Server 2000,
  • Windows Server 2003,
  • Windows Server 2003 R2,
  • Windows Server 2008,
  • Windows Server 2008 R2,
  • Windows Server 2012,
  • Windows Server 2012 R2.

1. Creating the User Class

Open DHCP Console.

Right-click on IPv4 & click the «Define User Classes.»

Click on Add.

I put «Test» in two places; you have to put your value. Click OK.

The test class is created.

2. Creating the DHCP Option

Click on «Set predefined Options.»

Click on «Add»

Put the values & click OK Twice.

3. Associate the newly created Class with Newly created Option.

Click——IPv4->Server Options->Configure Options.

Select the User Class & check that SLP Option & put the values.

See the Technet Article for more details.

http://support.microsoft.com/kb/285019


  • Windows server 2022 rdp лицензии
  • Windows server 2023 скачать торрент
  • Windows server 2019 удаленные приложения
  • Windows server 2022 desktop experience
  • Windows server dhcp server lease time