PPoE интерфейс#

Описание#

PPPoE - это сетевой протокол, используемый для установки соединений типа точка-точка между двумя узлами в сети Ethernet. PPPoE обеспечивает механизм аутентификации пользователей, управления сеансами и маршрутизации данных через Ethernet-сеть.

Протокол PPPoE добавляет кадры PPP поверх Ethernet кадров. Каждый кадр PPPoE состоит из заголовка PPPoE и полезной нагрузки PPP. Заголовок PPPoE содержит информацию, необходимую для управления и маршрутизации кадров PPP, а также метаданные для управления сеансом PPPoE.

Основные характеристики протокола PPPoE#

Основные характеристики протокола PPPoE включают:

  • Аутентификация и безопасность: PPPoE обеспечивает механизм аутентификации для контроля доступа к сети. Это позволяет провайдерам услуг Интернета обеспечить безопасный доступ для своих клиентов, требуя аутентификации с помощью уникальных учетных данных.

  • Масштабируемость и гибкость: PPPoE позволяет обслуживать большое количество пользователей и предоставлять различные уровни услуг, включая широкополосный доступ к Интернету и специализированные сетевые сервисы.

  • Управление сеансами: Протокол предоставляет механизм управления сеансами, позволяющий установить, поддерживать и завершать соединение по запросу клиента или провайдера услуг.

  • Динамическое присвоение IP-адресов: PPPoE поддерживает динамическое присвоение IP-адресов клиентам при установлении сеанса. Это позволяет оптимизировать использование адресного пространства и облегчить администрирование сети.

  • Поддержка различных типов сетей: PPPoE может использоваться в различных типах сетей, включая Ethernet, Wi-Fi и другие технологии передачи данных. Это делает его универсальным средством подключения к Интернету для различных устройств и сетевых конфигураций.

  • Ретрансляция данных: Протокол включает в себя механизмы ретрансляции данных, который обеспечивает надежную передачу информации в случае возникновения ошибок или потерь пакетов в сети.

  • Поддержка шифрования и защиты данных: PPPoE может использовать различные методы шифрования и защиты данных для обеспечения конфиденциальности и целостности передаваемой информации, что делает его подходящим для использования в безопасных сетевых средах.

Принцип работы PPPoE#

Процесс работы протокола PPPoE может быть разбит на несколько этапов:

  • Инициализация: Клиентский узел (обычно маршрутизатор или компьютер) инициирует соединение с сервером PPPoE (например, у поставщика услуг интернета).

  • Отправка запроса на соединение (PADI): Клиент отправляет широковещательное сообщение PADI, чтобы найти доступные серверы PPPoE.

  • Ответ сервера (PADO): Сервер, получивший запрос, отправляет сообщение PADO с предложением соединения клиенту.

  • Запрос на подключение (PADR): Клиент выбирает сервер из предложенных и отправляет запрос на подключение PADR.

  • Подтверждение (PADS): Сервер, получив запрос на подключение, отправляет подтверждение PADS клиенту.

  • Аутентификация: Происходит обмен данными для аутентификации клиента. Это может включать в себя ввод имени пользователя и пароля.

  • Установление сеанса PPP: После успешной аутентификации устанавливается сеанс протокола PPP между клиентом и сервером.

  • Передача данных: После установления сеанса PPP между клиентом и сервером начинается передача данных. Это может включать передачу IP-пакетов и других сетевых данных.

  • Мониторинг сеанса: Во время сеанса обе стороны могут отслеживать его состояние, проверяя статус подключения и обмен сетевыми пакетами.

  • Завершение сеанса: По окончании использования клиент может завершить сеанс, отправив соответствующий запрос серверу PPPoE.

  • Завершение соединения: После завершения сеанса сервер освобождает ресурсы, занятые для этой сессии, и закрывает соединение.

  • Обработка ошибок и ретрансляция данных: В случае возникновения ошибок или потерь пакетов в сети, PPPoE может осуществлять ретрансляцию (повторную отправку) пакетов для гарантированной доставки информации.

Этот процесс обеспечивает эффективное и безопасное управление соединением между клиентом и сервером PPPoE, обеспечивая надежный доступ к Интернету и другим сетевым ресурсам.

Сценарии использования#

Протокол PPPoE используется в различных сценариях и сетевых средах. Вот несколько примеров его применения:

Домашние сети#

PPPoE часто используется в домашних сетях для подключения к Интернету через DSL, где сигнал передается по телефонной линии, или через другие технологии, такие как Ethernet.

Корпоративные сети#

В корпоративных сетях PPPoE может быть использован для управления доступом сотрудников к корпоративному интернету или внутренним ресурсам, обеспечивая аутентификацию и контроль доступа.

Провайдеры услуг Интернета#

ISP используют PPPoE для управления и предоставления доступа к интернет-соединениям своим клиентам. Он позволяет провайдерам контролировать и отслеживать подключения, а также предоставлять услуги аутентификации и маршрутизации.

