Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Установка mpd5 на FreeBSD или VPN с Windows-клиента через FreeBSD-роутер (сервер)

Практика



Итак, у нас задача: сделать так, чтобы через роутер на базе FreeBSD к внутренней сети предприятия могли подключаться клиенты с Windows-машин, при этом чтобы на самих Windows-компьютерах ничего дополнительно ставить было не нужно.

Т.е. мы хотим поднять VPN сервер на стороне FreeBSD такой, чтобы к нему цеплялись клиенты Windows через встроенные средства.


PS. В данной заметке рассказано о создании VPN сервера с туннелями типа PPTP.



Установка

$ cd /usr/ports/net/mpd5
$ sudo make install clean

В панели конфигурирования я не выбирал никаких опций (все опции сняты).



Настройка

Настройки mpd5 находятся по адресу:

/usr/local/etc/mpd5

Туда мы и топаем.

$ cd /usr/local/etc/mpd5

Внутри Вы можете видеть несколько файлов:
  • mpd.conf.sample : Файл примера конфига MPD5 (основной файл)
  • mpd.script.sample : Файл примера конфига скриптов
  • mpd.secret.sample : Файл примера базы логин-паролей для пользователей VPN
При этом рабочего конфига по-умолчанию не создается - нам предлагается его либо создать копированием .sample файла в имя без .sample, либо просто самим написать заново.

Первое, что нас интересует - сам файл mpd.conf. Давайте создадим его и положим внутрь вот такой конфиг (после знака # добавлены комментарии, их можно в файл не прописывать):

mpd.conf
startup:

default:
        load vpnserver

vpnserver:
        # Выделяем пул адресов с 10.1.255.10 по 10.1.255.249 для клиентов VPN
        set ippool add pool1 10.1.255.10 10.1.255.249

        # Создаем template B
        create bundle template B

        # Задаем опции
        set iface enable proxy-arp
        set iface idle 1800
        set iface enable tcpmssfix
        set ipcp yes vjcomp

        # Подсеть, из которой будут выдаваться адреса для клиентов VPN
        set ipcp ranges 10.1.255.1/24 ippool pool1

        # Указываем DNS-сервера, которые передадутся клиентам VPN
        set ipcp dns 10.0.1.10 10.0.7.3

        # Указываем WINS-сервера, которые передадутся клиентам VPN
        set ipcp nbns 10.0.1.10 10.0.7.3

        # Включаем шифрование
        set bundle enable compression
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e56
        set mppc yes e128
        set mppc yes stateless

        # Создаем template для динамически-создаваемых линков по PPTP
        create link template L pptp
        set link action bundle B
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap eap
        set link enable chap
        set link keep-alive 10 60
        set link mtu 1460

        # Здесь укажите IP адрес самого VPN-сервера
        set pptp self 11.22.33.44

        set link enable incoming


Теперь создадим базу логин-паролей. Она будет храниться в файле mpd.secret.

Вот пример этого файла:

user1    "password1"
user2    "password2"
user3    "password3"

Как, я думаю, очевидно - первое поле здесь - это имя пользователя (логин), а второе - это пароль. Отделены они должны быть TAB-символами (т.е. не пробелами).

При этом каждому пользователю динамически назначается IP адрес и выделенного в конфиге выше пула.


А вот пример такого же файла, только для каждого пользователя прикреплен свой IP адрес из подсети VPN:

mpd.secret
user1    "password1"    10.1.255.10
user2    "password2"    10.1.255.11
user3    "password3"    10.1.255.123

Здесь добавилось третье поле - это IP адрес. В этом случае каждому пользователю статически присвоен свой собственный адрес.


PS. Заметка! Если Вы не присваиваете пользователю статический адрес - то пользователь может под одной и той же учетной записью подключаться одновременно с разных компьютеров - и все будет работать, он просто будет получать разные IP для разных компьютеров. Если же Вы создаете для пользователей статические IP адреса - то пока пользователь не закроет VPN соединение на одном компьютере - он не сможет его открыть на другом.



Включаем

Теперь топаем в /etc и правим rc.conf:

$ cd /etc
$ ee rc.conf

Внутри дописываем такие строчки:
mpd_enable="YES"
mpd_flags="-b"

И стартуем сервис MPD:

$ sudo /usr/local/etc/rc.d/mpd5 start



Проверяем

В Windows создаем обычное VPN соединение, в качестве сервера указываем IP-адрес нашего FreeBSD-роутера с установленной mpd5, а тип соединения выбираем PPTP. Вводим логин и пароль, указанный в файле mpd.secret и смотрем - подцепились ли.

Если подцепились - то на роутере FreeBSD по команде ifconfig будет видно образованное новое соединение:
$ ifconfig
...
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396
        inet 10.1.255.1 --> 10.1.255.19 netmask 0xffffffff




Как пользоваться со стороны Windows-клиентов

Очень просто. Создавайте в Windows обычные VPN соединения в сторону этого FreeBSD роутера - т.е. в поле "сервер" указывайте IP адрес роутера, а тип VPN указывайте PPTP - это тот тип, который мы настроили Выше. Позже я покажу, как сделать L2TP соединения.

 

 

Актуально для: FreeBSD 7.x+

создано: 2017-05-09
обновлено: 2021-03-13
133090



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Компьютерные сети

Термины: Компьютерные сети