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

Различия

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

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

Следующая версия
Предыдущая версия
dpi:bras_bng:bras_pppoe:pppol2tp_conf [2025/09/29 15:01] – создано elena.krasnobryzhdpi:bras_bng:bras_pppoe:pppol2tp_conf [2025/09/29 16:13] (текущий) elena.krasnobryzh
Строка 1: Строка 1:
 {{indexmenu_n>4}} {{indexmenu_n>4}}
 ======Настройка PPPoL2TP и команды====== ======Настройка PPPoL2TP и команды======
 +L2TP (Layer 2 Tunneling Protocol) — протокол для туннелирования трафика уровня 2 через сеть уровня 3. L2TP используется для обеспечения туннелирования протокола PPP (Point-to-Point Protocol, «точка-точка») в вашей сети.
 +
 +Для работы L2TP требуется LAC (L2TP access concentrator, концентратор доступа L2TP) и LNS (L2TP network server, сетевой сервер L2TP). LNS является одной из конечных точек туннеля L2TP. LAC, настроенный на устройстве доступа, получает пакеты от удаленного клиента и пересылает их на LNS в удаленной сети. LAC и LNS являются одноранговыми.
 +
 +Особенности реализации:
 +  - Поддерживается L2TPv2
 +  - Так как абонент выступает в роли концентратора (LAC), то между абонентом и LNS (L2TP-сервером СКАТ) устанавливается один туннель, в нем ровно одна PPP сессия. 
 +  - Транспорт для L2TP - только IPv4 (IPv6 не планируется)
 +  - При установке L2TP-соединения (туннеля) никакой авторизации не требуется: BRAS LNS устанавливает L2TP туннель с любым инициатором; для установки L2TP туннеля инициатор (в роли LAC) не использует пароль, BRAS не проверяет имя инициатора и не требует пароль для L2TP туннеля.
 +
 +С точки зрения BRAS, есть два типа L2TP абонентов. Абонентам выдан IP локального BRAS для установки L2TP:
 +  - Абонент PPPoL2TP получает IP-адрес по DHCP на текущем BRAS и поднимает L2TP с текущим BRAS.\\ {{:dpi:bras_bng:bras_pppoe:pppol2tp_conf_1.png?nolink&600|}}
 +  - Абонент PPPoL2TP получает IP-адрес по DHCP на удаленном BRAS и поднимает L2TP с текущим BRAS.\\ {{:dpi:bras_bng:bras_pppoe:pppol2tp_conf_2.png?nolink&600|}}
 +
 +**Параметры:**
 +^ Параметр                  ^ Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ^ Значение по умолчанию и возможные значения                                                                                   ^
 +| ''bras_l2tp_enable''          | Включение функциональности BRAS L2TP (PPPoL2TP). Примечание: опция ''bras_enable'' должна быть включена. Требует перезапуска                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                              |
 +| ''bras_l2tp_max_retransmit''  | Максимальное число ретрансмитов CTL-сообщений (RFC 2661 p.5.8). Если не получили подтверждения приема ни на один ретрансмит — туннель закрывается (как неактивный).  \\ Не требует перезапуска                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Значение по умолчанию — 5                                                                                                    |
 +| ''bras_l2tp_mru''             | Максимальный размер PPP-пакета, инкапсулированного в L2TP. Если для L2TP-сервера явно не задан MTU — используется значение опции ''bras_l2tp_mru''.\\ :!: Параметр может настраиваться на уровне LNS сервера через CLI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Значение по умолчанию — 1460                                                                                                 |
 +| ''bras_l2tp_ratelimit''       | Контроль количества запросов от абонента на открытие L2TP-туннеля/сессии в секунду (предотвращение L2TP-спама). \\ Не требует перезапуска                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 0 — контроль отключен (значение по умолчанию)                                                                                |
 +| ''bras_l2tp_ratelimit_ban''   | Время бана абонента при превышении ''bras_l2tp_ratelimit'', в секундах.  \\ Не требует перезапуска                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | При включенном режиме контроля bras_l2tp_ratelimit (bras_l2tp_ratelimit != 0) этот параметр должен быть задан отличным от 0  |
 +| ''bras_l2tp_min_lifetime''    | Минимальное время жизни туннеля, секунд. Абонент может создавать новые туннели не чаще, чем раз в ''bras_l2tp_min_lifetime'' секунд (защита от спама).  \\ Не требует перезапуска                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Значение по умолчанию: 2\\ 0 — без ограничений                                                                               |
 +| ''bras_l2tp_default_vrf''     | Имя VRF по умолчанию, в котором анонсируются L2TP-сервера. VRF может быть задана индивидуально для каждого L2TP-сервера. Если для сервера явно не задан VRF — используется VRF, заданный в этой опции. \\ Не требует перезапуска.\\ :!: Параметр может настраиваться на уровне LNS сервера через CLI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                              |
 +| ''ajb_save_ip''               | Запись L2TP-пакетов в pcap задается параметром ajb_save_ip. В нем можно указать:\\ - IP-адрес абонента для L2TP-туннеля, будет записываться весь трафик для данного абонента;\\ - IP-адрес L2TP-сервера: в этом случае в pcap будет записываться весь обмен данными с этим сервером.\\ Подробнее про параметр в разделе [[dpi:bras_bng:cli:bras_l2_vlan_trace]]\\ :!: Параметр может настраиваться на уровне LNS сервера через CLI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                              |
 +| ''allowed-mark''              | Добавлена возможность указывать, для каких подсетей можно создавать L2TP-туннели. Как обычно, подсети указываются через AS (файлы ''aslocal.bin'' и ''asnum.dscp''); среди флагов AS разрешено только ''mark3''.\\ В свойствах L2TP-сервера с помощью параметра ''allowed-mark'' указывается номер флага (''1'', ''2'' или ''3''), который будет признаком разрешения устанавливать L2TP-туннели для этой AS. Пример задания флага AS ''mark2'': \\ l2tp server modify 78.107.11.103 allowed-mark=2\\ По умолчанию, у LNS нет свойства allowed-mark, то есть разрешено создавать туннели для всех IP. Чтобы удалить у LNS свойство allowed-mark, нужно указать allowed-mark=0: \\ ''l2tp server modify 78.107.11.103 allowed-mark=0''\\ После этого данный L2TP-сервер будет создавать туннели для любого абонента.\\ То есть общий алгоритм указания ACL для LNS-сервера таков:\\ 1. Выбираем флаг ''mark3'', который мы будем использовать как метку ACL. Используется только флаг ''mark3'' во избежание коллизии с маркировкой для других целей\\ 2. Помечаем в ''asnum.dscp'' автономные системы для разрешенных подсетей этим флагом (см. [[dpi:bras_bng:general_setup]])\\ 3. CLI-командой задаем LNS-серверу свойство ''allowed-mark'', равное номеру флага\\ \\ :!: Параметр может настраиваться на уровне LNS сервера через CLI  |                                                                                                                              |
 +
 +**CLI-команды:**
 +^ Команда                            ^ Описание                                                                                                                                                                              ^
 +| ''l2tp server add IP <props>''     | Добавление нового L2TP-сервера                                                                                                                                                        |
 +| ''l2tp server modify IP <props>''  | Изменение свойств уже заданного L2TP-сервера                                                                                                                                          |
 +| ''l2tp server delete IP''          | Удаление L2TP-сервера                                                                                                                                                                 |
 +| ''l2tp show [all|IP]''             | Просмотр свойств L2TP-серверов                                                                                                                                                        |
 +| ''l2tp stat [all|IP]''             | Просмотр статистики L2TP-серверов                                                                                                                                                     |
 +| ''l2tp term''                      | Закрытие всех L2TP-сессий. Есть возможность указать параметры ''ip'', ''mac'', ''subs_id'', ''login'' или ''all'':\\ ''l2tp term [hard] [ip=X | mac=X | subs_id=X | login=X | all]''  |
 +
 +=====Статистика LNS=====
 +Вывести статистику: 
 +<code bash>fdpi_cli l2tp server stat <IP></code>
 +
 +Пример вывода:
 +<code bash>
 +        invalid session type: 0
 +           session not found: 13
 +            bad L2TP version: 0
 +        malformed ctl packet: 0
 +          too complex packet: 0
 +      unknown mandatory attr: 0
 +     unsupported ctl message: 0
 +      unexpected ctl message: 2
 +                out of order: 0
 +        window size exceeded: 0
 +    too many unconfirmed msg: 0
 +    subs IP/tid/sid mismatch: 0
 +       malformed data packet: 0
 +          too frequent SCCRQ: 0
 +              rate-limit ban: 0
 +            AS access denied: 0
 +               MTU exhausted: 0
 +    ctl retransmit exhausted: 0
 +               FSM violation: 0
 +                       TOTAL: 15
 +</code>
 +
 +Описание параметров вывода:
 +  - ''invalid session type'' — Найденная в PPP DB по l2subs_id сессия не является L2TP-сессией
 +  - ''session not found'' — Сессия не найдена в PPP DB по l2subs_id
 +  - ''bad L2TP version'' — Неподдерживаемая версия L2TP
 +  - ''malformed ctl packet'' — Ошибочный ctl-пакет (не соответствует RFC)
 +  - ''too complex packet'' — Слишком сложный пакет - слишком много атрибутов
 +  - ''unknown mandatory attr'' — Неизвестный обязательный атрибут
 +  - ''unsupported ctl message'' — Неподдерживаемый ctl-пакет
 +  - ''unexpected ctl message'' — В текущем состоянии ctl-пакет не поддерживается
 +  - ''out of order'' — Нарушен порядок ctl-пакетов
 +  - ''window size exceeded'' — Нарушение размера нашего окна
 +  - ''too many unconfirmed msg'' — Слишком много неподтвержденных ctl msg у сессии
 +  - ''subs IP/tid/sid mismatch'' — Ошибка: IP абонента, или L2TP tunnel/session is не совпадает с теми, что запомнены в сессии
 +  - ''malformed data packet'' — Ошибочный data-пакет
 +  - ''too frequent SCCRQ'' — Слишком частое пересоздание L2TP-туннеля
 +  - ''rate-limit ban'' — Превышение ratelimit
 +  - ''AS access denied'' — Запрет создания L2TP-сессий для подсети (=> для AS)
 +  - ''MTU exhausted'' — Превышение MTU (snaplen) при поступлении пакета на обработку
 +  - ''ctl retransmit exhausted'' — Число закрытых сессий из-за исчерпания ретрансмитов ctl-сообщений
 +  - ''FSM violation'' — Нарушение state machine
 +