[Конспект админа] Как подружиться с DHCP и не бояться APIPA

Назначение протокола и основные принципы его работы

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

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

IP-адрес – лишь один из параметров, которые могут быть сконфигурированы с помощью обсуждаемого протокола. Какие же ещё параметры могут быть переданы узлу? К их числу (но не ограничиваясь ими) относятся следующие (RFC1533 и RFC2132): маска подсети, шлюз по умолчанию, адреса DNS и WINS серверов, имя домена и самого узла, маршруты на определённые подсети, временную зону и адрес сервера времени, адрес загрузочного образа, TTL и MTU, адреса POP3 и SMTP серверов, время аренды адреса.

Получение IP-параметров производится с помощью четырёх сообщений, которыми обмениваются клиент и сервер.

Сообщение DHCP discover отправляется клиентом для обнаружения DHCP-сервера в локальном сегменте сети. Забегая вперёд, отметим, что современные топологии не подразумевают непосредственной установки сервера в каждую виртуальную сеть (VLAN), в которой расположены клиентские узлы. Вместо этого используются особый ретранслятор, о котором мы поговорим чуть позже.

Получив сообщение DHCP discover, сервера DHCP отвечают клиенту сообщением DHCP offer, содержащим предлагаемые параметры. Получив несколько таких предложений, клиент может выбрать из них то, которое его максимально устраивает. Обычно, правда, выбирается первое полученное сообщение DHCP offer.

Выбрав одно из предложений, клиент отправляет широковещательный запрос DCHP request серверу на закрепление за ним предложенных параметров. До получения подтверждения от сервера клиент не вправе использовать избранный IP-адрес. Широковещательное сообщение здесь используется в том числе и для того, чтобы уведомить остальные серверы, что их предложения не рассматриваются, что позволит им быстрее вернуть адрес в пул.

Похожее:  Как зайти в Личный кабинет?

Получив сообщение DHCP request, сервер отправляет клиенту сообщение DCHP ack, подтверждающее за клиентом право использования выданного IP-адреса. Стоит заметить, что в некоторых случаях, сервер может не подтвердить клиенту запрос на использование адреса.

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

Одной из обязательных опций, сообщаемых сервером клиенту, является время аренды IP-адреса. Данный параметр указывает на интервал времени, в течение которого клиент в праве использовать полученные IP-параметры. По истечении данного времени, клиент обязан освободить занимаемый IP-адрес, либо произвести его продление.

Для наших читателей мы подготовили дамп трафика, содержащий процедуру получения и освобождения IP-адреса хостом. Все файлы дампов, размещённые в данной статье можно открыть с помощью сетевого анализатора Wireshark. Мы настоятельно рекомендуем внимательно изучить все поля во всех пакетах, содержащихся в данном файле. Отфильтровать DHCP-сообщения в большом дампе с помощью Wireshark можно путём использования фильтра «bootp».

Пакеты с первого по четвёртый включительно содержат стандартную процедуру получения IP-параметров. В пакетах 5, 6 и 7 клиентом было отправлено сообщение DHCP release, извещающее сервер о досрочном прекращении аренды.

Каким же образом сервер извещает клиента о том, на какое время ему выдаётся IP-адрес? Как и всё в DHCP, данная информация передаётся в пакете в виде опции (опция №51). Кроме этого в протоколе DHCP предусмотрены два таймера, обычно называемые T1 (renewal)

и T2 (rebinding), передаваемые опциями 58 и 59, соответственно. Таймер T1 обычно равен половине времени аренды, тогда как T2 соответствует 7/8 времени аренды. Для чего же используются данные таймеры? Спустя время T1 после получения сообщения DHCP ack клиент начинает процедуру обновления IP-параметров (renewing), повторно запрашивая у сервера разрешение на право их использования.

Если никаких изменений не произошло, сервер разрешает продление времени аренды путём отправки сообщения DHCP ack. Если же по какой-то причине сервер на запрос о продлении аренды не ответил, спустя время T2 происходит широковещательная отправка сообщения DHCP request, с помощью которого клиент пытается найти сервер, способный продлить аренду полученных ранее IP-параметров. Если же данная попытка не увенчалась успехом, то по окончанию времени аренды клиент обязан освободить полученный IP-адрес.

В предыдущем примере сервер устанавливает время аренды, равное семи дням. Мы уменьшили время аренды до одной минуты и пронаблюдали за процессом обмена DHCP-сообщениями. Из приведённого ниже списка пакетов видно, что примерно каждые 30 секунд клиент отправляет сообщение DHCP request, запрашивая у сервера подтверждение на право использования полученных адресов.

В ответ на данное сообщение сервер отправляет пакет DHCP ack. Так, например, пары пакетов 5-6, 7-8 и 9-10 являются успешными попытками продления аренды. Пакет №11 содержит сообщение DHCP request, на которое не приходит подтверждение от сервера. Тогда клиент отправляет широковещательный DHCP request (пакет №12), на который (в нашем примере) также не получает подтверждения.

На картинке ниже представлено содержимое пакета DHCP offer, содержащее все три таймера.

Если клиентом является маршрутизатор Cisco, то в логе в момент окончания аренды появляются следующие сообщения.

Dhcp и маршрутизация

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

Допустим, перед нами стоит задача в общем виде: требуется установить EIGRP соседство с устройствами, подключёнными к интерфейсуGi0/0 маршрутизатора R2, IP-адрес на котором конфигурируется динамически и диапазон адресов не известен.

В этом случае в настройках процесса маршрутизации EIGRP нужно выполнить три команды: отключить EIGRP на всех интерфейсах (passive-interface default), включить маршрутизацию для всех сетей (network 0.0.0.0), включить поддержку интерфейса Gi0/0 в EIGRP (no passive-interface GigabitEthernet0/0).

