PPPoE — что это, как работает протокол подключения | Глоссарий FREEHOSTING

PPPoE

PPP over Ethernet
PPPoE — Протокол инкапсуляции PPP-кадров в Ethernet. Используется домашними и корпоративными провайдерами для авторизации абонентов и выдачи IP-адресов поверх обычной локальной сети.

Определение простыми словами

PPPoE (PPP over Ethernet) — это протокол, который заворачивает классическую сессию PPP в обычные Ethernet-кадры. Провайдер требует логин и пароль, после авторизации абонент получает динамический IP-адрес, маршрут по умолчанию и DNS-серверы. Описан в RFC 2516. Долгое время был основным способом подключения частных абонентов в России, СНГ и Европе — особенно у DSL-провайдеров, где удобно совмещать аутентификацию и биллинг.

PPPoE добавляет 8 байт собственного заголовка к Ethernet-кадру, плюс PPP занимает ещё 2 байта. Из-за этого MTU PPPoE-интерфейса составляет 1492 вместо стандартных 1500. Если не уменьшить MSS на роутере, часть TCP-соединений ломается на путях с фильтрацией ICMP — классическая «не открываются некоторые сайты». Подробнее об эффекте — в материале про MTU.

Сравнение

Способ подключения Авторизация MTU Где встречается
PPPoE Логин + пароль 1492 DSL, FTTB провайдеры
DHCP По MAC или 802.1x 1500 Современные FTTH, корпоративные сети
IPoE По option 82 / VLAN 1500 FTTB провайдеры в РФ
L2TP/PPTP Логин + пароль ≤1460 Билайн, корпоративный VPN

Кейсы использования

  • Подключение домашнего роутера Keenetic, MikroTik, TP-Link к каналу провайдера с авторизацией.
  • Резервный канал на офисном маршрутизаторе через второй WAN-порт по PPPoE.
  • Поднятие PPPoE-сервера на BRAS у небольшого провайдера через accel-ppp.
  • Сегментация абонентов по тарифам через RADIUS-атрибуты и трансляция адресов через NAT.
  • Негативный сценарий: при некорректном MTU/MSS отдельные сайты, видеоконференции и SSH-сессии работают рывками или не открываются вовсе. Лечится clamp-mss-to-pmtu или принудительной установкой MSS 1452.

Технические детали

Базовая настройка PPPoE-клиента на Linux через pppoeconf и rp-pppoe:

apt install pppoe pppoeconf
pppoeconf eth0
cat > /etc/ppp/peers/dsl-provider <<EOF
plugin rp-pppoe.so eth0
user "login@provider"
noipdefault
usepeerdns
defaultroute
persist
mtu 1492
mru 1492
lcp-echo-interval 20
lcp-echo-failure 3
EOF
echo 'login@provider * password' >> /etc/ppp/chap-secrets
pon dsl-provider
plog

Команда pon поднимает соединение, plog показывает лог. Для production-сценариев имеет смысл добавить демона keepalive и наблюдение через collectd или Prometheus, чтобы видеть разрывы и время реконнекта.

Частые вопросы

Почему MTU при PPPoE равен 1492?

PPPoE добавляет 6 байт собственного заголовка и 2 байта PPP — итого 8 байт. От стандартного MTU 1500 остаётся 1492 байта на полезные данные сетевого уровня.

Чем PPPoE отличается от обычного DHCP?

PPPoE требует логин и пароль абонента и держит постоянную сессию с провайдерским сервером. DHCP просто выдаёт IP по MAC-адресу без аутентификации.

Почему сайты открываются с ошибками на PPPoE?

Чаще всего из-за неправильного MTU/MSS. Включите на роутере clamp-mss-to-pmtu или вручную установите MSS 1452 — большинство проблем с фрагментацией исчезнут.