Настройка PPPoE и PPPoL2TP [Документация VAS Experts]

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:bras_bng:bras_pppoe [2025/09/29 14:50] – ↷ Операцией перемещения обновлены ссылки elena.krasnobryzhdpi:bras_bng:bras_pppoe [2025/09/29 16:31] (текущий) elena.krasnobryzh
Строка 1: Строка 1:
-====== Настройка PPPoE авторизации ====== 
 {{indexmenu_n>9}} {{indexmenu_n>9}}
- +====== Настройка PPPoE и PPPoL2TP ====== 
-<note tip>Статья в блоге: [[https://vasexperts.ru/blog/tehnologii/pppoe-osobennosti-nastrojki/|PPPoE: особенности настройки, преимущества и отличия от других протоколов соединения]]\\ \\ Обзор L2 PPPoE Mode: {{youtube>ZmCvcSOg73k?}}</note> +  - [[dpi:bras_bng:bras_pppoe:pppoe_conf]] 
- +  [[dpi:bras_bng:bras_pppoe:pppoe_pppol2tp_parameters]] 
-FastDPI BRAS начиная с версии 7.2 поддерживает PPPoE. Для включения поддержки PPPoE необходимо: +  - [[dpi:bras_bng:bras_pppoe:pppoe_management]] 
-  - [[dpi:bras_bng:general_setup#настройка_bras_l2_в_fastdpi|Активировать BRAS]] +  [[dpi:bras_bng:bras_pppoe:pppol2tp_conf]]
-  - Задать в ''fastdpi.conf'': +
-<code bash> +
-    # Включаем PPPoE +
-bras_pppoe_enable=+
-    # Задаем максимальное число PPPoE-сессий +
-    # Рекомендуемое значение - в 1.5 - 2 раза больше числа PPPoE-абонентов +
-bras_pppoe_session=10000 +
- +
-    # Обязательно должны быть заданы IP и MAC-адреса шлюза/бордера, расположенного за СКАТ +
-    # (абонент -> СКАТ -> бордер/шлюз) +
-bras_gateway_ip=192.168.0.1 +
-bras_gateway_mac=aa:bb:cc:dd:ee:ff +
-</code> +
- +
-Поддерживаются протоколы авторизации PAP, CHAP, MS-CHAPv2. Список разрешенных протоколов авторизации задается conf-параметром ''bras_ppp_auth_list''. Протоколы в списке располагаются в порядке предпочтения: первый является самым предпочтительным. +
- +
-Идентификаторы поддерживаемых протоколов: +
- +
-  * [[https://tools.ietf.org/html/rfc1334|PAP]] - не рекомендуется к использованию +
-  * [[https://tools.ietf.org/html/rfc1994|CHAP-MD5]] +
-  * [[https://tools.ietf.org/html/rfc2759|MS-CHAPv2]] +
- +
-Значение по умолчанию: все протоколы, кроме 1 (PAP): +
-<code bash> +
-bras_ppp_auth_list=2,3 +
-</code> +
-Также возможна авторизация по MAC-адресу абонента, если в ''fastdpi.conf'' указано: +
-<code bash> +
-bras_ppp_mac_auth=1 +
-</code> +
-Авторизация по MAC-адресу применяется, если сторонам не удалось договориться о протоколе авторизации. +
- +
-  * [[dpi:bras_bng:bras_pppoe:bras_pppoe_conf|Дополнительные настройки PPPoE BRAS]] +
-  [[dpi:bras_bng:bras_pppoe:pppoe_pppol2tp_parameters:bras_pppoe_radius|Авторизация PPPoE-сессий на Radius-сервера]] +
- +
- +
-===== Обработка ARP в PPPoE ===== +
-Со стороны абонентов ARP-запросы в PPPoE-сетях смысла не имеют, так как PPPoE - это соединение "точка-точка" и абонент может посылать пакеты только к PPPoE-серверу, MAC-адрес которого абоненту известен. +
- +
-Со стороны WAN СКАТ обрабатывает все ARP-запросы "Who is IP=x.x.x.x?", где x.x.x.x - IP-адрес "живого" PPPoE-абонента. В ответ СКАТ возвращает значение параметра ''bras_arp_mac''. То есть СКАТ откликается на ARP-запросы к текущим PPPoE-сессиям. +
- +
-<note important>Если PPPoE-абоненту подключена услуга NAT, ARP-запросы со стороны WAN к PPPoE-сессиям не обрабатываются</note> +
- +
-Для PPPoE-сессий поддерживаются все основные функции BRAS: +
-  * [[dpi:bras_bng:bras_l2_options:bras_l2_vlan_ipsg|IP source guard]] +
-  [[dpi:bras_bng:bras_l2_options:bras_l2_vlan_local|Замыкание локального трафика]], в том числе разнородного, например, когда один сегмент является PPPoE-сетью, второй - DHCP-сетью +
- +
-===== Восстановление PPPoE-сессий при рестарте СКАТ ===== +
-При старте fastDPI пытается восстановить PPPoE-сессии абонентов из UDR, чтобы кратковременный рестарт сервиса был незаметен для абонентов. Такое восстановление сессий для некоторых биллингов может приводить к рассогласованию состояния сессий в биллинге и СКАТ, особенно при динамической раздаче IP-адресов: биллинг при выдаче адресов может руководствоваться последовательностью Access-Request + Acct-Start, тогда как при восстановлении сессии приходит только Acct-Start. В fastDPI 8.3 появилась возможность отключить восстановление PPPoE-сессий абонентов при старте: параметр ''bras_pppoe_restore_on_startup'' в ''fastdpi.conf'': +
-<code bash> +
-    # Восстанавливать PPPoE-сессии на старте fastDPI +
-    # 1 (значение по умолчанию) - восстанавливать +
-    # 0 - не восстанавливать. Абоненты будут создавать новые сессии. +
-#bras_pppoe_restore_on_startup=1 +
-</code> +
-Чтобы отключить восстановление PPPoE-сессий, следует явно задать ''bras_pppoe_restore_on_startup=0'' в ''fastdpi.conf''. В этом случае абонент должен будет создать новую PPPoE-сессию и пройти авторизацию; при попытке обратиться к старой сессии СКАТ будет посылать абоненту PADT-пакет терминации сессии.  +
- +
-===== Настройка Service-Name для VLAN ===== +
- +
-<note tip>Тег Service-Name доступен с версии DPI 12.3!</note> +
- +
-Тег Service-Name необходим для установки процедуры авторизации согласно требованиям RFC, СКАТ полностью поддерживает этот тег согласно всем требованиям.  +
- +
-Тег показывает, что далее следует имя сервиса. Поле TAG_VALUE представляет собой строку символов UTF-8 без завершающего NULL-символа. Нулевое значение поля TAG_LENGTH служит для индикации приемлемости любого сервиса.  +
-Примером использования тега Service-Name может служить индикация имени ISP2, класса или качества обслуживания. +
- +
-Управление производится отдельно для каждого VLAN id. +
- +
-Краткое руководство по управлению Service-Name можно вызвать командой <code>fdpi_cli help vlan group</code> +
- +
-==== Вывод свойств группы ==== +
-Вывод всех свойств для всех групп: +
-<code bash>fdpi_cli vlan group 0 show all</code> +
- +
-Вывод всех свойств для группы с конкретным id: +
-<code bash>fdpi_cli vlan group <id> show all</code> +
- +
-Здесь id - номер VLAN, для которого нужно вывести информацию по Service-Name. +
- +
-**Пример:** +
-<code bash>fdpi_cli vlan group 1150 show all</code> +
- +
-Показать политику авторизации по PPPoE: +
-<code bash>fdpi_cli vlan group <id> show auth pppoe</code> +
- +
-Показать политику для всех протоколов авторизации: +
-<code bash>fdpi_cli vlan group <id> show auth all</code> +
- +
-Показать политику использования служебных имен для авторизации с помощью PPPoE: +
-<code bash>fdpi_cli vlan group <id> auth pppoe show service-name all</code> +
- +
-==== Разрешение авторизации ==== +
-Разрешить авторизацию через PPPoE в конкретном VLAN: +
-<code bash>fdpi_cli vlan group <id> allow auth pppoe</code> +
- +
-Разрешить авторизацию через PPPoE для определенного Service-Name: +
-<code bash>fdpi_cli vlan group <id> auth pppoe allow add service-name name='<service_name>'</code> +
- +
-<note>При установлении PPPoE-сессии на этапе Discovery stage после получения PADI пакета допустима временная задержка (параметр ''delay'') перед отправлением PADO пакета. Допустимые значения параметра ''delay'': 0, 1, 2, 3, 4, 5.</note>  +
- +
-Разрешить авторизацию через PPPoE для определенного Service-Name с задержкой (измеряется в секундах): +
-<code bash>fdpi_cli vlan group <id> auth pppoe allow add service-name name='<service_name>' delay=<delay></code> +
- +
-**Пример:** +
-<code bash>fdpi_cli vlan group 1150 auth pppoe allow add service-name name='test1' delay=5</code> +
- +
-==== Запрет авторизации ==== +
-<note>Чтобы запретить авторизацию для определенного VLAN, сначала нужно удалить все существующие правила для данного VLAN. То есть, чтобы разрешить определенные Service-Name, сначала нужно запретить все и только потом разрешить определенные теги.</note> +
- +
-Запретить авторизацию через PPPoE в конкретном VLAN: +
-<code bash>fdpi_cli vlan group <id> deny auth pppoe</code> +
- +
-Запретить авторизацию через PPPoE для определенного Service-Name: +
-<code bash>fdpi_cli vlan group <id> auth pppoe deny add service-name name='<service_name>'</code> +
- +
-**Пример:** разрешаем авторизацию только определенным Service-Name: +
-<code bash> +
-fdpi_cli vlan group 1250 deny auth pppoe +
-fdpi_cli vlan group 1250 auth pppoe allow add service-name name='test2' +
-fdpi_cli vlan group 1250 auth pppoe allow add service-name name='test3' delay=3 +
-</code> +
- +
-**Пример:** запрещаем авторизацию только определенным Service-Name: +
-<code bash> +
-fdpi_cli vlan group 350 allow auth pppoe +
-fdpi_cli vlan group 350 auth pppoe deny add service-name name='test-sname'  +
-fdpi_cli vlan group 350 auth pppoe deny add service-name name='test-sname-too' +
-</code> +
- +
-При введении правил важна последовательность команд. Так, например, если ввести общий запрет авторизации после разрешающих правил, то авторизация с любым Service-Name в vlan 1250 будет недоступна: +
-<code bash> +
-fdpi_cli vlan group 1250 auth pppoe allow add service-name name='test2' +
-fdpi_cli vlan group 1250 auth pppoe allow add service-name name='test3' delay=3 +
-fdpi_cli vlan group 1250 deny auth pppoe +
-</code> +
- +
-Данное ограничение распространяется и на одиночные запреты/разрешения. +
- +
-**Пример:** разрешить авторизацию с Service-Name "test-sname"+
-<code bash> +
-fdpi_cli vlan group 350 auth pppoe deny add service-name name='test-sname' +
-fdpi_cli vlan group 350 auth pppoe allow add service-name name='test-sname' +
-</code> +
- +
-**Пример:** запретить авторизацию с Service-Name "test-sname"+
-<code bash> +
-fdpi_cli vlan group 350 auth pppoe deny add service-name name='test-sname' +
-fdpi_cli vlan group 350 auth pppoe allow add service-name name='test-sname' +
-fdpi_cli vlan group 350 auth pppoe deny add service-name name='test-sname' +
-</code> +
- +
-==== Другие команды ==== +
-Удалить Service-Name и его свойства: +
-<code bash>fdpi_cli vlan group <id> auth pppoe delete service-name name='<service_name>'</code> +
- +
-Удалить все правила для всех заведенных VLAN (равносильно обработке VLAN по умолчанию): +
-<code bash>fdpi_cli vlan group 0 delete all</code>+