Обработка ARP [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_arp_proxy [2023/10/13 12:13] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_arp_proxy [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Обработка ARP ======
 +{{indexmenu_n>3}}
 +
 +Обработка ARP-запросов включается конфигурационным параметром ''bras_arp_proxy'', который представляет из себя 
 +набор битовых флагов:
 +  * 0 - режим ARP proxy отключен. В этом режиме BRAS отвечает сам только на ARP-запросы IP-адреса, равного bras_arp_ip.
 +  * 0x0001 - отвечать на ARP-запросы абонентов: если искомый IP-адрес является адресом абонента и статус сессии для этого абонента не равен "сессия закрыта"
 +  * 0x0002 - отвечать на ARP-запросы шлюзов абонентских подсетей. Адреса шлюзов извлекаются из абонентского DHCP-трафика.
 +  * 0x0004 [в режиме роутера] - отвечать, если есть путь до запрашиваемого IP. Данный флаг работает только если включен режим роутера. Если абонент запросит ARP для адреса, маршрут для которого известен, fastDPI ответит сам своим MAC-адресом ''bras_arp_mac''.
 +
 +При включении ARP proxy BRAS отвечает своим MAC-адресом (задается в конфигурационном 
 +параметре [[dpi:bras_bng:general_setup#настройка_bras_l2_в_fastdpi|bras_arp_mac]]). Заметим, что на все ARP-запросы с разными IP-адресами 
 +fastDPI отвечает одним и тем же MAC-адресом, это следует учитывать при конфигурировании сети.
 +
 +Прежде чем обработать ARP-запрос, fastDPI BRAS проверяет корректность IP-адреса источника ARP-запроса 
 +в соответствии с [[dpi:bras_bng:bras_l2_options:bras_l2_vlan_ipsg|IP source guard]].
 +
 +<note important>На самообращенные ARP (gratuitous/announcement ARP) fastDPI BRAS не отвечает. Никакие ARP-запросы не выпускаются наружу – fastDPI BRAS либо сам отвечает на них, либо дропает.</note>
 +
 +Особенности обработки ARP-запросов между абонентами, - от абонента A "who has target abonent B IP":
 +|                    ^  target abonent IP                                                                                                                                                             ^^^
 +^ source abonent IP  ^ no VLAN                                                             ^ VLAN                                                                                          ^ QinQ       ^
 +| **no VLAN**        |  ''drop'' (так как абоненты \\ могут связаться друг с другом сами)  | ''reply''                                                                                     | ''reply''  |
 +| **VLAN**            ''reply''                                                          | ''drop'', если ''srcIP vlan == dstIP vlan''; \\ ''reply'', если ''srcIP vlan != dstIP vlan''  | ''reply''  |
 +| **QinQ**            ''reply''                                                          | ''reply''                                                                                     | ''reply''  |
 +
 +**drop** - СКАТ молча дропает ARP-запрос \\
 +**reply** - СКАТ отвечает на ARP-запрос своим виртуальным MAC-адресом ''bras_arp_mac''
 +
 +В СКАТ 10.3 добавлена поддержка режима коммутатора - сегментирование абонентов в общем VLAN на сети доступа. В этом режиме абоненты даже в одном VLAN изолированы друг от друга на коммутаторе, поэтому СКАТ должен сам ответить на ARP-запрос между абонентами в одном VLAN. Это включается параметром в ''fastdpi.conf'':
 +<code>
 +    # Флаг сегментирования абонентов в общем VLAN на сети доступа
 +    # (изоляция абонентов на коммутаторе, т.е. абонам не доставляется трафик между друг другом даже в одном влане)
 +    # Учитывается только при установленном флаге 1 в bras_arp_proxy для ARP-запросов от одного абонента другому.
 +    # off (типичный случай) - абоненты A и B в одном VLAN могут взаимодействовать между собой напрямую, СКАТ
 +    #     не обрабатывает ARP-запрос от абонента A "who has abonent B IP"
 +    # on - на коммутаторе включена изоляция абонентов, находящихся в одном VLAN, поэтому СКАТ должен сам ответить
 +    #     на ARP-запрос от абонента A "who has target abonent B IP"
 +#bras_arp_vlan_segmentation=off
 +</code>
 +При включении ''bras_arp_vlan_segmentation=on'' обработка ARP-запроса между абонентами будет такой:
 +|              target abonent IP  ^^^
 +^ source abonent IP ^ no VLAN        ^ VLAN      ^ QinQ    ^
 +|**no VLAN**            |    ''drop'' (так как абоненты \\ могут связаться друг с другом сами)    | ''reply'' | ''reply''  |
 +|**VLAN**                  ''reply''   | ''reply'' | ''reply''  |
 +|**QinQ**                  ''reply''   | ''reply'' | ''reply''  |
 +
 +
 +===== Обработка ARP извне (со стороны бордера) =====
 +
 +Чтобы ARP таблица на бордере не замусоривалась однотипными записями,
 +СКАТ не отвечает бордеру своим MAC на ARP запросы по IP абонентов, 
 +вместо этого на бордере должен быть прописан транзитный маршрут через СКАТ для всех подсетей абонентов, 
 +которых он обслуживает. В качестве адреса назначения для таких маршрутов следует указывать значение,
 +задаваемое параметром ''bras_arp_ip''.
 +
 +<note important>Единственный тип ARP, на который BRAS отвечает, - это запрос своего IP-адреса ''bras_arp_ip''.</note>
 +
 +