backup: 2026-04-17 11:28
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags:
|
||||
- network
|
||||
created: 2025-12-22
|
||||
updated: 2026-03-24
|
||||
title: DHCP-snooping
|
||||
---
|
||||
|
||||
# DHCP-snooping
|
||||
DHCP-snooping - функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP.
|
||||
|
||||
Например, атаки с подменой **DHCP**-сервера в сети или атаки **DHCP** starvation, которая заставляет **DHCP**-сервер выдать все существующие на сервере адреса злоумышленнику.
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- network
|
||||
updated: 2026-03-24
|
||||
title: DHCP
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# DHCP
|
||||
DHCP - **Dynamic Host Configuration Protocol**
|
||||
|
||||
При простой конфигурации сети (устройств мало и они не изменяются), сетевой администратор может спокойно сам прописать всем устройствам статичный IP и это нормально.
|
||||
|
||||
Но если в сети есть мобильные клиенты или устройства постоянно то приходят, то уходят, то задача становится весьма трудоемкой. Для решения это проблемы существует протокол DHCP, позволяющий удобно управлять распределением адресов в сети.
|
||||
|
||||
Существует 3 механизма работы DHCP:
|
||||
|
||||
1. Manual Allocation (Ручное распределение) - администратор предварительно настраивает IPv4 адрес клиенту, а сервер его автоматически передает.
|
||||
2. Automatic Allocation (Автоматическое) - Администратор выделяет пул адресов серверу и тот сам распределяет их между клиентами, но нет понятия "аренды" после присвоения этот IP остается с клиентом навсегда.
|
||||
3. Dynamic Allocation (Динамическое распределение) - сервер динамически назначает IP-адреса из выделенного пула на ограниченный срок, после его истечения, устройство должно заново запросить IP. Сервер, как правило, просто продлевает аренду.
|
||||
|
||||
%% Begin Waypoint %%
|
||||
- [[Механизм работы - DHCP]]
|
||||
- [[Настройка DHCP - Cisco]]
|
||||
- [[Настройка DHCP Snooping и DAI]]
|
||||
- [[DHCP-snooping]]
|
||||
- [[Dynamic ARP Inspection]]
|
||||
|
||||
%% End Waypoint %%
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags:
|
||||
- network
|
||||
created: 2025-12-22
|
||||
updated: 2026-03-24
|
||||
title: Dynamic ARP Inspection
|
||||
---
|
||||
|
||||
# Dynamic ARP Inspection
|
||||
**Dynamic ARP Inspection** — функция коммутатора, предназначенная для защиты от атак с использованием протокола ARP.
|
||||
|
||||
Например, атаки ARP-spoofing, позволяющей перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена.
|
||||
Данная функция предотвращающая атаку типа **Man-in-The-Middle**. Это такой вид атаки, когда к вашей сети подключается устройство злоумышленника и, например, объявляет, что IP адрес, принадлежащий авторизованному серверу, принадлежит ему. После этого все данные, которые отправляются на сервер переходят через устройство злоумышленника.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- network
|
||||
updated: 2026-03-24
|
||||
title: Механизм Работы - DHCP
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Механизм Работы - DHCP
|
||||
Получение IP-адреса по механизму DORA (Discovery, Offer, Request, Ack)
|
||||
|
||||
1. dhcpDISCOVER
|
||||
Клиент, у которого нет IP-адреса, отправляет широковещательный запрос (broadcast) в сеть. В нем он сообщает свой MAC-адрес с адресом назначения `255.255.255.255`, и т.к. у клиента ещё нет IP, то отправитель - `0.0.0.0`
|
||||
2. dhcpOFFER
|
||||
После получения запроса, существующий в сети DHCP-сервер резервирует свободный адрес из пула и создает ARP запись (сопоставление MAC и IP) и отправляет на `0.0.0.0` "предложение" клиенту с этим IP.
|
||||
3. dhcpREQUEST
|
||||
Ответ клиента уже с полученным IP, если DHCP-серверов несколько, то ответ также широковещательный.
|
||||
Используется request также и для продления.
|
||||
4. dhcpACK
|
||||
Сервер отправляет "подтверждение принятия" клиентом адреса и окончательно фиксирует аренду.
|
||||
|
||||

|
||||
|
||||
При истечении аренды IP-адреса, клиент отправляет REQUEST-запрос серверу, который выдал ему адрес для продления, для получения ACK.
|
||||
|
||||
Если сервер не отвечает, то клиент отправляет broadcast-запрос ко всем серверам.
|
||||
|
||||

