Выполним установку MPD5 из системы портов:

cd /usr/ports/net/mpd5 && make install clean && rehash

По завершению установки приступаем к редактированию файла конфигурации mpd.conf. В результате нехитрых манипуляций, получаем следующий листинг /usr/local/etc/mpd5/mpd.conf (часть опций прокомментирована):

startup:

      # Определяем пользователей
      set user username username_pass admin
      set user username1 userpass1
      # Конфигурация консоли
      set console self 127.0.0.1 5005
      set console open
      # Конфигурация веб-сервера
      set web self 0.0.0.0 5006
      set web open

# Указываем, что будем работать в режиме PPTP-клиента default:

      load pptp_client

# Секция конфигурации PPTP-клиента pptp_client:

      create bundle static B1
      # Этот скрипт отрабатывается при "поднятии" интерфейса
      set iface up-script /usr/local/etc/mpd5/up-script.sh
      # Автоматическое добавление маршрута при "поднятии" интерфейса
      set iface route 172.16.180.0/24
      set ipcp ranges 0.0.0.0/0 0.0.0.0/0
      create link static L1 pptp
      set link action bundle B1
      # Параметры аутентификация на VPN-сервере
      set auth authname "VPN_LOGIN"
      set auth password "VPN_PASSWD"
      # Уменьшаем размер MTU для корректного прохождения трафика
      set link mtu 1460
      # Настройка автоподключения в случае обрыва сесии
      set bundle no noretry
      set link max-redial 0
      # Настройка keep-alive (поддерживание сесии)
      set link keep-alive 20 75
      # Указываем IP-адрес удаленного сервера
      set pptp peer IP_VPN_SERVER_HERE
      # Отключаем оконный механизм, назначаемый протоколом PPTP,
      # повышая этим производительность.
      set pptp disable windowing
      open

где

  username - имя пользователя с правами администратора
  username_pass - пароль пользователя с правами администратора
  username1 - имя пользователя с привилегиями обычного пользователя
  userpass1 - пароль пользователя с привилегиями обычного пользователя
  VPN_LOGIN - имя пользователя для авторизации на VPN-сервере
  VPN_PASSWD - пароль для авторизации пользователя на VPN-сервере
  IP_VPN_SERVER_HERE - IP-адрес VPN-сервера
  /usr/local/etc/mpd5/up-script.sh - скрипт, который будет отрабатываться при старте MPD 

В моем частном случае при старте MPD необходимо будет добавить только один маршрут, который я прописал прямо в mpd.conf. Если же необходимо через подключение получать маршрут по умолчанию, то необходимо модифицировать строку «set iface route 178.162.180.0/29» и заменить ее на «set iface route default».

Что интересно, при старте MPD после создания интерфейса, роут на IP-адрес VPN-сервера направляется в созданный туннель, соответственно маршрутизация работает некорректно. А после удаления маршрута все работает на ура, пинги ходят, маршруты доступны. Поэтому при запуске MPD будем удалять этот маршрут.

Соответственно, листинг скрипта /usr/local/etc/mpd5/up-script.sh будет следующий:

#!/bin/sh

/sbin/route delete IP_VPN_SERVER_HERE

Также необходимо для скрипта дать права на выполнение, чтобы он корректно отрабатывался: # chmod +x /usr/local/etc/mpd5/up-script.sh

Добавляем загрузку MPD при старте системы: # echo '# VPN PPTP Client' » /etc/rc.conf # echo 'mpd_enable=«YES»' » /etc/rc.conf

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

Настройка логгирования: # echo '\!mpd' » /etc/syslog.conf # echo '*.* /var/log/mpd.log' » /etc/syslog.conf # touch /var/log/mpd.log # killall -HUP syslogd

Настройка ротации логов: # echo '/var/log/mpd.log 600 8 * $W6D0 JC' » /etc/newsyslog.conf

После всех этих манипуляций запускаем MPD: # sh /usr/local/etc/rc.d/mpd5 start

Проверяем, поднялся ли интерфейс:

# ifconfig ng0

ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460

      inet 10.22.84.27 --> 10.221.84.1 netmask 0xffffffff

Собственно говоря - на этом все.

Ссылки:
http://homenet.beeline.ru/index.php?showtopic=254605
http://sysadmins.ru/topic394755.html
http://muff.kiev.ua/content/mpd-ispolzovanie-v-kachestve-pptp-klienta
http://forum.lissyara.su/viewtopic.php?t=23736
https://habrahabr.ru/sandbox/30203
http://www.lissyara.su/articles/freebsd/programms/mpd5_l2tp_client
http://freebsd.d77.in/network/freebsd_vpn_beeline
http://itadept.ru/freebsd-mpd5-server/#config