Определение простыми словами
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 — большинство проблем с фрагментацией исчезнут.