interface GigabitEthernet0/0
ip address dhcp
!
router eigrp 1
network 0.0.0.0
passive-interface default
no passive-interface GigabitEthernet0/0

После этого EIGRP-соседство с маршрутизатором R1 успешно устанавливается.

R2# sho ip eigrp interfaces
EIGRP-IPv4 Interfaces for AS(1)
Xmit Queue PeerQ Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes
Gi0/0 1 0/0 0/0 24 0/0 64 0
R2#sho ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.0.1 Gi0/0 13 00:05:10 24 144 0 3

Конфигурация протокола RIP аналогична и приведена ниже.

router rip
version 2
passive-interface default
no passive-interface GigabitEthernet0/0
network 0.0.0.0
no auto-summary

Протокол динамической маршрутизации OSPF может быть настроен аналогично EIGRP и RIP.

router ospf 1
passive-interface default
no passive-interface GigabitEthernet0/0
network 0.0.0.0 255.255.255.255 area 0

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

interface GigabitEthernet0/0
ip address dhcp
ip ospf 1 area 0
!
router ospf 1
router-id 2.2.2.2
network 0.0.0.0 255.255.255.255 area 1

Протокол динамической маршрутизации OSPF позволяет выяснить, какие интерфейсы и почему участвуют в маршрутизации, а также каким зонам они принадлежат. Для вывода указанной информации предназначена команда sho ip proto, пример работы которой представлен ниже.

R2#sho ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 2.2.2.2
It is an area border and autonomous system boundary router
Redistributing External Routes from,
connected, includes subnets in redistribution
Number of areas in this router is 2. 2 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
0.0.0.0 255.255.255.255 area 1
Routing on Interfaces Configured Explicitly (Area 0):
GigabitEthernet0/0
Routing Information Sources:
Gateway Distance Last Update
1.1.1.1 110 00:00:05
Distance: (default is 110)

Ещё одним локальным протоколом динамической маршрутизации, популярным в сетях крупных операторов связи, является ISIS. И хотя ISIS редок в корпоративных сетях, мы решили упомянуть и его, благо настройка данного IGP для работы с DHCP чрезвычайно проста и похожа на настройку OSPF.

interface GigabitEthernet0/0
ip address dhcp
ip router isis
!
router isis
net 49.0001.0000.0000.0002.00

Также мы решили представить нашим читателям вывод нескольких диагностических команд.

Qtech qsw-3500 – инструкция (страница 237)

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

237

Глава 29 Конфигурация опции 82 DHCP

29.1

Введение в опцию 82 DHCP

Опция 82 DHCP это опция информации ретранслирующего агента (Relay Agent). Опция

82 DHCP

направлена на укрепление безопасности серверов DHCP и улучшения

политики конфигурации IP адресов. Ретранслирующий агент добавляет опцию 82
(включающую физический порт доступа клиента, идентификатор устройства доступа и
другую информацию) в DHCP запрос, полученный от клиента, затем пересылает его

DHCP

серверу. Когда DHCP сервер, который поддерживает функцию опции 82, получает

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

82 DHCP

прозрачно для клиента.

29.1.1

Структура сообщения опции 82 DHCP

Сообщение DHCP может иметь несколько сегментов опций, опция 82 один из них. Она
должна быть после других опций, но до опции 255. Вот ее формат:

Code

: представляет порядковый номер опции информации ретранслирующего агента,

опция 82 так называется потому, что RFC3046 определяет ее как 82.

Len

: количество байт в поле информации агента, не включая два байта в сегменте Code

и сегменте Len.

Опция 82 может иметь несколько суб-опций, требуется как минимум одна суб-опция.

RFC

3046 определяет следующие две суб-опции, формат которых показан ниже:

SubOpt: порядковый номер суб-опции, порядковый номер суб-опции Circuit-ID – 1,

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

238

порядковый номер суб-опции Remote ID – 2.

Len

: количество байт в суб-опции, не включая два байта в сегменте SubOpt и сегменте

Len.

29.1.2

Механизм работы опции 82

Диаграмма потоков опции 82 DHCP

Если DHCP ретранслирующий агент поддерживает опцию 82, DHCP клиент должен
пройти следующие четыре шага, чтобы получить IP адрес от DHCP сервера: discover,

offer, select

и acknowledge. Протокол DHCP следует приведенной ниже процедуре:

1) DHCP

клиент при инициализации посылает широковещательное сообщение запроса.

Это сообщение не имеет опции 82.

2) DHCP

ретранслирующий агент добавит опцию 82 к сообщению запроса, которое он

получит, затем перешлет это сообщение DHCP серверу. По умолчанию суб-опция 1
опции 82 (Circuit ID) это информация об интерфейсе, к которому подключен DHCP
клиент (VLAN и физической порт), но пользователь может настроить Circuit ID по своему
усмотрению. Суб-опция 2 опции 82 (Remote ID) это MAC адрес устройства DHCP
ретранслятора.
3) После получения DHCP запроса DHCP сервер выделит клиенту IP адрес и другую
информацию, в соответствии с преднастроенными политиками и информацией в опции
82. Затем он направит DHCP ретранслирующему агенту ответное сообщение с DHCP
конфигурацией и опцией 82.

4) DHCP

ретранслирующий агент очистит ответное сообщение от опции 82 и направит

его клиенту.

29.2

Список задач конфигурации опции 82 DHCP

1.

Включить опцию 82 DHCP ретранслирующего агента

2.

Настроить атрибуты интерфейса опции 82 DHCP

DHCP

Server

DHCP Client

DHCP Relay Agent

DHCP

Request

DHCP

Request

Option

82

Option

82

DHCP

Reply

DHCP

Reply

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

239

3.

Включить опцию 82 DHCP сервера

4.

