MPD - налаштуваннявласного VPN-сервера
У зв'язку з проханням одного зі співробітників у реалізації доступу до серверів офісної мережі з дому (згідно з вимогами безпеки, доступ до них з мережі Internet обмежений) виникла потреба в налаштуванні VPN-сервера. Реалізовуватимемо на базі MPD - заснована на netgraph реалізація ppp-протоколу мультизв'язку для FreeBSD. Ще одним плюсом у бік MPD є те, що він сумісний з Microsoft, тобто підключитися до нашого сервера користувачі ОС Windows зможуть користуючись стандартними засобами ОС.
У попередніх версіях, для роботи MPD необхідна була підтримка ядром NETGRAPH, проте, починаючи з FreeBSD6.0, це необов'язково. Оскільки офісний маршрутизатор працює під FreeBSD 8.0, перезбирати ядро з підтримкою NETGRAPH не будемо:
# uname -a FreeBSD office.company.net 8.0-STABLE FreeBSD 8.0-STABLE #1: Thu Jan 14 17:33:25 EET 2010 muff [at] office [dot] company [dot ] net :/usr/obj/usr/src/sys/Office i386
Приступаємо до встановлення:
#cd /usr/ports/net/mpd5/ && make install clean && rehash
Отже, після встановлення переходимо в каталог /usr/local/etc/mpd5/, оскільки всі конфігураційні файли MPD знаходяться в цьому каталозі:
# cd /usr/local/etc/mpd5 && ls -la
А тепер приступаємо безпосередньо до налаштування. Я налаштовуватиму сервер на підтримку 3 одночасних підключень (кількість користувачів). Думаю, що налаштування на більше підключень проблем не викличе - просто додаємо ще один рядок з логіном і паролем користувача в mpd.secret. Перший конфігураційний файл – mpd.conf. З прикладами різноманітних налаштувань можна ознайомитись у mpd.conf.sample. Забув на початку описати, що налаштовуватимемо за протоколом PPTP. В результаті нехитрих маніпуляцій отримуємонаступний mpd.conf:
#cat 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
default: load pptp_server
# cat mpd.secret muff muffpasswd 192.168.192.150 user1 user1pass 192.168.192.151 user2 user2pass 192.168.192.152
Додаємо завантаження MPD при старті системи:
#echo '# VPN PPTP Server' >> /etc/rc.conf #echo 'mpd_enable="YES"' >> /etc/rc.conf
Даємо команду запуску:
# sh /usr/local/etc/rc.d/mpd5 start Starting mpd5.
Як зазначалося раніше, підтримка NETGRAPH на рівні ядра не є обов'язковою, NETGRAPH підвантажується у вигляді модулів:
# kldstat
Тепер спробуємо налаштувати VPN-клієнта під Windows XP. У "Панелі управління" переходимо до "Мережеві підключення" і тиснемо "Створення нового підключення". В результаті запускається майстер нових підключень:

Після натискання "Далі" вибираємо тип підключення до мережі "Підключити до мережі на робочому місці":

Потім уточнюємо, що це буде підключення до приватної віртуальної мережі:

Далі задаємо назву підключення, щоб ідентифікувати його серед інших підключень:

При необхідності вказуємо, набирати попереднє підключення, чи ні:


Потім залишається лише натиснути кнопку Готово. Ну а далі заповнюємо поля логіну та паролю і тиснемо "Підключитися":

В результаті підключення на сервер автоматично створюється інтерфейс ng0: