Решено было поднять VPN-сервер на шлюзе с FreeBSD, дабы иметь полный, удобный доступ к ресурсам домашней сети. Компьютерный зоопарк довольно велик, да и не понятно за какой ОСью окажусь завтра, поэтому решил опробовать mpd. Так же одной из причин, по которой был выбран сервер mpd – это возможность подключения w!nd0w$-клиентов, без использования сторонних приложений.
Приступим. Всё происходит на:
# uname -a
FreeBSD имя_сервера 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Mon May 7 11:24:18 MSK 2012 root@имя_сервера:/usr/obj/usr/src/sys/конфиг_ядра i386
Сначала собираем ядро, добавив туда строки:
options NETGRAPH options NETGRAPH_ETHER options NETGRAPH_NETFLOW options NETGRAPH_SOCKET options NETGRAPH_TEE options NETGRAPH_BPF options NETGRAPH_IFACE options NETGRAPH_KSOCKET options NETGRAPH_PPP options NETGRAPH_PPTPGRE options NETGRAPH_TCPMSS options NETGRAPH_VJC options NETGRAPH_ONE2MANY options NETGRAPH_RFC1490 options NETGRAPH_TTY options NETGRAPH_UI options NETGRAPH_MPPC_ENCRYPTION options NETGRAPH_MPPC_COMPRESSION
Перед сборкой надо ещё положить «Alternative MPPC compression/decompression library» в /usr/src/sys/net/ (или с офф сайта), иначе сборка ядра закончится сообщением:
cc: /usr/src/sys/net/mppcc.c: No such file or directory cc: /usr/src/sys/net/mppcd.c: No such file or directory /usr/src/sys/netgraph/ng_mppc.c:84:22: error: net/mppc.h: No such file or directory mkdep: compile failed *** Error code 1
поэтому делаем:
cd /usr/src/sys/net/ fetch /downloads/mppc-1.0.tgz tar -xvf mppc-1.0.tgz ee /usr/src/sys/modules/netgraph/mppc/Makefile
Меняем строку:
NETGRAPH_MPPC_COMPRESSION?= 0
на
NETGRAPH_MPPC_COMPRESSION?= 1
Ставим:
cd /usr/src/sys/modules/netgraph/mppc make make install make clean
И только теперь собираем ядро.
После того как ядро на FreeBSD собрали без ошибок и загрузили его, переходим непосредственно к нашему VPN-серверу mpd5.
Не забываем обновить порты. Потом устанавливаем mpd5:
cd /usr/ports/net/mpd5 make install clean rehash
Опции не менял:
Options for mpd 5.6
[ ] NG_CAR Use ng_car kernel module from port (< 7.0 only) [ ] NG_IPACCT Use ng_ipacct kernel module from port
Установилось быстро, далее переходим к настройке.
В /etc/rc.conf добавляем строки, необходимые для автоматического старта mpd в фоновом режиме:
mpd_enable="YES" mpd_flags="-b"
Сами конфигурационные файлы md5 лежат в /usr/local/etc/mpd5/
Конфиг /usr/local/etc/mpd5/mpd.conf приводим к такому виду
Для просмотра скрытой части статьи вы должны авторизироваться [Login] или зарегистрироваться [Register] на сайте.
Теперь переходим к файлу, в котором хранятся учётные записи для VPN-клиентов ( /usr/local/etc/mpd5/mpd.secret ).
Туда вписываем учётные записи, для авторизации при подключении по ВПН. Файл выглядит примерно так
Для просмотра скрытой части статьи вы должны авторизироваться [Login] или зарегистрироваться [Register] на сайте.
где
user1..3 -это логины
password1..3 -это соответственно пароли
10.36.1.100..102 -это адреса, которые будут выданы клиентам
стартуем наш сконфигурированный mpd:
/usr/local/etc/rc.d/mpd5 start
Всё, можно пробовать подключаться.
Настраиваем клиента vpn на windows 7 (она только под рукой у меня)
Идём в Панель управления – Все элементы панели управления – Центр управления сетями и общим доступом и
выбираем «Настройка нового подключения или сети»
Далее «Подключение к рабочему месту»
«Использовать мое подключение к Интернету (VPN)»
заполняем поля
указываем логин и пароль, которые мы вписывали в /usr/local/etc/mpd5/mpd.secret
и «Подключить»
Готово, мы соединились по vpn.
Источник mediaunix.com/2012/07/25/mpd-vpn-server-na-freebsd/