- Openvpn web gui. Что сейчас модно, стабильно, фичасто. OpenSource?
- Настройка VPN на основе OpenVPN через Webmin
- Общая информация
- Установка OpenVPN и Webmin
- OpenVPN
- Webmin
- Настройка OpenVPN
- Установка плагина OpenVPNadmin
- Настройка плагина
- Настройка центра сертификации
- Создание сервера
- Создание клиента
- Запуск сервера
- Настройка клиентов
- Windows
Openvpn web gui. Что сейчас модно, стабильно, фичасто. OpenSource?
Посмотрел что есть некая сборка от Turnkey, есть ещё один два проекта.
Что наиболее годное, чтобы раз-раз и можно было прямо скачать клиента готового или что-то подобное?
Задача: удобно генерировать конфиги отзывать пользователей добавлять и т.д.
Был такой pritunl…
В бесплатной версии он ограничен
pritunl — все говорят про него, а в чем ограничения бесплатной версии, я так и не понял… Я так понял, ограничений нет. Только если использовать это дело на их серверах. Или я не прав?
Так AS вполне себе платный и закрытый…
а в чем ограничения бесплатной версии
Я так понял, ограничений нет. Только если использовать это дело на их серверах. Или я не прав?
Так AS вполне себе платный и закрытый…
pritunl — тоже платный и закрытый.
Нихера тогда не понял…
Open Source All source code for Pritunl is publicly available on GitHub. Allowing for complete transparency and customization.
Понял, примерно. Может есть иные альтернативы? Бесплатная версия по возможностям, не очень показалась мне. — Особенно, расстроил пункт с двухфакторкой…
Как написано на сайте, ставишь себе все пироги, а чтобы использовать некоторые возможности, из самой программы нужно внутри будет у них на серверах чтоль зарегистрироваться…
Источник
Настройка VPN на основе OpenVPN через Webmin
Отправьте запрос в Службу поддержки, и наши специалисты помогут вам с установкой ПО и настройкой удаленного подключения.
Если вам необходимо настроить удаленное подключение к рабочим серверам (например, при организации удаленной работы для сотрудников, чтобы обеспечить им доступ к корпоративной сети и внутренним ресурсам из сторонних сетей), вы можете воспользоваться этой инструкцией для настройки VPN-подключения и удаленного доступа.
Существует множество вариантов реализации VPN. Ниже мы рассмотрим настройку на основе OpenVPN и Webmin.
Описанный в инструкции способ позволит вам настроить VPN-подключение на базе OpenVPN для неограниченного количества пользователей.
Общая информация
В рамках этой инструкции мы будем решать задачу по предоставлению доступа клиентам VPN в локальные сети компании.
Для этого потребуется:
- установить и настроить OpenVPN на VDS-сервере;
- настроить доступ через него в локальную сеть компании;
- организовать доступ к VPN-серверу с компьютеров-клиентов, на которых установлено соответствующее ПО (клиент OpenVPN).
Рассмотрим следующую схему:
Конечная цель — предоставление доступа клиенту Сlient3 (он подключен к VPN) к компьютеру Comp1, который не имеет доступа в сеть Интернет, однако к нему есть доступ через Client1. Для этого мы установим OpenVPN-клиент на сервер Client1, у которого есть доступ к сети 192.168.1.0/24.
Эти значения IP-адресов и сетей мы будем использовать в примерах по ходу статьи.
Установка OpenVPN и Webmin
Для настройки мы будем использовать VDS с установленной системой CentOS 6.
OpenVPN
Для начала нужно установить OpenVPN. Подключитесь к серверу по SSH и выполните следующие команды:
Ключ y позволит автоматически выбирать yes на все запросы системы в процессе установки.
После завершения установки выполните следующие настройки:
1. Измените метод шифрования в конфигурационном файле, чтобы в будущем при выпуске и проверке сертификатов не возникало проблем.
Для этого откройте файл /etc/openvpn/openvpn-ssl.cnf:
Найдите строку default_md и замените значение md5 на sha256 :
Сохраните изменения и закройте файл.
2. Активируйте IP-форвардинг в sysctl.
Для этого откройте файл /etc/sysctl.conf:
Замените значение переменной net.ipv4.ip_forward с 0 на 1 .
Сохраните изменения и закройте файл.
3. Очистите правила iptables.
Чтобы не углубляться на данном этапе в правила firewall, очистите правила iptables командой ниже. При необходимости вы сможете в дальнейшем самостоятельно настроить правила, используя материал в сети.
После перезапустите службу network для применения изменений:
Webmin
Далее установите Webmin — графический web-интерфейс для управления операционными системами Linux. Использование Webmin значительно упростит последующую работу.
1. Откройте файл /etc/yum.repos.d/webmin.repo :
Внесите в него следующие правки:
Сохраните и закройте файл.
2. Импортируйте GPG-ключ:
3. Установите Webmin:
После установки Webmin запустится автоматически. Вам останется только добавить его в автозагрузку:
Настройка OpenVPN
Перейдите в web-интерфейс Webmin по адресу https://ip_адрес_сервера:10000
При первом обращении вы увидите предупреждение о небезопасном подключении. Для продолжения работы откройте дополнительные сведения (кнопки «Дополнительно», «Advanced» и т.д.) и далее, в зависимости от используемого браузера, вы сможете либо сразу перейти к Webmin, либо подтвердить исключение безопасности.
В форме авторизации укажите данные для доступа к вашему серверу, отправленные в письме об установке ОС (имя пользователя root и пароль).
Установка плагина OpenVPNadmin
Перейдите по данной ссылке и скачайте архив на свой компьютер:
В интерфейсе Webmin перейдите в раздел Webmin -> Webmin Configuration -> Webmin Modules.
Выберите From uploaded file, кликните на значок скрепки и укажите скачанный файл, после чего нажмите Install module:
После успешной установки появится следующее сообщение, и вы сможете перейти по указанной в нем ссылке OpenVPN+CA.
Сам модуль будет располагаться в разделе Servers -> OpenVPN + CA.
Настройка плагина
Нажмите на шестеренку, чтобы внести изменения в настройки модуля.
Внесите изменения в параметры Command to start OpenVPN (*) и Command to stop OpenVPN (*):
- /etc/init.d/openvpn start
- /etc/init.d/openvpn stop
Настройка центра сертификации
Центр сертификации (Certification Authority или CA) необходим для выпуска сертификатов, как для сервера, так и для клиентов.
Перейдите в Certification Authority List:
1. Создайте центр сертификации:
- Укажите произвольное имя в поле Name of Certification Authority.
- Остальные поля можно оставить со значениями по умолчанию или внести изменения (например, как на скриншоте).
Начнется процесс создания CA, это может занять некоторое время. После завершения процесса нажмите Return to OpenVPN Administration.
2. Создайте сертификат для сервера:
- Перейдите в раздел Certification Authority List и выберите Keys list напротив созданного центра.
- Измените имя в графе Key name на произвольное.
- В пункте Key Server выберите server.
После завершения процесса нажмите Return to Keys list of Certification Authority List, и далее — Return to OpenVPN Administration.
Создание сервера
Перейдите в раздел VPN List и нажмите New VPN server.
Здесь представлено большое количество настроек, при помощи которых можно настроить OpenVPN под свои задачи. Подробности можно найти в официальной документации OpenVPN и других источниках в сети интернет.
Для решения нашей задачи настройте следующие параметры:
- Net IP assigns (option server) — здесь необходимо задать пул IP для сети VPN и маску сети. В нашем случае это IP 10.8.0.0 и маска 255.255.255.0. Это значит, что клиентам, которые будут подключены в сеть VPN, будут выдаваться IP вида 10.8.0.2. Обратите внимание, что диапазон сети VPN не может совпадать с диапазоном локальной сети, к которой нужно получить доступ (в нашем случае это сеть 192.168.1.0).
- Because the OpenVPN server mode handles multiple clients through a single tun or tap interface, it is effectively a router (option client-to-client) — директива, включающая возможность передачи данных между клиентами сервера. Укажите yes.
- Group — укажите nobody.
Additional Configurations — здесь можно задать различные дополнительные правила. В нашем случае здесь нужно ввести значения, которые помогут получить доступ к внутренней сети, находящейся за некоторыми клиентами. Формат:
push «route IP mask» — директива push позволяет направлять клиентам определенный параметр, в данном случае это маршрут к внутренней сети офиса;
route IP mask — осуществлять маршрутизацию из/к сети офиса
В качестве IP и mask необходимо ввести данные о локальных сетях компании, в которые необходимо получить доступ. В нашем случае это сеть 192.168.1.0
Обратите внимание! На серверах, где будет запущен клиент VPN для пропуска во внутреннюю сеть (см. схему Client1), файрвол должен быть настроен для пропуска пакетов через VPN. Также желательно, чтобы сервер (Сlient1) являлся gateway локальной сети. Если это не так, директиву route следует прописать в формате route ip mask ip_vpn , например: route 192.168.1.0 255.255.255.0 10.8.0.2. В этом случае для клиента потребуется использовать директиву ifconfig-push (подробнее ниже).
Если в дальнейшем потребуется внести дополнительные изменения, это можно будет сделать в разделе VPN List по клику на имя сервера:
Создание клиента
Вернитесь в главное меню модуля кнопкой Return to OpenVPN Administration.
- Перейдите в раздел Certification Authority List и выберите Keys list напротив созданного центра.
- Измените имя в графе Key name на произвольное.
- В пункте Key Server выберите client.
После завершения процесса нажмите Return to Keys list of Certification Authority List. При необходимости можно сразу создать еще несколько сертификатов для клиентов.
Когда все сертификаты созданы, нажмите Return to OpenVPN Administration.
Вернитесь в раздел VPN List и нажмите Client List напротив имени сервера:
Нажмите New VPN Client:
Здесь важно обратить внимание на несколько параметров:
- Name — здесь можно выбрать из списка необходимое имя из тех, для кого создан сертификат;
- remote (Remote IP) — указать внешний адрес вашего сервера (адрес, который указан в ПУ).
В разделе ccd file content необходимо прописать настройки для клиента, который будет запущен для допуска в локальную сеть. Формат:
- iroute ip mask — используется только для клиентов-серверов (Client1 на нашей схеме); необходимо указать те же значения, что при настройке route для сервера. В нашем случае это: iroute 192.168.1.0 255.255.255.0
ifconfig-push ip_vpn mask — (опционально) данной директивой можно задать статический IP для клиента VPN. Например, чтобы IP для Client1 IP всегда был 10.8.0.2 , директива будет выглядеть следующим образом: ifconfig-push 10.8.0.2 255.255.255.0
push «route ip mask» — данной директивой мы сообщаем этот маршрут для клиентов (таких, как Client3 на нашей схеме). В качестве ip нужно прописать тот же ip, что при настройке route для сервера.
Скачать созданную конфигурацию для клиента можно в разделе VPN Client List по кнопке Export:
Полученный файл конфигурации необходимо доставить на клиентское устройство (компьютер или смартфон). Для передачи конфигураций лучше использовать защищенные соединения, например, SFTP.
Запуск сервера
Вернитесь в раздел VPN List при помощи кнопки Return VPN List.
Запустите сервер по кнопке Start.
После нажмите Return to OpenVPN Administration.
На главной странице будет видно, что север запущен. При необходимости его можно остановить кнопкой Stop OpenVPN.
Настройка клиентов
Инструкции по настройке клиентов для OpenVPN для разных устройств и систем вы можете найти в сети. В большинстве случаев достаточно установить клиент и импортировать файл конфигурации.
Для примера рассмотрим настройку клиентов на компьютере с системами Windows и MacOS.
Windows
- Загрузите клиент с сайта OpenVPN: https://openvpn.net/community-downloads/ и установите его на компьютер.
- После установки скопируйте полученный файл конфигурации в папку C:\Program Files\OpenVPN\config .
- Запустите OpenVPN. Это необходимо сделать от имени администратора: кликните на значке правой кнопкой и выберите «Запуск от имени администратора». Чтобы OpenVPN всегда по умолчанию запускался от имени администратора, кликните на его значке правой кнопкой и выберите Свойства. На вкладке «Совместимость» отметьте пункт «Выполнять эту программу от имени администратора» и сохраните.
- В появившемся при запуске окне с предупреждением (разрешить программе внести изменения) нажмите «Да.»
- Кликните правой кнопкой мыши на значке OpenVPN в трее, выберите загруженный профиль и нажмите Connect / Подключиться.
Откроется окно с логом соединения, и, как только соединение будет установлено, появится соответствующее уведомление.
Для отключения снова кликните на значок OpenVPN в трее, выберите нужный профиль и нажмите Disconnect / Отключиться.
MacOS
- Для MacOS можно использовать бесплатный клиент Tunnelblick.
- Загрузите клиент с сайта Tunnelblick: https://tunnelblick.net/downloads.html
- Дважды кликните на загруженном файле и пройдите процесс установки.
- При завершении установки выберите «Нет» в ответ на вопрос о наличии конфигурационных файлов.
- После завершения установке откройте Finder и кликните дважды на вашем конфигурационном файле. Tunnelblick автоматически установит профиль.
Для установки соединения запустите Tunnelblick, после чего кликните на его иконку в верхней части экрана и нажмите Connect. Далее выберите установленный профиль.
Источник