Настроить формат по умолчанию опции 82 DHCP ретранслирующего агента

5.

Настроить разделитель

6.

Настроить метод создания опции 82

7.

Проводить диагностику и поддержку опции 82 DHCP

1.

Включить опцию 82 DHCP ретранслирующего агента.

Команда

Описание

Общий режим

ip dhcp relay information option

no ip dhcp relay information option

Включает

функции

опции

82

на

ретранслирующем агенте коммутатора.
Команда no выключает функцию.

2.

Настроить атрибуты интерфейса опции 82 DHCP

Команда

Описание

Режим конфигурации интерфейса

ip dhcp relay information policy {drop |

keep | replace}

no ip dhcp relay information policy

Устанавливает

политики

ретрансляции

сообщения, которое уже содержит опцию
82. Режим drop означает, что сообщение,
содержадее опцию 82, будет отброшено
без какой либо обработки. Режим keep
означает,

что

система

оставит

оригинальную опцию 82 и передаст
сообщение

серверу.

Режим

replace

означает,

что

система

заменит

существующую опцию 82 своей и передаст
сообщение серверу. Команда no установит
политику в режим по умолчанию – replace.

Ip dhcp relay information option

subscriber-id {standard | <circuit-id>}

no ip dhcp relay information option

subscriber-id

Устанавливает формат суб-опции 1 опции
82

(Circuit

ID),

standard

означает

стандартные

названия

VLAN

и

физического

порта,

например

«Vlan2 Ethernet1/0/12», <circuit-id> это
сожержание

circuit-id

,

заданного

пользователем (строка не более 64
символов).

Команда

no

установит

§

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

241

defined remote-id

ip dhcp relay information option self-

defined remote-id format [ascii | hex]

Устанавливает пользовательский формат

remote-id

для опции 82.

ip dhcp relay information option self-

defined subscriber-id {vlan | port | id

(switch-id (mac | hostname)| remote-mac)|

string WORD }

no ip dhcp relay information option self-

defined subscriber-id

Устанавливает метод создания опции 82,
пользователи

могут

самостоятельно

определить параметры суб-опции circuit -id.

ip dhcp relay information option self-

defined subscriber-id format [ascii | hex]

Устанавливает пользовательский формат

circuit -id

для опции 82.

7.

Проводить диагностику и поддержку опции 82 DHCP

Команда

Описание

Режим администратора

show ip dhcp relay information option

Отображает информацию о состоянии
опции 82 в системе, включая все
параметры настройки.

debug ip dhcp relay packet

Используется

для

отображения

информации об обработке пакетов в DHCP
ретранслирующем

агенте,

включая

действия «добавить» и «очистить».

29.3

Примеры применения опции 82 DHCP

Типовой пример применения опции 82 DHCP

В данной схеме оба коммутатора второго уровня (1 и 2) подключены в коммутатору
третьего уровня (3), который передает DHCP запросы от клиентов серверу. Если опция
82 выключена, DHCP сервер не сможет распознать, из какой подсети клиент, и все
клиенты, подключенные к коммутаторам 1 и 2, будут получать адреса из общего

Коммутатор 1

Коммутатор 2

DHCP

клиент PC1

DHCP

клиент PC2

DHCP
сервер

Vlan2:ethernet1/

0/2

Vlan2:ethernet1/

0/3

DHCP

Relay

Agent
Switch3

Vlan3

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

242

адресного пула DHCP сервера. После включения опции 82, т.к. коммутатор 3 добавляет к
запросу информацию о порте, сервер сможет распознать, в какой сети находится клиент
(коммутатор 1 или коммутатор 2) и, таким образом, сможет выделять разное адресное
пространство двум подсетям, чтобы упростить управление сетью.

Конфигурация комутатора 3 (MAC адрес 00:1f:ce:02:33:01):

Switch3(Config)#service dhcp

Switch3(Config)#ip dhcp relay information option

Switch3(Config)#ip forward-protocol udp bootps

Switch3(Config)#interface vlan 3

Switch3(Config-if-vlan3)#ip address 192.168.10.222 255.255.255.0

Switch3(Config-if-vlan2)#ip address 192.168.102.2 255.255.255.0

Switch3(Config-if-vlan2)#ip helper 192.168.10.88

Linux ISC DHCP

сервер поддерживает опцию 82, его конфигурационный файл

/etc/dhcpd.conf:

ddns-update-style interim;

ignore client-updates;

class “Switch3Vlan2Class1” {

match if option agent.circuit-id = “Vlan2 Ethernet1/0/2” and option agent.remote-

id=00:1f:ce:02:33:01;

}

class “Switch3Vlan2Class2” {

match if option agent.circuit-id = “Vlan2 Ethernet1/0/3” and option agent.remote-

id=00:1f:ce:02:33:01;

}

subnet 192.168.102.0 netmask 255.255.255.0 {

option routers 192.168.102.2;

option subnet-mask 255.255.255.0;

option domain-name “example.com.cn”;

option domain-name-servers 192.168.10.3;

authoritative;

pool {

range 192.168.102.21 192.168.102.50;

default-lease-time 86400; #24 Hours

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

243

max-lease-time 172800; #48 Hours

allow members of “Switch3Vlan2Class1”;

}

pool {

range 192.168.102.51 192.168.102.80;

default-lease-time 43200; #12 Hours

max-lease-time 86400; #24 Hours

allow members of “Switch3Vlan2Class2”;

}

}

Теперь DHCP сервер будет выделять адреса для узлов с коммутатора 2 из диапазона
192.168.102.21 ~ 192.168.102.50, а для коммутатора 1 из диапазона 192.168.102.51 ~

192.168.102.80.

29.4

Поиск неисправностей опции 82 DHCP

Опция 82 DHCP реализована как подфункция модуля DHCP ретранслятора. Прежде, чем
ее использовать, необходимо убедиться, что DHCP ретранслирующий агент настроен
правильно.
Опция 82 требует взаимодействия DHCP ретранслятора и DHCP сервера. DHCP сервер
должен установить политику выделения адресов основываясь на сетевой топологии

DHCP

ретранслятора, но, даже если ретранслятор работает нормально, выделение

адресов может не получиться. Если в сети больше одного ретранслятора, уделите
внимание политике передачи DHCP запросов.
При реализации функции опции 82 DHCP ретранслятора, подробная информация о
процессе работы функции опции 82 DHCP ретранслятора может быть получена
командой «debug ip dhcp relay packet». Эта информация может помочь в поиске
неисправностей.
При реализации функции опции 82 DHCP севера, подробная информация о процессе
работы функции опции 82 DHCP сервера может быть получена командой «debug ip dhcp

server packet

». Эта информация может помочь в поиске неисправностей.

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

244

Глава 30 Опции 37, 38 DHCPv6

30.1

Введение в опции 37, 38 DHCPv6

DHCPv

6 (протокол динамической конфигурации хостов для IPv6) разработан для

адресной схемы IPv6 и используется для назначения хостам IPv6 префиксов, IPv6
адресов и других конфигурационных параметров.
Если DHCPv6 клиент хочет запросить параметры конфигурации от DHCPv6 сервера,
находящегося в другом сегменте, то для этого потребуется DHCPv6 ретранслятор.

DHCPv

6 сообщение, принятое ретранслятором, инкапсулируется в «relay-forward»

пакеты, переправляемые серверу, который затем отвечает DHCPv6 ретранслятору
пакетами «relay-reply». Затем ретранслятор восстанавливает из этих пакетов DHCPv6
сообщение и пересылает его клиенту.
Есть некоторые проблемы при использовании DHCPv6 ретранслятора, например: Как
назначить IP адрес в фиксированном диапазоне конкретным пользователям? Как
избежать нелегального присвоения IP адресов, вызванного атакой, нацеленной на
исчерпание свободных адресов? Как избежать нелегальных DHCPv6 клиентов,
использующих MAC адрес других клиентов? Эти проблемы решаются посредством
опций 37 и 38 DHCPv6 (RFC4649 и RFC4580).
Опции 37 и 38 DHCPv6 подобны опции 82 DHCP. DHCPv6 ретранслятор добавляет опции
37 и 38 к пересылаемым запросам и убирает эти опции из ответов сервера. Таким
образом применение опций 37 и 38 прозрачно для клиента.
По опциям 37 и 38 DHCPv6 сервер может аутентифицировать DHCPv6 клиента и

DHCPv

6 ретранслирующее устройство, назначать и управлять клиентскими адресами,

тем самым предотвращать различные DHCPv6 атаки. Так как сервер определяет, с
какого порта доступа пришел запрос, он может ограничить количество выделяемых
адресов на порт доступа, тем самым предотвратить атаку, нацеленную на исчерпание
адресов. Однако RFC4649 и RFC4580 не определяют, как сервер будет использовать
опции 37 и 38, пользователь может использовать их по своему усмотрению.

30.2

Список задач конфигурации опции 37, 38

DHCPv6

1. Конфигурация базовых опций Dhcpv6 snooping
2. Конфигурация базовых опций Dhcpv6 ретранслятора
3. Конфигурация базовых опций Dhcpv6 сервера

§

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

246

(sp|sv|pv|spv) delimiter WORD (delimiter

WORD |)

no ipv6 dhcp snooping subscriber-id

select delimiter

конфигурацию опций subscriber-id, Команда

no

восстанавливает конфигурацию по

умолчанию, т.е. название VLAN вместе с
названием порта.

Режим порта

ipv6 dhcp snooping remote-id <remote-id>

no ipv6 dhcp snooping remote-id

Задает форму добавления опции 37.

<remote-id

> это содержание поля remote-id

в определенной пользователем опции 37,
строка не боле 128 символов. Команда no
восстанавливает

конфигурацию

по

умолчанию, т.е. заводской номер вместе с

VLAN MAC.

ipv6 dhcp snooping subscriber-id

<subscriber-id>

no ipv6 dhcp snooping subscriber-id

Задает форму добавления опции 38.

<subscriber-id

>

это

содержание

поля

subscriber-id

в

определенной

пользователем опции 38, строка не боле
128

символов.

Команда

no

восстанавливает

конфигурацию

по

умолчанию, т.е. название VLAN вместе с
названием

порта,

например

“Vlan2 Ethernet1/0/2”.

2.

Конфигурация базовых опций Dhcpv6 ретранслятора

Команда

Description

Общий режим

ipv6 dhcp relay remote-id option

no ipv6 dhcp relay remote-id option

Включает поддержку опции 37 в DHCPv6
ретрансляторе. Команда no выключает
поддержку.

ipv6 dhcp relay subscriber-id option

no ipv6 dhcp relay subscriber-id option

Включает поддержку опции 38 в DHCPv6
ретрансляторе. Команда no выключает
поддержку.

ipv6 dhcp relay remote-id delimiter WORD

no ipv6 dhcp relay remote-id delimiter

Настраивает

пользовательскую

конфигурацию опций remote-id. Команда

no

восстанавливает конфигурацию по

умолчанию, т.е. заводской номер вместе с

VLAN MAC.

ipv6 dhcp relay subscriber-id select (sp | sv

| pv | spv) delimiter WORD (delimiter WORD

Настраивает

пользовательскую

конфигурацию

опций

subscriber

-id.

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

247

|)

no ipv6 dhcp relay subscriber-id select

delimiter

Команда

no

восстанавливает

конфигурацию

по

умолчанию,

т.е.

название VLAN вместе с названием порта.

Режим конфигурации интерфейса 3-о уровня

ipv6 dhcp relay remote-id <remote-id>

no ipv6 dhcp relay remote-id

Задает форму добавления опции 37.

<remote-id

> это содержание поля remote-id

в определенной пользователем опции 37,
строка не боле 128 символов. Команда no
восстанавливает

конфигурацию

по

умолчанию, т.е. заводской номер вместе с

VLAN MAC.

ipv6 dhcp relay subscriber-id <subscriber-

id>

no ipv6 dhcp relay subscriber-id

Задает форму добавления опции 38.

<subscriber-id

> это содержание поля

subscriber-id

в

определенной

пользователем опции 38, строка не более
128

символов.

Команда

no

восстанавливает

конфигурацию

по

умолчанию, т.е. название VLAN вместе с
названием

порта,

например

“Vlan2 Ethernet1/0/2”.

3.

Конфигурация базовых опций Dhcpv6 сервера

Команда

Description

Общий режим

ipv6 dhcp server remote-id option

no ipv6 dhcp server remote-id option

Включает поддержку опции 37 в DHCPv6
сервере.

Команда

no

выключает

поддержку.

ipv6 dhcp server subscriber-id option

no ipv6 dhcp server subscriber-id option

Включает поддержку опции 38 в DHCPv6
сервере.

Команда

no

выключает

поддержку.

ipv6 dhcp use class

no ipv6 dhcp use class

Включает

поддержку

использования

DHCPv

6 классов при присвоении адресов.

Команда no выключает это, не удаляя
настройки классов DHCPv6.

ipv6 dhcp class <class-name>

no ipv6 dhcp class <class-name>

Определяет DHCPv6 класс и входит в
режим конфигурации DHCPv6 класса.
Команда no удаляет класс.

Режим конфигурации интерфейса

ipv6 dhcp server select relay-forw

Включает

выбор

опций

37

и

38

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

248

no ipv6 dhcp server select relay-forw

внутреннего уровня, когда в пакете,
пришедшем от ретранслятора, существует
несколько опций 37 или 38. Команда no
возвращает настройку по умолчанию, т.е.
выбор опций 37 и 38 оригинальных
пакетов.

Режим конфигурации DHCPv6 класса

{remote-id [*] <remote-id> [*] | subscriber-id

[*] <subscriber-id> [*]}

no {remote-id [*] <remote-id> [*] |

subscriber-id [*] <subscriber-id> [*]}

Настраивает опции 37 и 38, которые
соответствуют классу.

Режти конфигурации пула адресов DHCPv6

class <class-name>

no class <class-name>

Ассоциирует класс с пулом адресов и
входит в режим конфигурации класса в
пуле адресов. Команда no убирает
ассоциацию.

address range <start-ip> <end-ip>

no address range <start-ip> <end-ip>

Устанавливает диапазон адресов для

DHCPv

6 класса. Команда no удаляет

диапазон. Форма записи «префикс/длина»
не поддерживается.

30.3

Примеры опицй 37, 38 DHCPv6

30.3.1

Пример опций 37, 38 в DHCPv6 Snooping

Схема опций в DHCPv6 Snooping

A

Согласно схеме Mac-AA, Mac-BB и Mac-CC – обычные пользователи, подключенные к

Interface E1/0/1

MAC-CC

MAC-BB

MAC-AA

Коммутатор B

Коммутатор A

Interface E1/0/4

Interface E1/0/3

Interface

E1/0/2

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

249

недоверенным интерфейсам 1/2, 1/3 и ¼ соответственно. Они получают IP адреса 2022:2,
2022:3 и 2022:4 по DHCPv6; DHCPv6 сервер подключен к доверенному интерфейсу 1/1.
Настроено три политики выделения адресов (классов), CLASS1 соответствует опции 38,

CLASS

2 соответствует опции 37, а CLASS3 – опциям 37 и 38. В пуле адресов

EastDormPool

запросам, соответствующим классам CLASS1, CLASS2 и CLASS3 будут

назначены

адреса

из

диапазонов

2001:da8:100:1::2–2001:da8:100:1::30,

2001:da8:100:1::31

–2001:da8:100:1::60

и

2001:da8:100:1::61–2001:da8:100:1::100

соответственно. На коммутаторе A включена функция DHCPv6 snooping и настроены
опции 37 и 38.
Конфигурация коммутатора A:

SwitchA(config)#ipv6 dhcp snooping remote-id option

SwitchA(config)#ipv6 dhcp snooping subscriber-id option

SwitchA(config)#int e 1/0/1

SwitchA(config-if-ethernet1/0/1)#ipv6 dhcp snooping trust

SwitchA(config-if-ethernet1/0/1)#exit

SwitchA(config)#interface vlan 1

SwitchA(config-if-vlan1)#ipv6 address 2001:da8:100:1::1

SwitchA(config-if-vlan1)#exit

SwitchA(config)#interface ethernet 1/0/1-4

SwitchA(config-if-port-range)#switchport access vlan 1

SwitchA(config-if-port-range)#exit

SwitchA(config)#

Конфигурация коммутатора B:

SwitchB(config)#service dhcpv6

SwitchB(config)#ipv6 dhcp server remote-id option

SwitchB(config)#ipv6 dhcp server subscriber-id option

SwitchB(config)#ipv6 dhcp pool EastDormPool

SwitchB(dhcpv6-eastdormpool-config)#network-address

2001:da8:100:1::2

2001:da8:100:1::1000

SwitchB(dhcpv6-eastdormpool-config)#dns-server 2001::1

SwitchB(dhcpv6-eastdormpool-config)#domain-name dhcpv6.com

SwitchB(dhcpv6-eastdormpool-config)# excluded-address 2001:da8:100:1::2

