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. У "Панелі управління" переходимо до "Мережеві підключення" і тиснемо "Створення нового підключення". В результаті запускається майстер нових підключень:

vpn-сервера

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

налаштуваннявласного

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

vpn-сервера

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

підключення

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

налаштуваннявласного

мережі

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

conf

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