Общественные сети доступа к Интернету#

В общественных местах, таких как кафе, аэропорты или гостиницы, PPPoE может быть использован для предоставления доступа к сети Интернет через общедоступные точки доступа Wi-Fi или проводные сети.

Индустриальные и специализированные сети#

PPPoE может использоваться в различных промышленных и специализированных сетях, где требуется управление доступом, аутентификация пользователей и обмен данными посредством Ethernet.

Таким образом, PPPoE широко применяется в различных сетевых средах, где необходимо управление доступом, безопасность и эффективная передача данных через Ethernet.

Настройка#

Пример настройки#

Пример настройки PPPoE соединения между провайдером и устройством на базе ПО Факел.

Параметры для настройки PPPoE:

  • Сетевой интерфейс вашего устройства на базе ПО Факел подключен к сетевому оборудованию провайдера.

  • Для связи с провайдером не требуется настройка VLAN для сетевого интерфейса устройства на базе ПО Факел .

  • Для настройки необходимо получить учетные данные PPPoE от вашего DSL провайдера.

  • Максимальный размер MTU, который можно использовать в DSL, составляет 1492 байта. Если вы переходите от провайдера, использующего DHCP, например, кабельного, то имейте в виду, что для работы в рамках этого ограничения может потребоваться корректировка размера MTU, например, для VPN-каналов.

  • Если для параметра default-route установлено значение auto, то ПО Факел добавит в таблицу маршрутизации шлюз по умолчанию, полученный от DSL-провайдера только в том случае, если у вас нет других WAN подключений. Если вы хотите использовать двойное WAN соединение, измените значение параметра default-route на force. Можно также установить статический интерфейс маршрут и задать для параметра default-route значение none.

  • Если опция name-server установлена в значение none, то ПО Факел будет игнорировать серверы имен, которые присылает вам провайдер, и будет использовать те, которые вы настроили статически.

Список команд для настройки протокола PPPoE:

set interfaces pppoe pppoe0 default-route 'auto'
set interfaces pppoe pppoe0 mtu 1492
set interfaces pppoe pppoe0 authentication user 'userid'
set interfaces pppoe pppoe0 authentication password 'secret'
set interfaces pppoe pppoe0 source-interface 'eth0'

В приведенную выше конфигурацию также следует добавить настройку межсетевого экрана для работы на интерфейсе PPPoE. Для этого нужно назначить политики межсетевого экрана для всех направлений трафика на интерфейс pppoe0.

Список команд для настройки работы межсетевого экрана на интерфейсе PPPoE:

set interfaces pppoe pppoe0 firewall in name NET-IN
set interfaces pppoe pppoe0 firewall local name NET-LOCAL
set interfaces pppoe pppoe0 firewall out name NET-OUT

Примечание

Политики межсетевого экрана настраиваются индивидуально, в зависимости от типа трафика, который присутствует в вашей сети. Подробное описание настройки правил межсетевого экрана представлено в разделе Межсетевой экран.

PPPoE соединение через VLAN интерфейс#

Некоторые современные провайдеры требуют построения PPPoE соединения через VLAN интерфейс. Операционная система может легко создать PPPoE сессию через VLAN-интерфейс. В следующей конфигурации PPPoE-соединение будет осуществляться через VLAN7.

Список команд для настройки построения PPPoE соединение через VLAN интерфейс:

set interfaces pppoe pppoe0 default-route 'auto'
set interfaces pppoe pppoe0 mtu 1492
set interfaces pppoe pppoe0 authentication user 'userid'
set interfaces pppoe pppoe0 authentication password 'secret'
set interfaces pppoe pppoe0 source-interface 'eth0.7'

Список команд#

Основные настройки#

set interfaces pppoe <interface> description <description>#

Задает псевдоним <description> для сетевого интерфейса <interface>. Например псевдоним может использоваться командой show interfaces или средствами мониторинга на базе SNMP.

set interfaces pppoe <interface> disable#

Отключает сетевой интерфейс <interface>. После отключения интерфейс будет переведен в состояние административного отключения (A/D).

set interfaces pppoe <interface> vrf <vrf>#

Размещает сетевой интерфейс <interface> в указанном экземпляре VRF <vrf>.

Настройка параметров PPPoE#

set interfaces pppoe <interface> access-concentrator <name>#

Определяет сервер доступа <name> для PPPoE соединения через сетевой интерфейс <interface>.

set interfaces pppoe <interface> authentication user <username>#

Устанавливает имя пользователя для аутентификации с удаленной конечной точкой для PPPoE соединения через сетевой интерфейс <interface>.

set interfaces pppoe <interface> authentication password <password>#

Устанавливает пароль для аутентификации с удаленной конечной точкой для PPPoE соединения через сетевой интерфейс <interface>.

