Skip to content

Секреты PPPoE в Mikrotik

Наверняка все знают о мощной ОС Mikrotik предназначенной для работы на маршрутизаторах RouterBoard(собственное оборудование компании Mikrotik), а так же на любых x86 машинах с минимально необходимым железом.

Зачастую многие ISP используют Mikrotik для User-End  оборудования, а именно PPPoE или PPPTP сервера.

1. Изменение MSS

Чаще всего системные администраторы, создают PPPoE сервер следующим образом:

/ppp profile
add change-tcp-mss=yes dns-server=8.8.8.8 local-address=1.1.1.1 name=PPPoE_profile only-one=default remote-address=pool_pppoe
/interface pppoe-server server
add authentication=chap default-profile=PPPoE_profile disabled=no interface=\
ether1 keepalive-timeout=10 max-mru=1480 max-mtu=1480 max-sessions=0 \
mrru=disabled one-session-per-host=no service-name=internet

И в целом они правы, что изменяют MSS, что бы все сайты нормально открывались. Однако Mikrotik в версии до 5.24 создает кучу динамических правил (по 2-а на каждое клиентское соединение) в таблице Firewall Mangle, что существенно увеличивает нагрузку на центральный процессор. Лучше поступать так:

/ip firewall mangle
add action=change-mss chain=forward comment="change real ip mss" disabled=no \
    new-mss=1440 passthrough=yes protocol=tcp src-address-list=pppoe_addrs \
    tcp-flags=syn

Это одно правило будет изменять MSS для всей подсети – pppoe_addrs

2. Скорости больше 6 Mbit/s

По умолчанию новое клиентское соединение с сервером в Mikrotik, порождает динамическую очередь Queue Simple, с типом очереди default-small, которое имеет настройки PFIFO c емкостью очереди в 10 пакетов. Естественно такое положение вещей не устраивает, меняем таки образом:

set 2 kind=mq-pfifo mq-pfifo-limit=50 name=default-small

Не буду останавливаться на возможностях Mikrotik в плане управления скоростью, однако можете прочитать об этом здесь.

3. Lost-Carrier что это такое и с чем его едят

Как часто бывает оборудование провайдера (NAS) и клиентское оборудование соединено не только оптическими и медными линиями но и какого либо радио оборудованием(того же Mikrotik). В связи с чем иногда можно наблюдать в причинах отсоединения Lost-Carrier. Данная ошибка возникает потому что Mikrotik не получает за отведенное время запросы на свои пакеты Echo(в PPPoE/PPTP существует протокол проверки “жизнеспособности” ppp соединения, которые через определенные интервалы времени (lcp-echo-interval) посылает пакеты, схожие по своей цели с icmp ping, но реализованы специально для тунельных соединений и называемые LCP-пакетами).

За это отвечает параметр KeepAlive, определяется он в секундах(по умолчанию 10) и работает след. образом.
Mikrotik начинает отправлять пакеты Echo клиенту в течении 10(по умолчанию) секунд, если в течении следующих 10 секунд не получит ни одного ответа, то разорвет соединение с такой ошибкой KeepAlive.

Таким образом Mikrotik будет ждать 2*10 секунд пока не разорвет соединение.

Я рекомендую ставить его в пределах от 10-20 до секунд, при плохом качестве линии 20 секунд. Помните что чем выше этот параметр то тем выше время ожидания завершения сбойного соединения и установки нового.

Жду Ваших комментариев о полезности статьи.
Возможно напишу свой опыт о работе с PPPoE далее а именно:

  • Использование CoA для PPPoE Mikrotik
  • Классификация трафика в PPPoE и динамическое ограничение скорости определенного из них

 

8 Comments

  1. Egor Egor

    Можете описать в двух словах как удалось прикрутить COA к микротику.

    • Somegreed Somegreed

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

  2. Egor Egor

    Интересует именно использование COA для PPPoE. Вроде микротик этого не реализовывал.

  3. Egor Egor

    Интересует именно использование COA для PPPoE. Можете подсказать как удалось реализовать ?

  4. Богдан Богдан

    актуально всегда, а можно парочку вопросов в личку или на e-mail?

  5. Добрый день! При настройки PPPoE сервера на mikrotik 6.34.6 возникла следующая проблема: некоторые роутеры и компьютеры не могут установить соединение. Точнее оно устанавливается и сразу же рвется.
    Вот логи по дебагу PPP
    19:13:29 pppoe,ppp,debug : IPCP opened
    19:13:29 pppoe,ppp,info : connected
    19:13:30 pppoe,ppp,debug,packet : rcvd LCP EchoReq id=0xb
    19:13:30 pppoe,ppp,debug,packet
    19:13:30 pppoe,ppp,debug,packet : sent LCP EchoRep id=0xb
    19:13:30 pppoe,ppp,debug,packet
    19:13:30 pppoe,ppp,debug,packet : rcvd LCP EchoReq id=0x3b
    19:13:30 pppoe,ppp,debug,packet
    19:13:30 pppoe,ppp,debug,packet : sent LCP EchoRep id=0x3b
    19:13:30 pppoe,ppp,debug,packet
    19:13:30 pppoe,debug,packet Vlan | 3030 | LAN | clients PPPoE: rcvd PADT from 2C:56:DC:A4:B9:87
    19:13:30 pppoe,debug,packet session-id=0x18c4
    19:13:30 pppoe,debug,packet generic-error=session closed
    19:13:30 pppoe,ppp,debug : LCP lowerdown
    19:13:30 pppoe,ppp,debug : LCP closed
    19:13:30 pppoe,ppp,debug : CCP lowerdown
    19:13:30 pppoe,ppp,debug : BCP lowerdown
    19:13:30 pppoe,ppp,debug : BCP down event in starting state
    19:13:30 pppoe,ppp,debug : IPCP lowerdown
    19:13:30 pppoe,ppp,debug : IPCP closed
    19:13:30 pppoe,ppp,debug : IPV6CP lowerdown
    19:13:30 pppoe,ppp,debug : IPV6CP down event in starting state
    19:13:30 pppoe,ppp,debug : MPLSCP lowerdown
    19:13:30 pppoe,ppp,debug : MPLSCP down event in starting state
    19:13:30 pppoe,ppp,info : terminating… – disconnected
    19:13:30 pppoe,ppp,debug : LCP lowerdown
    19:13:30 pppoe,ppp,debug : LCP down event in starting state
    19:13:30 pppoe,ppp,info,account test1234 logged out, 0 705 323 14 8
    19:13:30 pppoe,ppp,info : disconnected
    можете подсказать куда копать?

    • Я бы вам посоветовал написать в саппорт Mikrotik. Странная ошибка какая-то, я с такой не встречался

Leave a Reply

%d bloggers like this: