Выполним установку 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 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