Question: Пример настройки IP-MAC-Port Binding
Answer:
Answer:
Пример настройки IP-MAC-Port Binding | Скачать (PDF) |
Функция IP-MAC-Port Binding (IMPB), реализованная в коммутаторах D-Link, позволяет контролировать доступ компьютеров в сеть на основе их IP/MAC-адресов и порта подключения. Она позволяет бороться с атаками типа ARP Spoofing и атаками на протокол DHCP. Поэтому ее рекомендуется использовать на коммутаторах уровня доступа в сетях различного типа.
Работа функции основана на сравнении параметров входящих пакетов с параметрами хранящихся на коммутаторе записей, связывающих МАС- и IP-адреса клиентских устройств с портами подключения. В случае совпадения всех составляющих (IP/MAC-адресов и порта), пакеты будут передаваться, и клиенты получат доступ в сеть. Если при подключении клиента связка MAC-IP-порт будет отличаться от параметров заранее сконфигурированной записи, коммутатор заблокирует MAC-адрес соответствующего узла с занесением его в «черный лист».
Функция включает четыре режима работы: ARP Inspection (по умолчанию), IP Inspection, ND Snooping и DHCP/DHCPv6 Snooping.
При работе в режиме ARP Inspection коммутатор анализирует сообщения ARP и сопоставляет содержимое соответствующих полей с предустановленной администратором связкой IP-MAC.
В сообщениях ARP проверяется следующая информация:
- Заголовок Ethernet: поле Source Address.
- Полезная нагрузка ARP: поля Sender Hardware Address и Sender Protocol Address.
Если хотя бы один параметр не совпадает, то МАС-адрес узла будет занесен в таблицу коммутации с отметкой «Drop» (Отбрасывать). Если все параметры совпадают, МАС-адрес узла будет занесен в таблицу коммутации с отметкой «Allow» (Разрешен).
Порт коммутатора может быть настроен для работы в одном из двух режимов ARP Inspection:
- Strict Mode — в этом режиме порт по умолчанию заблокирован. Для того чтобы начать передавать данные, узел должен быть аутентифицирован.
- Loose Mode — в этом режиме порт по умолчанию открыт. Порт будет заблокирован, как только через него пройдет первое недостоверное сообщение ARP.
При работе в режиме IP Inspection коммутатор анализирует пакеты IPv4/v6 и сопоставляет содержимое соответствующих полей с предустановленной администратором связкой IP — MAC.
В IP-пакетах проверяется следующая информация:
- Заголовок Ethernet: поле Source Address.
- Заголовок IP: поле Source IP Address.
Коммутатор на основе предустановленной администратором таблицы IMPB («белый лист») создает аппаратную таблицу ACL. Любой IP-пакет, связка IP-MAC которого отсутствует в «белом листе», будет блокироваться ACL. Если режим IP Inspection отключен, правила для записей IMPB будут удалены из таблицы ACL.
Режимы ARP Inspection и IP Inspection могут работать совместно. Когда режим IP Inspection активирован и ARP Inspection отключен, все не IP-пакеты (сообщения протоколов канального уровня) будут передаваться по умолчанию.
Режим DHCPv4/v6 Snooping используется коммутатором для динамического создания записей IPv4/v6-MAC на основе анализа DHCP-пакетов и привязки их к портам с включенной функцией IMPB. Администратору не требуется создавать записи вручную. Таким образом, коммутатор автоматически создает «белый лист» IMPB в таблице коммутации и/или таблице ACL (если включен режим IP Inspection). Каждая создаваемая запись ассоциирована со временем аренды IP-адреса. Для обеспечения корректной работы, сервер DHCP или другой коммутатор должен быть подключен к доверенному порту с выключенной функцией IMPB. В случае подключения DHCP-сервера или коммутатора к порту, на котором включена функция IMPB, для него необходимо создать статическую связку IP-МАС-порт. В противном случае пакеты будут отбрасываться.
Администратор может ограничить максимальное количество создаваемых в процессе автоизучения записей IP-MAC на порт, то есть ограничить для каждого порта с активированной функцией IMPB количество узлов, которые могут получить IP-адрес от DHCP-сервера. При работе в режиме DHCP Snooping коммутатор не будет создавать записи IP-MAC для узлов с IP-адресом, установленным вручную.
Режим ND Snooping используется коммутатором для динамического создания записей IPv6-MAC на основе анализа сообщений Neighbor Solicitation (NS) и привязки их к портам с включенной функцией IMPB. Администратор может ограничить максимальное количество создаваемых в процессе автоизучения записей IPv6-MAC на порт.
Примечание к настройке
Рассматриваемые примеры настройки подходят для коммутаторов с D-Link-like CLI. Замените указанные в командах МАС-адреса на реальные адреса рабочих станций, подключенных к коммутатору.
Задача № 1
Необходимо настроить защиту от атаки типа ARP Spoofing. Коммутатор должен обнаружить, что на порт 2 приходят ARP-ответы, связка IP-MAC для которых отсутствует в таблице IMPB, и заблокировать МАС-адрес узла. Задача может быть решена настройкой функции IP-MAC-Port Binding в режиме ARP Inspection.
Схема сети представлена на рисунке 1.

Рис. 1 Схема подключения
Настройка коммутатора SW1
- Создайте записи IP-MAC-Port Binding, связывающие IP- и MAC-адреса узла с портами подключения:
create address_binding ip_mac ipaddress 192.168.1.2 mac_address 02-02-02-02-02-02 ports 2
create address_binding ip_mac ipaddress 192.168.1.3 mac_address 03-03-03-03-03-03 ports 2
|
- Активируйте функцию на требуемых портах, укажите режим работы портов (в примере настроен режим Loose):
config address_binding ip_mac ports 2 state enable arp_inspection loose
|
Задача № 2
Необходимо запретить пользователям локальной сети изменять МАС- и/или IP-адреса своих компьютеров, а также менять порт подключения к сети. Компьютеры используют статические адреса. Задача может быть решена настройкой функции IMPB в режиме IP Inspection.
Схема сети представлена на рисунке 2.

Рис. 2 Схема подключения
Настройка коммутатора
- Создайте записи IP-MAC-Port Binding, связывающие IP- и MAC-адреса узла с портами подключения:
create address_binding ip_mac ipaddress 192.168.1.2 mac_address 02-02-02-02-02-02 ports 2
create address_binding ip_mac ipaddress 192.168.1.3 mac_address 03-03-03-03-03-03 ports 10
|
- Активируйте функцию на требуемых портах:
config address_binding ip_mac ports 2,10 state enable ip_inspection enable
|
Примечание
Посмотреть созданную таблицу IMPB можно с помощью команды:
Посмотреть настройки функции на портах можно с помощью команды:
|
Задача № 3
Необходимо настроить коммутатор, чтобы он динамически создавал запись IMPB после того как клиент получит IP-адрес от DHCP-сервера. Задача может быть решена настройкой функции IP-MAC-Port Binding в режиме DHCPv4 Snooping.
Схема сети представлена на рисунке 3.

Рис. 3 Схема подключения
Примечание
Чтобы проводилась проверка входящих пакетов, режим DHCP Snooping должен использоваться совместно с режимами ARP Inspection или IP Inspection.
|
Настройка DHCP-сервера isc-dhcp-server
- Откройте конфигурационный файл /etc/dhcp/dhcpd.conf и добавьте строки:
$ sudo gedit /etc/dhcp/dhcpd.conf
default-lease-time 120;
max-lease-time 600;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.23;
option subnet-mask 255.255.255.0;
}
|
- Имя сетевого интерфейса, на котором запущен DHCP-сервер, передается ему в качестве аргумента при вызове. В ОС Linux аргументы и ключи вызова программ задаются в каталоге /etc/default. Укажите сетевой интерфейс, на котором сервер будет прослушивать запросы от клиентов. Для этого откройте файл /etc/default/isc-dhcp-server и введите:
$ sudo gedit /etc/default/isc-dhcp-server
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="enp0s3"
|
- Запустите DHCP-сервер:
$ sudo systemctl start isc-dhcp-server
|
Примечание
Каждый раз после изменения конфигурационного файла DHCP-сервера перезапускайте сервер с помощью команды:
|
- Проверьте статус DHCP-сервера:
$ sudo systemctl status isc-dhcp-server
|
Настройка коммутатора
- Активируйте режим DHCP Snooping на всех портах коммутатора:
enable address_binding dhcp_snoop ports 1-24
|
- Укажите максимальное количество создаваемых в процессе автоизучения записей IP-MAC на порт:
config address_binding dhcp_snoop max_entry ports 1-24 limit 2
|
- Создайте запись IP-MAC-Port Binding, связывающую IP- и MAC-адрес DHCP-сервера с портом 17:
create address_binding ip_mac ipaddress 192.168.1.1 mac_address 0A-0A-0D-CE-01-05 ports 17
|
- Активируйте функцию IP-MAC-Port Binding на портах и укажите режимы их работы. Для корректной работы протокола DHCP при активированной функции IMPB рекомендуется включить параметры allow_zeroip и forward_dhcppkt, которые позволяют передавать широковещательные сообщения DHCPDISCOVER от клиентов с IP-адресом источника 0.0.0.0:
config address_binding ip_mac ports 1-24 state enable arp_inspection loose allow_zeroip enable forward_dhcppkt enable
|
Примечание
Посмотреть созданные в режиме DHCP Snooping динамически записи и другие параметры можно с помощью команды:
|