set interfaces pppoe <interface> connect-on-demand#

Активирует режим dial-on-demand для PPPoE интерфейса <interface>.

set interfaces pppoe <interface> default-route [auto | force | none]#

Определяет значение параметра default-route, который отвечает за автоматическое добавление маршрута по умолчанию для PPPoE интерфейса <interface>.

  • default: Маршрут по умолчанию к удаленной конечной точке добавляется автоматически при появлении соединения.

  • auto: Маршрут по умолчанию добавляется, если в системе не существует другого маршрута по умолчанию (из любого источника).

  • force: Маршрут по умолчанию добавляется после удаления всех существующих маршрутов по умолчанию.

  • none: Маршрут по умолчанию не устанавливается.

Примечание

Маршрут по умолчанию добавляется только в том случае, если в системе не существует другого маршрута по умолчанию.

set interfaces pppoe <interface> mru <mru>#

Устанавливает размер MRU <mru> для PPPoE интерфейса <interface>. Значение MRU должно находиться в диапазоне от 128 до 16384. По умолчанию используется значение 1492 байта.

Примечание

При использовании протокола IPv6 размер MTU должно быть не менее 1280 байт.

set interfaces pppoe <interface> idle-timeout <time>#

Устанавливает интервал ожидания <time> для PPPoE интерфейса <interface>. При установке соединения по запросу канал активируется только при отправке трафика и отключается, если канал простаивает в течение указанного интервала.

Если этот параметр не задан или равен 0, то соединение по запросу будет оставаться включенным всегда.

set interfaces pppoe <interface> local-address <address>#

Задает адрес локального устройства <address> для сеанса PPPoE через PPPoE интерфейс <interface>. Если адрес локального устройства не задан, то он будет согласован в процессе инициализации PPPoE сессии.

set interfaces pppoe <interface> mtu <mtu>#

Устанавливает размер MTU для PPPoE интерфейса <interface>.

set interfaces pppoe <interface> no-peer-dns#

Отключает использование внешних DNS серверов. При активации данного параметра используется только локальный DNS сервер.

set interfaces pppoe <interface> remote-address <address>#

Устанавливает адрес удаленного устройства <address> для сеанса PPPoE через PPPoE интерфейс <interface>. Если адрес удаленного устройства не задан, то он будет согласован в процессе инициализации PPPoE сессии.

set interfaces pppoe <interface> service-name <name>#

Задает имя сервиса <name>, по которому локальный интерфейс PPPoE может выбирать сервера доступа для подключения.

set interfaces pppoe <interface> source-interface <source-interface>#

Определяет физический интерфейс <source-interface> для привязки PPPoE соединения к этому физическому интерфейсу. Каждое PPPoE соединение должно быть установлено через физический интерфейс.

Настройка параметром для протокола IPv6#

set interfaces pppoe <interface> ipv6 address autoconf#

Активирует механизм автоматической настройки Stateless autoconfig (SLAAC) для получение IPv6 адреса.

set interfaces pppoe <interface> dhcpv6-options pd <id> length <length>#

Определяет размер префикса IPv6 <length>, запрашиваемого у провайдера. Значение размера запрашиваемого префикса находится в диапазоне от 32 до 64. Значение по умолчанию соответствует 64.

set interfaces pppoe <interface> dhcpv6-options pd <id> interface <delegatee> address <address>#

Устанавливает адрес <address> для интерфейса <delegatee>, на который был делегирован префикс.

set interfaces pppoe <interface> dhcpv6-options pd <id> interface <delegatee> sla-id <id>#

Устанавливает значение идентификатора Site-Level Aggregator (SLA) на интерфейсе. Значение идентификатора должно быть десятичным числом, большим 0, которое укладывается в длину идентификаторов SLA.

Мониторинг и эксплуатация#

show interfaces pppoe <interface>#

Выводит на экран подробную информацию об указанном интерфейсе PPPoE <interface>.

Пример работы команды show interfaces pppoe <interface>:

admin@fakel:~$ show interfaces pppoe pppoe0
pppoe0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp
    inet 192.0.2.1 peer 192.0.2.255/32 scope global pppoe0
    valid_lft forever preferred_lft forever

    RX:  bytes    packets     errors    dropped    overrun      mcast
    7002658233    5064967          0          0          0          0
    TX:  bytes    packets     errors    dropped    carrier collisions
    533822843    1620173          0          0          0          0
show interfaces pppoe <interface> queue#

Выводит на экран информацию об очередях для указанного интерфейса PPPoE <interface>.

Пример работы команды show interfaces pppoe <interface> queue:

admin@fakel:~$ show interfaces pppoe pppoe0 queue
qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 534625359 bytes 1626761 pkt (dropped 62, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
disconnect interface <interface>#

Отключает указанный интерфейс PPPoE <interface>.

connect interface <interface>#

Включает указанный интерфейс PPPoE <interface>.