После более чем двух лет разработки выпущен релиз MPD 5.8 (Multi-link PPP Daemon), VPN-демона для FreeBSD с базирующейся на Netgraph реализацией протокола PPP. В зависимости от сконфигурированных правил и параметров соединения mpd может работать как PPP клиент/сервер или перенаправлять соединение без модификации на другие хосты, используя поддерживаемые типы связи, предоставляющие функциональность LAC/PAC/TSA для построения распределенных сетей.
В mpd реализована унифицированная поддержка различных типов соединений (modem, PPTP, L2TP, PPPoE, TCP, UDP и Netgraph), а также многочисленных субпротоколов и расширений PPP (Multi-link PPP, аутентификация PAP, CHAP, MS-CHAP и EAP, сжатие MPPC, Deflate, Predictor-1, шифрование MPPE, DESE, DESE-bis, согласование соединений IPCP и IPV6CP). Mpd также включает много дополнительных возможностей, среди которых:
- Поддержка IPv4 и IPv6.
- Интерфейсы управления Telnet и HTTP.
- Различные методы аутентификации и ведения учетных записей (RADIUS, PAM, script, file и т.п.).
- Учет трафика через NetFlow.
- Трансляция сетевых адресов (NAT).
- Вызов по запросу (Dial-on-demand).
- Динамическое управление связью ("rubber bandwidth").
- Мощный скриптовый язык для отправки и обработки команд через асинхронные последовательные порты.
- Независимость от типа аппаратных устройств.
- Расширенные средства для ведения логов.
Особенности выпуска mpd 5.8:
- В web-консоли реализована поддержка вывода в формате JSON;
- Новая команда "set l2tp pmask ...";
- Новая команда "set pppoe mac-format ...";
- Новая команда "set pppoe max-payload ..." для увеличения максимального размера MTU/MRU в соответствии с RFC 4638;
- Новая команда "set radius src-addr ...";
- Опция "set iface keep-timeout" для предотвращения обнуления таймаута при CoA-запросах;
- Опция "set console auth" для отключения аутентификации в консоли;
- Глобальная опция "agent-cid" для показа PPPoE ADSL-Agent-Circuit-Id в выводе команды "show session";
- Глобальная опция "session-time" для показа времени сессии в выводе команды "show session";
- Поддержка указания шаблона "peer_addr" в ACL, при котором осуществляется подстановка IP-адреса внешнего пира из mpd-table;
- Расширение числа шаблонов, принимаемых из ACL;
- Расширение числа шаблонов, принимаемых из команды "set iface description ..." или RADIUS аттрибута `mpd-iface-descr";
- Поддержка RADIUS-аттрибута "Filter-Id";
- Поддержка библиотеки Backtrace Access;
- Поддержка библиотеки LibreSSL.
- Команда "quit" переименована в "shutdown";
- Обеспечена регистронезависимость команда "authname ...";
- Реализована возможность одновременно использовать IPv4 и IPv6 адреса на одном и том же интерфейсе.
- Решена проблема с отсылкой MAC-адреса на сервер RADIUS в виде RAW-значения;
- Устранена ошибка, не позволяющая устанавливать соединения, используя шифрование ECP.