|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- network
|
||||
updated: 2026-03-24
|
||||
title: Настройка DHCP - Cisco
|
||||
created: 2025-12-17
|
||||
---
|
||||
|
||||
# Настройка DHCP - Cisco
|
||||
|
||||
- **Исключение адресов из пула**
|
||||
|
||||
```text-plain
|
||||
Router(config)# ip dhcp excluded-address 192.168.1.254
|
||||
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.9
|
||||
```
|
||||
|
||||
- **Настройка DHCP-пула**
|
||||
|
||||
```bash
|
||||
Router(config)# ip dhcp pool POOL-1 - создание пула
|
||||
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
|
||||
Router(dhcp-config)# default-router 192.168.1.1
|
||||
|
||||
Router(dhcp-config)# dns-server 192.168.1.2 - dns-сервер
|
||||
Router(dhcp-config)# domain-name merionet.ru - доменное имя
|
||||
Router(dhcp-config)# lease 2 - время аренды
|
||||
|
||||
Router(dhcp-config)# show ip dhcp binding - ARP-таблица
|
||||
```
|
||||
|
||||
- Ретрансляция DHCP (DHCP RELAY)
|
||||
|
||||
```bash
|
||||
Router_2(config)# interface g0/0
|
||||
Router_2(config-if)# ip helper-address 192.168.1.1
|
||||
```
|
||||
|
||||
- Настройка роутера как DHCP-клиента
|
||||
|
||||
```text-plain
|
||||
Router_3(config)# interface g0/0
|
||||
Router_3(config-if)# ip address dhcp
|
||||
```
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
status: seed
|
||||
type: lab
|
||||
tags:
|
||||
- network
|
||||
created: 2025-12-22
|
||||
updated: 2026-03-24
|
||||
title: Настройка DHCP Snooping И DAI
|
||||
---
|
||||
|
||||
# Настройка DHCP Snooping И DAI
|
||||
Чтобы включить DHCP Snooping и DAI нужно, для начала, задать доверенные и не доверенные порты. По умолчанию, все порты, к которым подключаются конечные пользователи считаются **не доверенными**.
|
||||
|
||||
```js
|
||||
AccSwitch# conf t
|
||||
AccSwitch(config)#
|
||||
AccSwitch(config)#int ra gi1/0/1-46
|
||||
AccSwitch(config-if-range)#ip dhcp snooping limit rate 15
|
||||
AccSwitch(config-if-range)#ip arp inspection limit rate 100
|
||||
```
|
||||
|
||||
Тут мы задаем количество пакетов, которые должны проходить через не доверенный интерфейс. Обычно такого числа пакетов хватает для получения и обновления IP адреса. Далее настраиваем доверенные интерфейсы:
|
||||
```js
|
||||
AccSwitch(config)#int ra gi1/0/47-48
|
||||
AccSwitch(config-if-range)#ip dhcp snooping trust
|
||||
AccSwitch(config-if-range)#ip arp inspection trust
|
||||
```
|
||||
|
||||
После этого глобально включаем DHCP Snooping, но НЕ ARP Inspection:
|
||||
```js
|
||||
AccSwitch(config)#ip dhcp snooping
|
||||
AccSwitch(config)#ip dhcp snooping vlan 200
|
||||
AccSwitch(config)#no ip dhcp snooping information option
|
||||
```
|
||||
|
||||
Последняя команда отключает опцию 82, которая используется коммутатором в DHCP пакетах, идущих от DHCP клиента через коммутатор к DHCP серверу. Опция 82 содержит информацию об устройстве (например, MAC адрес коммутатора) и информацию о номере порта с которого идет запрос для того, чтобы сервер, опираясь на полученную информацию, смог выдать IP адрес DHCP клиенту из нужной подсети.
|
||||
|
||||
Далее переходим к настройке DAI. Если у вас в сети есть устройства со статическим IP адресом, то нужно как-то сказать коммутатору, чтобы порты, к которым подключены такие устройства не проверялись. Для этого существуют ARP списки доступа. Важно, чтобы название access-list-а было именно DAI. По личному опыту знаю, что в противном случае нужно вводить дополнительные команды. А так все работает без лишних команд.
|
||||
|
||||
```js
|
||||
AccSwitch(config)#
|
||||
AccSwitch(config)# arp access-list DAI
|
||||
AccSwitch(config-arp-nacl)# permit ip host 192.168.200.25 mac host 0017.6111.a309
|
||||
```
|
||||
|
||||
В таком порядке добавляем IP адреса всех устройств со статическим IP. Дополнительно можно настроить Sorce Guard. Этим мы конкретное устройство к порту коммутатора, таким образом другое устройство подключенное к указанному порту не сможет выдать себя за привязанное:
|
||||
|
||||
```js
|
||||
AccSwitch(config)#ip source binding 0017.6111.a309 vlan 200 192.168.200.14 interface Gi1/0/5
|
||||
```
|
||||
|
||||
Также под не доверенными интерфейсами нужно ввести команду _ip verify source_, которые проверяет источник запросов.
|
||||
|
||||
Важно! После всех настроек, приведенных выше, ждем сутки-две чтобы DHCP Snooping таблица заполнилась. В противном случае DAI будет блокировать все запросы, и пользователи не смогут работать в сети. Когда таблица заполнена включаем arp inspection:
|
||||
|
||||
```js
|
||||
AccSwitch(config)#ip arp inspection vlan 200
|
||||
```
|
||||
Reference in New Issue
Block a user