SwitchB(dhcpv6-eastdormpool-config)#exit

SwitchB(config)#

SwitchB(config)#ipv6 dhcp class CLASS1

SwitchB(dhcpv6-class-class1-config)#remote-id

00-1f-ce-00-00-01

subscriber-id

vlan1 Ethernet1/0/1

§

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

251

соединен с магистральной сетью. На компьютерах должна быть установлена ОС

Windows Vista

, в которой есть DHCPv6 клиент.

Схема применения опций в DHCPv6 ретрансляторе

Конфигурация коммутатора 2:

S2(config)#service dhcpv6

S2(config)#ipv6 dhcp relay remote-id option

S2(config)#ipv6 dhcp relay subscriber-id option

S2(config)#vlan 10

S2(config-vlan10)#int vlan 10

S2(config-if-vlan10)#ipv6 address 2001:da8:1:::2/64

S2(config-if-vlan10)#ipv6 dhcp relay destination 2001:da8:10:1::1

S2(config-if-vlan10)#exit

S2(config)#

30.4

Поиск неисправностей опций 37, 38 DHCPv6

Пакеты запросов, отсылаемые DHCPv6 клиентом, это multicast пакеты, полученные
устройством внутри его VLAN. Если DHCPv6 сервер хочет получать пакеты от клиента,
клиент и сервер должны находиться в одном VLAN, иначе необходимо использовать

DHCPv

6 ретранслятор.

Обработка опций 37,38 при DHCPv6 snooping может проходить одним из следующих
образов: заменить оригинальные опции 37,38 своими; отбросить пакет с опциями 37,38;

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

252

не выполнять операцию добавления, передачи или отбрасывания пакета. Поэтому, если

IPv

6 адрес не получен в соответствии с опциями 37,38, пожалуйста, проверьте настройки

политик DHCPv6 snooping на втором устройстве. DHCPv6 сервер по умолчанию получает
опции 37,38 из пакета, отправленного клиентом, так же может получать их из пакета,
отправленного ретранслятором.

DHCPv

6 сервер проверяет только опции 37,38, добавленные первым DHCPv6

ретранслятором, это значит, что в пакетах ретранслятора действительны только опции
37,38 самого глубокого уровня.

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

253

Глава 31 Конфигурация DHCP Snooping

31.1

Введение в DHCP Snooping

DHCP Snooping

означает, что коммутатор наблюдает за процессом присвоения IP

адресов по протоколу DHCP. Это предотвращает появление нелегальных DHCP
серверов и DHCP атаки путем настройки доверенных и недоверенных портов. DHCP
сообщение с доверенных портов передается без проверки. При типичной конфигурации
доверенные порты используются для подключения DHCP сервера или DHCP
ретранслятора, а к недоверенным портам подключаются клиенты. С недоверенных
портов коммутатор будет пересылать только DHCP запросы, но не ответы. Если с
недоверенного порта получено сообщение DHCP ответа, коммутатор поднимет тревогу и
предпримет определенные действия с портом, согласно настройкам, например
выключение или создание «черной дыры».
Если включена привязка DHCP Snooping, коммутатор сохранит в соответствующей
таблице связующую информацию о каждом DHCP клиенте с недоверенного порта
(включая MAC адрес, IP адрес, аренду IP, номера VLAN и порта). Имея такую
информацию DHCP Snooping можно комбинировать с другими модулями, такими, как

dot1x

и ARP, или самостоятельно реализовать контроль доступа пользователей.

Защита от поддельного DHCP сервера: если коммутатор перехватывает ответ DHCP
сервера (включая DHCPOFFER, DHCPACK и DHCPNAK), он поднимет тревогу и
предпримет определенные действия, согласно настройкам (выключение порта или
создание «черной дыры»).
Защита от перегрузки DHCP: Чтобы избежать большого количества сообщений DHCP,
атакующих процессор, пользователь может ограничить скорость получения DHCP
пакетов на доверенных и недоверенных портах.
Запись связующих данных DHCP: DHCP snooping при пересылке DHCP пакетов будет
записывать связующие данные, выделенные DHCP сервером. Можно так же загрузить
эти данные на сервер в целях восстановления утерянной информации. Связующие
данные, в основном, используются для настройки динамических пользовательских
портов dot1x. За подробной информацией о dot1x обратитесь, пожалуйста, к главе
«Настройка dot1x».
Добавление связующего ARP: можно добавить статическую связку ARP в соответствии
с динамическими данными, чтобы предотвратить ARP мошенничество.
Добавление доверенных пользователей: можно добавить записи в список
доверенных пользователей в соответствии с параметрами связующих данных; эти
пользователи получат доступ ко всем ресурсам без dot1x аутентификации.

§

§

§

§

§

background image

7(495) 797-3311 www.qtech.ru

Москва, Новозаводская ул., 18, стр. 1

258

no ip dhcp snooping information option

self-defined remote-id

id.

ip dhcp snooping information option self-

defined remote-id format [ascii | hex]

Пользовательский формат remote-id для
опции 82.

ip dhcp snooping information option self-

defined subscriber-id {vlan | port | id

(switch-id (mac | hostname)| remote-mac) |

string WORD}

no ip dhcp snooping information option

type self-defined subscriber-id

Задает

метод

создания

опции

82,

пользователи

могут

самостоятельно

определить параметры суб-опции circute-id.

ip dhcp snooping information option self-

defined subscriber-id format [ascii | hex]

Пользовательский формат circuit-id для
опции 82.

Режим порта

ip dhcp snooping information option

subscriber-id {standard | <circuit-id>}

no ip dhcp snooping information option

subscriber-id

Устанавливает

содержание

суб-опции

circuit-id

опции 82. Команда no возвращает

стандартный формат.

31.3

Типовой применение DHCP Snooping

Типовой применение

Как показано на рисунке, устройство Mac-AA – обычный пользователь, подключенный к
недоверенному порту 1/0/1 коммутатора, получает IP настройки через DHCP, IP адрес
клиента 1.1.1.5. DHCP сервер и шлюз подключены к доверенным портам коммутатора,
1/0/11 и 1/0/12 соответственно. Злоумышленник Mac-BB, подключенный к недоверенному
порту 1/0/1 коммутатора, пытается подделать DHCP сервер (посылая пакеты DHCPACK).
Функция DHCP Snooping на коммутаторе эффективно обнаружит и блокирует такой тип
сетевой атаки.

§

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

Ввиду простоты протокола и присутствия широковещательных запросов есть эффективные атаки на инфраструктуру — в основном типа 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-запросов и ответов или ограничение их количества, ну и, конечно, различные системы IPSIDS.

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

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

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

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

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

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

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

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

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

Дополнительные возможности: option 82, snooping

До этого момента мы никак не настраивали коммутатор, связывающий клиента и маршрутизатор R1, единственное, что требовалось, – чтобы порты e0/0 и e0/1 находились в одной виртуальной сети. Однако периодически возникает необходимость определённому клиенту выдавать фиксированный адрес с помощью DHCP.

Задача осложняется тем, что клиент может использовать различные устройства для подключения к сети, таким образом его MAC-адрес и идентификатор клиента могут отличаться, что не позволит использовать данные поля DHCP-сервером для создания статической привязки.

В этом случае на помощь приходит коммутатор с поддержкой функции option 82. Данную опцию ото всех остальных отличает то, что её в DHCP сообщение добавляет не клиент и не сервер, а коммутатор, тогда как сервер DHCP анализирует её значение. К счастью L2 IOU версии adventerprisek9-15.

1a поддерживает данную функцию. Включение поддержки option 82 производится с помощью команды ip dhcp relay information option режима глобальной конфигурации. Также необходимо включить DHCP snooping. Ниже представлены команды, которые были введены на коммутаторе.

ip dhcp relay information option
ip dhcp snooping vlan 1
ip dhcp snooping
interface Ethernet0/1
ip dhcp snooping trust

Мы перехватили сообщение DHCP discover на участке сети между коммутатором IOU1 и маршрутизатором R1. Как видно из представленной ниже картинки, коммутатор добавил в сообщение опцию №82. Её содержимое мы пока не рассматриваем.

Однако, несмотря на то, что мы увидели сообщение DHCP discover в сети, клиент перестал получать IP-адрес. Просмотр дампа трафика нас приводит к тому, что маршрутизатор R1 перестал выполнять функции ретранслятора. Неожиданно, правда? С помощью команды deb ip dhcp server packet мы включили вывод отладочной информации на маршрутизаторе DHCP.

*Aug 21 18:28:28.247: DHCPD: inconsistent relay information.
*Aug 21 18:28:28.247: DHCPD: relay information option exists, but giaddr is zero

Отключение указанной выше проверки производится на интерфейсе Fa1/0 маршрутизатора R1 с помощью команды ip dhcp relay information trusted, после чего клиент успешно получает IP-адрес. Список интерфейсов, для которых включена данная команда выводится с помощью вызова sho ip dhcp relay information trusted-sources.

R1#sho ip dhcp relay information trusted-sources
List of trusted sources of relay agent information option:
FastEthernet1/0

Выдача адреса клиенту на данный момент никак не учитывает значение опции №82. Для того чтобы DHCP-сервер начал учитывать значение опции №82 необходимо сконфигурировать специальный класс для данного клиента. Пример такой конфигурации представлен ниже.

ip dhcp class foxnetwork
remark test client
relay agent information
relay-information hex 010600040001000002080006aabbcc000100

Команда remark не является обязательной, однако мы настоятельно рекомендуем использовать, чтобы в дальнейшем не запутаться в большом количестве созданных классов. С помощью данной команды нужно вносить максимально понятное описание, связанное с клиентом, для которого создаётся класс.

Теперь требуется использовать созданный класс в настройках DHCP-сервера. Конфигурация DHCP пула представлена ниже.

ip dhcp pool foxnetwork
network 192.168.0.0 255.255.255.0
default-router 192.168.0.1
dns-server 8.8.8.8
lease 0 1
class foxnetwork
address range 192.168.0.101 192.168.0.101

Повторно произведём получение IP-адреса клиентом и убедимся, что PC1 получил адрес 192.168.0.101.

PC1> sho ip
NAME : PC1[1]
IP/MASK : 192.168.0.11/24
GATEWAY : 192.168.0.1
DNS : 8.8.8.8
DHCP SERVER : 192.168.1.2
DHCP LEASE : 2753, 3600/1800/3150
MAC : 00:50:79:66:68:00
LPORT : 10003
RHOST:PORT : 192.168.56.1:10000
MTU: : 1500
PC1> ip dhcp
DDORA IP 192.168.0.101/24 GW 192.168.0.1
PC1> sho ip
NAME : PC1[1]
IP/MASK : 192.168.0.101/24
GATEWAY : 192.168.0.1
DNS : 8.8.8.8
DHCP SERVER : 192.168.1.2
DHCP LEASE : 3593, 3600/1800/3150
MAC : 00:50:79:66:68:00
LPORT : 10003
RHOST:PORT : 192.168.56.1:10000
MTU: : 1500

Но что же это за магическое число 010600040001000002080006aabbcc000100, которое мы указывали в команде relay-information и которое передавалось в опции №82? Разберём, из чего оно состоит.

010600040001000002080006aabbcc000100
0106Начало первой секции, 6 байт
0004Поле curcuit-id, 4 байта
0001Номер VLAN (в hex)
0000Номер порта коммутатора, к которому подключен клиент (счёт начинается с нуля)
0208Начало второй секции, 8 байт
0006Поле remote-id, 6 байт
aabbcc000100MAC-адрес коммутатора, к которому подключен клиент

