Настраиваем OpenVPN
Начнем пожалуй с установки пакета, который поможет нам в приятном виде отдавать архивы с ключами и конфигурационным файлом наших пользователей
System -> Packages
Выбираем OpenVPN Client Export Utility устанавливаем.
Теперь сам OpenVPN
VPN -> OpenVPN
Не будем ничего придумывать. Будем пользоваться «визардом». Выбираем вкладку Wizards. На первом шаге Select an Authentication Backend Type выбираем Local User Access, жмем Next.
В процессе установки мы должны создать два сертификат. Один для сервера и один самоподписанный. В первую очередь создается корневой самоподписанный сертификат: Create a New Certificate Authority (CA) Certificate.
Далее сертификат сервера Create a New Server Certificate.
Заполняем поля по усмотрению и жмем Create new Certificate и попадаем в настройки конфигурации самого сервера.
Следующим шагом нам предлагают автоматом включить правила файрволла. Ставим галки и Next.
В финишном окне напоминают, что нужно поставить пакет OpenVPN Client Export Utility - мы его поставили сразу.
Смотрим, что у нас получилось,
и немного подредактируем конфигурацию. В Server Mode я выбрал Remote Access (SSL/TLS) чтобы не запрашивались пароли пользователей, которые будут подключаться. Так же выбрал Enable NetBIOS over TCP/IP, пусть будет. Сохраняемся.
Посмотрим на наши сертификаты
System -> Cert Manager
Теперь создадим пользователей.
System -> User Manager
В создании пользователя нет ничего особенного. Не забываем поставить галку Click to create a user certificate. Заполняем по своему усмотрению и Save
На этом этапе можно забрать сертификаты и настройки клиента и начинать работать.
VPN -> OpenVPN
Вкладка Client Export Выкачиваем что нам надо, устанавливаем и работаем.
Теперь каснемся важного момента отлучения так сказать клиента от сервера. Что если вдруг нужно прекратить (запретить) доступ определенному клиенту? Для этого мы сделаем так называемый Certificate Revocation List
System -> Cert Manager
Вкладка Certificate Revocation. Давим плюсик дабы создать этот самый LIst (список). Называем его как нибудь, сохраняемся Save.
Видим, что что-то появилось.
Список этот мы можем экспортировать, редактировать и удалить. Нажмем на кнопочку e - попытаемся поредактировать. Нужно выбрать нужный сертификат из списка, выбрать необязательное поле причины отказа и нажать кнопочку Add
Видим, что в списке у нас 1 сертификат. Если вдруг пользователь одумается можно удалить из списка отзывов его сертификат и он снова сможет подключиться к серверу.
Чтобы сервер знал о том, какие сертификаты отозваны, ему нажно указать наш созданный лист Peer Certificate Revocation List
Иногда возникает необходимость выдавать определенному клиенту постоянный IP адрес. Делается это достаточно просто. Идем VPN → OpenVPN → Client Cpecific Overrides В поле Common Name впишем имя сертификата клиента, которому хотим выделить постоянный адрес. В поле Advanced впишем команду, которая и присвоит нужный IP:
ifconfig-push 10.0.17.22 255.255.255.0;
Особо обращаю внимание на второй аргумент этой команды. Это маска подсети. Дело в том, что в настройках сервера я указал использовать 1 адрес для клиента (topology subnet), вместо изолированной подсети (topology net30).
Если бы опция
Topology Allocate only one IP per client (topology subnet), rather than an isolated subnet per client (topology net30).
была бы выключена, тогда вторым аргументом я должен бы был указать IP адрес самого сервера, то есть IP на стороне сервера из подсети по маске /30