Теперь мы можем рассчитывать значение опции №82 заранее, не дожидаясь её в перехватываемых пакетах. Справедливости ради, стоит отметить, что коммутаторы Cisco позволяют изменить формат опции №82.

Настройка оборудования

Настроить использование протокола DHCP с клиентской стороны, как правило, труда не составляет. Например, при использовании операционной системы Microsoft Windows 7, единственное, что требуется сделать, – выбрать опцию «Получить IP-адрес автоматически» в настройках протокола IPv4.

Убедиться в успешном получении адреса с помощью GUI тоже не сложно.

Получить информацию о текущей конфигурации сетевых карт компьютера в современных операционных системах Microsoft Windows можно с помощью команды ipconfig /all.

C:>ipconfig /all
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : torrent
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет
Порядок просмотра суффиксов DNS . : Beeline.Gate
Ethernet adapter Подключение по локальной сети 2:
DNS-суффикс подключения . . . . . : Beeline.Gate
Описание. . . . . . . . . . . . . : Сетевое подключение Intel(R) PRO/1000 MT
Физический адрес. . . . . . . . . : 00-0C-29-CD-86-26
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
IPv4-адрес. . . . . . . . . . . . : 10.0.1.112(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Аренда получена. . . . . . . . . . : 13 августа 2022 г. 21:20:01
Срок аренды истекает. . . . . . . . : 14 августа 2022 г. 21:20:01
Основной шлюз. . . . . . . . . : 10.0.1.5
DHCP-сервер. . . . . . . . . . . : 10.0.1.5
DNS-серверы. . . . . . . . . . . : 8.8.8.8
Основной WINS-сервер. . . . . . . : 10.0.1.5
NetBios через TCP/IP. . . . . . . . : Включен

Отказаться от используемого адреса и запросить новый можно с помощью команд ipconfig /release и ipconfig /renew. Стоит также отметить, что в указанном семействе операционных систем, существует достаточно мощная сетевая утилита netsh, с помощью которой можно просматривать и изменять параметры работы сетевых карт.

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

Кроме того, такие устройства обладают также встроенным DHCP-сервером, позволяющим динамически назначать IP-адреса в локальной сети пользователя. Да, параметров здесь не много…

Всю дальнейшую конфигурацию мы будем производить с использованием оборудования Cisco Systems в эмуляторе GNS3 версии 1.3.9. Мы специально решили использовать эмулятор, чтобы наши читатели могли при желании самостоятельно повторить все те настройки, которые будут обсуждаться.

Стоит отметить, что в GNS3 версии 1.4.0 появится встроенная поддержка виртуальных машин VMware, что во многом сможет упростить процесс тестирования новых схем сети. Конечно, уже сейчас есть возможность, связать эмулируемое в GNS3 оборудование с реальной сетью и виртуальными сетями VMware с помощью объекта Cloud, однако, особенно удобной такую связку не назовёшь.

Однако мы отвлеклись, пора вернуться к DHCP. В качестве маршрутизаторов мы будем использовать модель 7206VXR (NPE400) с IOS ADVENTERPRISEK9 версии 15.2(4)M8. Также нам потребуется L2-коммутатор IOU (встроенный в GNS3 свитч не подойдёт из-за отсутствия нужной функциональности).

В принципе, в качестве DHCP-клиента в GNS3 можно использовать объект VPCS, допускающий статическое и динамическое назначение IP-параметров. Для демонстрации работы VPCS мы собрали простую схему, приведённую ниже. Настройки серверной стороны – маршрутизатора R1 – мы обсудим позже.

Приведённый ниже листинг отображает процесс динамического получения IP-параметров виртуальным хостом VPCS версии 0.6.1 в эмуляторе GNS3.

PC1> ip ?
ip ARG ... [OPTION]
Configure the current VPC's IP settings
ARG ...:
address [mask] [gateway]
address [gateway] [mask]
Set the VPC's ip, default gateway ip and network mask
Default IPv4 mask is /24, IPv6 is /64. Example:
ip 10.1.1.70/26 10.1.1.65 set the VPC's ip to 10.1.1.70,
the gateway to 10.1.1.65, the netmask to 255.255.255.192.
In tap mode, the ip of the tapx is the maximum host ID
of the subnet. In the example above the tapx ip would be
10.1.1.126
mask may be written as /26, 26 or 255.255.255.192
auto Attempt to obtain IPv6 address, mask and gateway using SLAAC
dhcp [OPTION] Attempt to obtain IPv4 address, mask, gateway, DNS via DHCP
-d Show DHCP packet decode
-r Renew DHCP lease
-x Release DHCP lease
dns ip Set DNS server ip, delete if ip is '0'
domain NAME Set local domain name to NAME
PC1> ip dhcp
DDORA IP 192.168.0.101/24 GW 192.168.0.1
PC1> sho ip
NAME : PC1[1]
IP/MASK : 192.168.0.101/24
GATEWAY : 192.168.0.1
DNS : 8.8.8.8
DHCP SERVER : 192.168.0.1
DHCP LEASE : 86388, 86400/43200/75600
MAC : 00:50:79:66:68:00
LPORT : 10001
RHOST:PORT : 192.168.56.1:10000
MTU: : 1500

Несмотря на то, что VPCS для своей работы требует гораздо меньше оперативной памяти, чем эмулируемый маршрутизатор Cisco серии 7200, далее мы будем использовать именно маршрутизатор даже для выполнения роли клиента DHCP, так как, во-первых, командная строка маршрутизатора нам более привычна, а, во-вторых, мы не стеснены в ресурсах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *