Введение
Это может быть полезно для создания VPN-сервера, если вы хотите подключиться к домашней сети, если вы хотите играть в сетевые игры, или если вы хотите защитить свой веб-браузер в общедоступном кафе Wi-Fi. Это некоторые из бесчисленных причин, почему вы должны рассмотреть возможность использования VPN. Windows имеет потенциал для размещения VPN-серверов. Windows делает это, используя протокол туннелирования точка-точка, сокращенно PPTP. Мы покажем вам, как найти его на вашем компьютере и создать сервер VPN. Если вы используете Windows 7, 8 или 10, то вам не нужно беспокоиться, шаги, которые мы покажем вам для настройки VPN-сервера в Windows 10, будут работать для всех из них.
Что такое сервер Windows VPN? Сервер Windows VPN позволит другим устройствам в вашей локальной сети безопасно подключаться через соединение Windows VPN.
Прежде всего, что такое сервер Windows VPN? Сервер Windows VPN будет настроен на главном компьютере в локальной сети (LAN), компьютере, имеющем доступ к Интернету.
Настроив сервер Windows VPN на этом компьютере, другие устройства, подключенные к локальной сети, смогут использовать защищенное и зашифрованное подключение к Интернету без необходимости иметь VPN-подключение и учетную запись.
Зачем нужен VPN?
-
Для удаленной работы. Например, вы работаете из дома. По VPN вы можете получить доступ к сервисам и документации своей организации, при этом соединение будет более безопасным, данные будет сложно перехватить и расшифровать.
-
Чтобы объединить разные части одной компании. Офисы могут быть удалены друг от друга на любое расстояние.
-
Внутри компаний – для объединения и изоляции отделов.
-
При подключении к Wi-fi в кафе, метро и т.д., чтобы хакеры не могли украсть ваши данные. При пользовании публичной сетью безопасно, разве что просматривать сайты в браузере. А вот если использовать соц.сети, злоумышленник может не только перехватить вашу конфиденциальную информацию, но и использовать ее в своих целях, авторизовавшись в этой самой соц.сети от Вашего имени. Еще хуже, если ему удастся взломать почту. Тогда атаке подвергнутся все приложения, привязанные к этому почтовому ящику. Но самой неприятной может оказаться утечка данных вашей банковской карты, если вы решили перевести кому-то деньги, подключившись к бесплатному Wi-fi.
-
Для получения доступа к сайтам, которые заблокированы на определенной территории. Приведем пример: Teen Spirit снимает передачу “Орёл и Решка” и продает ее двум телеканалам: российской “Пятнице” и украинскому “Интеру”. Обычно телеканалы на следующий день после выхода премьеры по телевидению, выкладывают выпуск на свой ютуб-канал, чтобы те, кто не успел посмотреть передачу по телевизору, имели возможность сделать это в интернете и, конечно же, для того, чтобы заработать дополнительно на встроенной в ютуб рекламе. На Украине выпуски выходят на день раньше, чем в России. Соответственно, “Интер” выкладывает видео на ютуб, когда по “Пятнице” передачу еще не показали. Поэтому в России в этот день запрещен доступ к этому видео.
-
Для обеспечения анонимности. Нельзя вычислить, какие сайты вы посещали, каким браузером пользуетесь, где находитесь и т.д. Надобность скрыть свою геолокацию может может возникнуть в путешествиях. Например, в Турции запрещен YouTube и WhatsApp. Значит, просто так зайти в привычные соц.сети не получится, а с VPN это сделать вполне возможно.
-
Чтобы в браузере оставалась история поиска, на основе которой создается таргетированная реклама
-
Чтобы сэкономить, например, при покупке авиабилетов. Авиакомпании устанавливают разные цены на одни и те же билеты для покупателей из разных регионов. А VPN позволяет изменить информацию о геолокации.
Способ 1: Переустановка сетевых адаптеров
В зависимости от установленного на компьютере оборудования (сетевая карта, датчики Wi-Fi и Bluetooth) в «Диспетчере устройств» будет отображено несколько сетевых адаптеров. Там же будут устройства WAN Miniport – системные адаптеры, которые как раз используются для ВПН-подключения через различные протоколы. Для решения проблемы попробуйте переустановить их.
- Сочетанием клавиш Win+R вызываем окно «Выполнить», вводим команду devmgmt.msc и жмем «OK».
Щелкаем правой кнопкой мышки по вкладке «Сетевые адаптеры» и жмем «Обновить конфигурацию оборудования». Устройства вместе с драйверами будут снова переустановлены. Перезагружаем компьютер.
Как настроить сервер openvpn на windows 10?
Что за программа — Open VPN и зачем она нужна? Данный продукт — бесплатное программное решение в течение многих лет предлагаемое разработчиками для организации бесплатных виртуальных частных сетей. Внутри вашего канала Интернет создается безопасный туннель (в том числе и для решения нашей задачи).
Данные шифруются современными методами шифрования, поэтому расшифровка их без ключа невозможна. Ключи создаются при генерировании сертификата, который выдается пользователю.
Замечательной особенностью open vpn является то что генерация сертификатов производится через собственный «авторизованный центр», и платить за выдачу и продление не нужно. Срок действия сертификата определяется самостоятельно. Изначально программа была разработана для Linux. Но для пользователей Windows так же есть решения на сайте разработчика.
Нужно выбирать версию подходящую для вашей операционной системы. В настоящее время актуальна версия для Windows 10. Ее мы и будем сегодня использовать.
Но пусть вас это не смущает. На одной версии спокойно можно работать года три-четыре. Новые появляются при выходе очередных редакций операционных систем и отличаются размерами ключей, методами шифрования и адаптацией. Как правило, приходится генерить под них новые сертификаты пользователей — ставить всё заново.
Забегая вперед скажу — лучше иметь в сети два таких open vpn сервера — основной и резервный. И издеваться над резервным, а придет время- по образу и подобию обновить основной. Итак, для решения нашей задачи следует сначала подготовить наш будущий сервер к работе. Скачиваем программу с сайта разработчика и устанавливаем на нужный компьютер.
Так как у нас это будет СЕРВЕР, не забываем установить галочку, как на картинке. Данный механизм будет нужен нам чуть позже для изготовления сертификатов и прочего.
После окончания установки идем в «Центр управления сетями и общим доступом» — «изменение параметров адаптера». Обнаруживаем, что установился виртуальный сетевой адаптер (через него будет идти соединение) под именем «Ethernet«.
Подключаемся к удаленному рабочему столу
Помните в начале инструкции я говорил, что благодаря облачному серверу вы получите доступ к удаленному компьютеру? Что ж, пора заняться этим.
Итак, несмотря на то, что у нас дистрибутив Ubuntu Virtual Desktop, нам вполне подойдет утилита от Microsoft.
Речь идет о RDP-клиенте Microsoft Remote Desktop 8.0, с помощью которого вы сможете подключиться к облачному компьютеру. Распространяется утилита бесплатно и доступна для macOS, iOS и Android. Короче, универсальное и доступное решение.
Шаг 1. В Mac App Store загружаем Microsoft Remote Desktop 8.0.
Шаг 2. Запускаем утилиту и проводим несложные настройки.
Сперва выбираете New и заполняете соответствующие поля, как расписано на скриншоте ниже.
Запускаете соединение и через пару секунд видите рабочий стол операционной системы Ubuntu Virtual Desktop.
Остается заключительный этап – создание собственного VPN.
WireGuard
WireGuard – это клиент-серверный VPN с открытым исходным кодом, который прост в установке и настройке, быстрый и современный, поскольку он включает в себя новейшие криптографические алгоритмы для обеспечения максимальной безопасности связи.
По словам его разработчиков, он быстрее и проще, чем любой туннель IPSec, а также без необходимости ломать голову со своими сложными конфигурациями.
Что касается OpenVPN, он обеспечивает более высокую производительность благодаря алгоритмам последнего поколения.
WireGuard был разработан для использования VPN в устройствах на базе Linux, и поскольку он потребляет мало ресурсов, а благодаря сочетанию криптографических методов, используемых WireGuard, производительность, которую он обеспечивает, превосходит IPSec и OpenVPN, он также идеально подходит для встраиваемых устройств. как роутеры или платы разработки типа Raspberry Pi из-за низкого потребления ресурсов.
WireGuard, по словам его разработчиков, так же прост в настройке, как и SSH, и VPN-соединение будет обмениваться открытыми ключами, как это делается с ключами SSH, а другие операции полностью прозрачны.
Этот VPN позволяет вам перемещаться по IP, то есть, если вы подключаетесь через VPN через нашу широкополосную мобильную сеть, а мы подключаемся к Wi-Fi, соединение будет поддерживаться, и нет необходимости останавливать и запускать процесс снова.
WireGuard | Скачать
Как мы выбирали VPN-протокол
VPN-протокол должен без проблем поддерживаться на мобильных устройствах без установки дополнительного программного обеспечения.
Мы выбрали самые известные реализации протоколов и отсеяли не подходящие по условиям исходной задачи.
А условия всего два, я напомню:
- Стабильное и надёжное подключение.
- Без установки стороннего программного обеспечения на устройство клиента.
Пробегусь по протоколам и кратко расскажу о них + расскажу причины, почему тот или иной протокол нам не подошёл.
PPTP (Point-To-Point Tunneling Protocol)
Один из самых старейших VPN протоколов, разработанный компанией Microsoft. Из-за солидного возраста протокол поддерживается большинством операционных систем, но в то же время не может обеспечить стабильное и надёжное соединение. Компания Microsoft советует использовать L2TP или SSTP на замену PPTP.
Этот протокол прост в настройке и не требователен к ресурсам сервера, но проблемы с безопасностью заставляют отказаться от его использования в наших целях.
L2TP/IPSec
Протокол во многом схож с PPTP, разрабатывался и принимался практически одновременно с ним. Этот протокол более требователен к вычислительным мощностям, часто используется интернет-провайдерами, т.к. считается более эффективным для построения виртуальных сетей.
L2TP/IPsec позволяет обеспечить высокую безопасность данных, поддерживается всеми современными операционными системами. Есть одно но: он инкапсулирует передаваемые данные дважды, что делает его менее эффективным и более медленным, чем другие VPN-протоколы.
От этого протокола пришлось отказаться т.к. он более требователен к вычислительным мощностям сервера, а значит велик риск получить стабильное, но медленное соединение, что может огорчить пользователей.
IKEv2/IPSec
Был разработан Microsoft совместно с Cisco, существуют реализации протокола с открытым исходным кодом (например, OpenIKEv2, Openswan и strongSwan).
Поддерживает Mobility and Multi-homing Protocol (MOBIKE), что обеспечивает устойчивость к смене сетей.
IKEv2 очень хорошо подходит для использования на мобильных устройствах, которые чаще всего склонны к переключению между WiFi и мобильным интернетом.
IKEv2 имеет нативную поддержку в большинстве операционных систем.
Вот этот вариант нам уже больше подходит, т.к. поддержка Mobility and Multi-homing Protocol будет очень большим плюсом при использовании на мобильных устройствах.
OpenVPN
Разработан компанией OpenVPN Technologies.
Протокол с открытым исходным кодом, который прошёл все возможные проверки безопасности.
Протокол OpenVPN стабилен и может обеспечить хорошую скорость передачи данных. Ещё одно преимущество протокола в том, что он использует для работы стандартные протоколы TCP и UPD, а также может работать на любом из портов. Это усложняет блокировку VPN сервиса провайдерами.
Для подключения к сети с использованием OpenVPN, необходимо устанавливать дополнительное программное обеспечение, что иногда бывает затруднительно или невозможно.
Этот вариант нам бы тоже подошёл, но, к сожалению, из-за необходимости установки клиента, придётся отказаться от этого протокола.
Wireguard
На данный момент это самый свежий протокол VPN. Его часто сравнивают с IPSec и OpenVPN, и называют его их заменой, но он всё ещё слишком сырой, чтобы использовать его в больших масштабах.
Лучшие результаты этот протокол показывает на Unix системах, т.к. он реализован в виде модуля ядра Unix. Но эта высокая пропускная способность достигается за счёт замедления сетевой активности других приложений.
Чтобы настроить на своём мобильном устройстве данный протокол, необходимо будет установить клиент, что тоже не всегда возможно в силу обстоятельств.
И снова необходимость установки дополнительного клиента на устройство отменяет все шансы на использование этого протокола в наших целях.
В итоге мы решили остановится на IKEv2/IPSeс, по следующим причинам:
- Поддержка Mobility and Multi-homing Protocol (MOBIKE).
- Нативная поддержка в большинстве операционных систем.
- Обеспечивает высокую скорость соединения.
- Не требователен к ресурсам сервера.
Перейдём от теории к практике.
Шаг 2. Подключение установлено, как мне проверить что я на верном пути?
2.1. После установления соединения ваше устройство автоматически получит адрес из сети 172.16.0.0/16. После этого вы должны успешно пинговать адрес сервера vpnki путем выполнения команды на своем устройстве. Для Android существует множество утилит для пинга. Мы, например, используем утилиту Ping & DNS из Google Play. Она содержит в себе не только «пинговалку», но и прочие инстументы. К примеру можно посмотреть перечень интерфейсов, таблицу маршрутов (правда не полную) и прочую нужную информацию.
Если пинг не проходит, то убедитесь что новый интерфейс на вашей системе создался. В утилите Ping & DNS вы можете нажать кнопку Network Info и поискать в выводе интерфейс pppX
Если интерфес создан, адрес получен, то пинг адреса 172.16.0.1 должен быть успешным.
2.2. Пинг адреса 172.16.0.1 проходит, но не сразу!Это нормальная ситуация. В течение 10-12 секунд после установления соединения система vpnki ожидает запрос от вашего устройства на получение данных по протоколу DHCP. Такая длительность обусловлена подключением устройств клиентов по низкоскоростным каналам и поэтому мы вынуждены ждать.Если запрос DHCP не приходит, то пропускание вашего трафика начнется через 12 секунд. Поэтому выжидайте 13 секунд после установления соединения и лишь затем выполняйте пинг.
2.3
Важно! По умолчанию Android не отвечает на пакеты icmp (ping) пришедшие к нему из туннельного интефейса pppX. Это означает, что вы не сможете пинговать свое устройство Android с нашей страницы «Инструменты»
Результат этого шага — команда выполняется успешно.
Установка и настройка OpenVPN
Один компьютер будет играть роль сервера. Второй – клиента. На сервере при установке OpenVPN нужно установить флажок EasyRSA – для генерации сертификатов и ключей.
В теории можно скачать и более поздний релиз, но лучше скачивать проверенную версию. Так как я не настраивал последние версии. Если дойдут руки, то дополню статью.
После запуска программы установки включаем EasyRSA (на сервере) и устанавливаем. Программа устанавливается просто и не требует каких-либо специфических настроек при установке.
Затем устанавливаем программу втором компьютере который будет играть роль клиента.
Далее нужно настроить компьютеры, что бы они видели друг друга в сети. Этот процесс зависит от установленной у вас операционной системы. Фактически вам нужно включить сетевое обнаружение.
Создание сертификатов и генерация ключей
Ключи и сертификаты создаются на сервере OpenVPN. Для их создания необходимо выполнить следующие действия:
Запустите командную строку от имени администратора.
С помощью команды cd перейдите в папку C:\Program Files\OpenVPN\easy-rsa и выполните команду init-config.bat, после чего в папке easy-rsa появиться файл vars.bat.
Откройте vars.bat с помощью блокнота или иного текстового редактора. Я открыл в Notepad++. Укажите свои данные.
Данные можно указывать в процессе работы с OpenVPN.
Вернитесь в командную строку и по очереди выполните команды vars и clean-all поочередно.
Выполните команду build-dh. Если у вас появиться ошибка «openssl» не является внутренней или внешней командой, исполняемой программой или пакетный файлом, то нужно добавить в переменные среды путь OpenVPN\bin.
Для этого нужно в переменную среды Path создать путь C:\Program Files\OpenVPN\bin.
Затем заново откройте командную строку и выполните пункты 4-5 заново.
Подождите до завершения процесса. В результате в паке \OpenVPN\easy-rsa\keys появиться файл dh2048.pem.
Создайте новый сертификат Certificate Authority (CA) и ключ, для чего введите команду build-ca. После завершения процесса в папке keys появятся два файла ca.crt и ca.key.
Создайте сертификат и ключ сервера. Для этого введите команду build-key-server к которой нужно добавить (в моем случае abuzov-name), то есть моя команда будет build-key-server abuzov-name. В конце дайте положительный ответ (y) на два вопроса.
Создайте сертификат и ключ для клиента. Введите команду build-key , например build-key ClientVPN1.
Создайте ключ для аутентификации пакетов, для этого выполните команду openvpn —genkey —secret keys/ta.key. В результате в папке easy-rsa\keys появится файл ta.key
Имя | Где применяется | Назначение | Секретность |
---|---|---|---|
ca.crt | Сервер + все клиенты | Корневой сертификат (Root CA certificate) | Нет |
ta.key | Сервер + все клиенты | Файл аутентификации пакетов | Да |
ca.key | Сервер | Корневой ключ (Root CA key) | Да |
dh2048.pem | Сервер | Файл параметров | Нет |
abuzov-name.csr | Сервер | Сертификат сервера | Нет |
abuzov-name.key | Сервер | Ключ сервера | Да |
ClientVPN1.csr | Только на ClientVPN1 | Сертификат клиента | Нет |
ClientVPN1.key | Только на ClientVPN1 | Ключ клиента | Да |
Теперь нужно скопировать соответствующие ключи на сервер и клиент в папку config (в моем случае это C:\Program Files\OpenVPN\config).
Streisand
Streisand – это инструмент VPN с открытым исходным кодом, который позволяет автоматизировать процесс настройки новых серверов VPN, Proxy и Tor, чтобы предоставить пользователям быстрое и простое решение, идеально подходящее для интернет-активистов.
Этот инструмент позволяет вам иметь возможность развертывать большое количество инструментов на вашем сервере с операционной системой Linux, чтобы обойти ограничения.
Таким образом, вы можете замаскировать общедоступный IP-адрес, и весь трафик на наш сервер будет полностью зашифрован по технологии точка-точка.
Streisand позволяет создавать новые серверы в Amazon EC2, DigitalOcean, Google Compute Engine, Linode, а также в Rackspace.
Этот инструмент может работать на любом сервере Ubuntu 16.04 независимо от поставщика, поэтому, если у нас есть сервер, например, в OVH, мы также можем его использовать.
Весь процесс создания и настройки серверов полностью автоматизирован, поэтому нам потребуется несколько минут, чтобы совершить настройку.
Streisand основан на Ansible, любимом инструменте автоматизации, который позволяет легко и быстро предоставлять одинаковую конфигурацию удаленным серверам, таким образом, вы можете развернуть одну и ту же настройку на нескольких удаленных серверах.
Когда сервер готов к работе, вы можете предоставить инструкции по подключению своей семье, друзьям или кому-либо еще, чтобы через настроенный сервер можно было выходить в Интернет без цензуры.
Streisand | Официальный веб-сайт
Microsoft VPN
10 лет назад мы были компанией, ориентированной прежде всего на Windows. Microsoft предлагает бесплатное решение для тех, у кого вся инфраструктура построена на их базе. В простых случаях настройка не вызывает сложностей даже у начинающего системного администратора. В нашем случае мы хотели выжать из VPN все с точки зрения безопасности, соответственно, использование паролей было исключено. Мы естественно хотели использовать сертификаты вместо паролей и для хранения ключевой пары использовать свой продукт Рутокен ЭЦП. Для реализации проекта нам нужно было: контроллер домена, радиус сервер и правильно поднятая и настроенная инфраструктура PKI. Подробно на настройке я останавливаться не буду, в интернете есть достаточно много информации по данным вопросам, а правильная настройка PKI вообще может потянуть на десяток статей. Первым протоколом, который мы использовали у себя, был протокол PPTP. Долгое время данный вариант VPN нас устраивал, но в конечном итоге нам пришлось отказаться от него по двум причинам: PPTP работал далеко не везде и мы начинали пользоваться не только Windows, но и другими операционными системами. Поэтому мы стали искать альтернативы. Замечу, что поддержка PPTP не так давно была прекращена apple. Для начала мы решили посмотреть, что еще из протоколов может предложить на Microsoft. SSTP/L2TP. SSTP нас устраивал всем, за исключением того, что он работал только на Windows. L2TP данным недостатком не обладал, но его настройка и поддержание его в работе показались нам достаточно затратными и мы решили попробовать альтернативы. Хотелось более простого решения, как для пользователей, так и для администраторов.
Шаг 3.2 — настройка сервера (Windows)
Скачиваем SoftEther VPN Client для Windows www.softether.org, устанавливаем оба приложения из списка во время установки.
После установки запускаем SoftEther VPN Server Manager.
создаем новое подключениесоздаем подключение к нашему удаленному серверудля создание центрального шлюза (для объединения наших сетей) включаем Site-to-site VPNможете поменять имя DDNS (а можем и подключаться по IP)включаем IPsec и L2TP (для совместимости со всем зоопарком устройств)VPN Azure по желаниюдля пользователя рекомендую оставить авторизацию по паролюбольше ничего настраивать ненужно
В главном окне нажимаем «Encryption and Network» Выбираем шифрование для VPN подключений и скачиваем сертификат
главное окноустанавливаем шифрованиескачиваем сертификатвыбираем тип сертификатасохраняем сертификатвключаем NAT
нажимаем Enable SecureNAT
На этом настройка сервера полностью завершена, я рекомендую ещё раз перезагрузить свой удаленный сервер.
Как сделать автоматический старт OpenVPN соединения при запуске Windows?
Каждый раз запускать вручную соединение неудобно. В ярлыке OpenVPNgui (свойствах объекта) дописываем аргумент —connect server.ovpn, Ярлык помещаем в «автозагрузку». Я настраивал автозапуск быстро с помощью glary utilites
Вот так это выглядит Команда —connect дает соединение, а настройки его берутся из файла нашего server.ovpn
Если планируется круглосуточная работа сервера — советую настроить операционную систему на автоматический вход без пароля. Это гарантирует самозапуск соединения после перезагрузок, которые бывают при отключении света, установки обновлений.
С сервером закончили. Не забываем открыть порт (указанный в конфиге сервера) на роутере, чтобы предоставить доступ к нашему серверу извне.
Постскриптум
Много вопросов поступает про «OpenVPN — фу, а как L2TP?» и на место L2TP можно подставить любой другой протокол, например, WireGuard. Вряд ли стоит ради этого писать отдельные статьи, зачем порождать информационный мусор. Но если коротко — для любого другого протокола нужно просто завести инстанс, например, ubuntu minimal, а потом использовать готовые автосетапы road warrior — например, L2TP, OpenVPN и WireGuard. Единственный неочевидный момент здесь — открыть на сервисе нужные протоколу входящие порты (в свойствах инстанса — subnet — security list и там добавить соответствующие ingress rules).
Как настроить openvpn клиент на Windows10
Теперь нужно закончить с клиентскими машинами. Для начала сгенерируем клиентские сертификаты. Командная строка еще не закрыта? Набираем команду build-key client (сlient — имя сертификата клиента, можно использовать фамилию, инициалы)
Генерация сертификата происходит как обычно. Доходим до строки Common Name(eg, your name or your servers hostname) и вводим имя сертификата клиента. Оно должно совпадать с введеным ранее! После заполняем строки по умолчанию даем согласие на запись сертификата и добавление его в базу данных.
База данных на сервере обновлена . Таким же образом изготавливаем необходимое количество сертификатов.
Устанавливаем программу Open VPN на компьютере клиента.
Так же появится виртуальный сетевой адаптер, переименовываем его на любое короткое имя по английски.Подготовим конфигурационный файл клиента. Тут все проще.
Скопируем туда следующий текст:
#имя сетевого адаптера ovpn
dev tap
#протокол соединения proto tcp #IP Адрес и порт сервера remote ВАШ IP ВАШ порт # Ключи должны лежать в папке с конфигом ca ca.crt cert client.crt key client.key cipher AES-256-CBC nobind comp-lzo persist-key #persist-tun
keepalive 10 60 mute 20 verb 5
Сохраняем файл в папку с программой по пути C:\Program Files\OpenVPN\config cертификат центра авторизации (ca.crt), сертификат и закрытый ключ (client.key,client.crt) мы копируем с сервера и помещаем в папку с файлом client.ovpn.
Нельзя выдавать один и тот же сертификат разным пользователям. Не получиться одновременной работы — кого то будет выбрасывать из сети при попытке соединения.
Если сотрудник уволился — удаляем файлы его сертификата и ключа с сервера. Программа позволяет генерить список отзыва недействительных сертификатов — простая но полноценная программа. Запускаем соединение на клиенте аналогично — через замочную скважину.
Pritunl
Pritunl – это бесплатный VPN-клиент с открытым исходным кодом.
Платформа соединяет вас с частными сетями, создавая локальное или удаленное VPN-соединение.
Несомненно, OpenVPN является одной из лучших альтернатив OpenVPN, доступных в Интернете.
Pritunl – это простой клиент без ограничений, который вы можете использовать для активации VPN-подключения со своего компьютера, импортировав файл конфигурации, чтобы затем войти в систему с доступом к серверу.
Еще одним преимуществом среды является простота добавления или удаления различных профилей из вашей системы (вы также можете импортировать профили).
Pritunl | Официальный веб-сайт
Как работает OpenVPN
Что бы создать защищенный канал используется библиотека OpenSSL. Весь набор шифров доступный в библиотеке используется в системе.
Система предлагает пользователю несколько способов аутентификации:
- Аутентификация с помощью предустановленного ключа – наиболее простой метод.
- Серверная аутентификация – более сложный, но при этом более гибкий в настройках метод.
- При помощи ввода логина и пароля. Может использоваться без создания сертификата клиента, при этом сертификат сервера все равно необходим.
Давайте разберемся на примере. Я настрою OpenVPN на двух компьютерах под управлением Windows 10. Они будут находиться в одной локальной сети. Так как для настроек через интернет необходим хотя бы один статический IP-адрес.
На этом примере мы разберемся, как создавать ключи и сертификаты безопасности, а так же научимся настраивать конфигурационный файл VPN-сервера и VPN-клиента.
Настройка клиента
На сервере
На сервере генерируем сертификат для клиента. Для этого сначала чистим файл index.txt в папке C:\Program Files\OpenVPN\easy-rsa\keys.
Затем запускаем командную строку от имени администратора:
Переходим в каталог easy-rsa:
cd %ProgramFiles%\OpenVPN\easy-rsa
Далее наши действия зависят от версии RSA.
а) Создание сертификатов с RSA 3
Запускаем команду:
EasyRSA-Start.bat
Мы окажемся в среде EasyRSA Shell.
Создаем клиентский сертификат:
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
Мы должны увидеть запрос на подтверждение намерения выпустить сертификат — вводим yes:
Confirm request details: yes
* в данном примере будет создан сертификат для client1.
После вводим пароль, который указывали при создании корневого сертификата.
Теперь из папки pki копируем файлы:
- issued/client1.crt
- private/client1.key
- ca.crt
- dh.pem
- ta.key
… и переносим их на клиентский компьютер.
б) Создание сертификатов с RSA 2
Запускаем vars.bat:
vars.bat
И генерируем сертификат первого пользователя:
build-key.bat client1
* на все запросы наживаем Enter, кроме Common Name — в данном поле вводим имя клиента (в нашем случае, просто client1). В конце подтверждаем введенную информацию — y.
** На каждого клиента нужно сгенерировать свой сертификат, в противном случае, им будет присваиваться один и тот же IP-адрес, что будет приводить к конфликту.
Получиться, что-то на подобие:
По умолчанию, для Common Name будет подставляться значение из vars.bat — но с ним сертификат не будет создаваться. Необходимо при создании каждого ключа подставлять значение, равное имени сертификата. Например, как выше — подставлено client1.
Теперь из папки keys копируем файлы:
- client1.crt
- client1.key
- ca.crt
- dh.pem
… и переносим их на клиентский компьютер.
На клиенте
Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:
* по сути, это тот же файл, который скачивался для сервера.
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
Переходим в папку C:\Program Files\OpenVPN\config. И копируем в нее сертификаты, которые перенесли с сервера.
Теперь открываем блокнот от имени администратора и вставляем следующие строки:
client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
compress
ncp-disable
fast-io
cipher AES-256-CBC
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
float
keepalive 10 120
persist-key
persist-tun
verb 0
* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы. Для боевой среды это будет внешний адрес.
Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.
Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно). Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:
Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:
Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.
Перезапустите адаптер TAP.
Добавление программного обеспечения OpenVPN в Windows также добавляет адаптер TAP-Windows. В одном сообщении об ошибке OpenVPN говорится: « Все адаптеры TAP-Windows в этой системе в настоящее время используются. »
Если вы получаете это сообщение об ошибке, перезапуск адаптера TAP может исправить OpenVPN. Вы можете перезапустить адаптер TAP следующим образом:
- Нажмите сочетание клавиш Windows + R, чтобы открыть аксессуар «Запуск».
- Введите «Панель управления» в «Выполнить» и нажмите кнопку ОК .
- Нажмите « Центр управления сетями и общим доступом», чтобы открыть настройки панели управления, показанные непосредственно ниже.
Нажмите Изменить настройки адаптера, чтобы открыть свои подключения, как показано ниже.
- Затем щелкните правой кнопкой мыши Адаптер TAP-Windows и выберите Отключить .
- Щелкните правой кнопкой мыши TAP-Windows Adapter и выберите Enable, чтобы перезапустить адаптер.
Создаем свой прокси-сервер
Чтобы быть менее зависимым от владельцев конкретных прокси-серверов, можно поднять свой.
- Сначала арендуем виртуальный сервер (VPS/VDS) и фиксируем его IP-адрес.
- Затем скачиваем и устанавливаем программу PuTTY.
- Открываем вкладку Session и в поле Host Name (or IP address) вводим адрес арендованного сервера.
- После переходим в подпункт Connection.
- Меняем значение напротив строчки Seconds between keepalives (0 to turn off) на 100.
- Потом проходим по пути Connection/SSH/Tunnels в боковой панели меню.
- В строчке Source Port вводим номер 3128.
- Ставим галочку напротив пунктов Dynamic и Auto.
- А затем нажимаем на кнопку Open.
Все. Теперь надо только подключиться к своему серверу. Это можно сделать так же, как я уже описывал в инструкции к браузеру Firefox. Только надо:
- Выбрать протокол SOCKS.
- Указать в качестве адреса localhost.
- Указать порт 3128.
Теперь вам известно, что такое прокси-сервер, как он функционирует и зачем может понадобиться. Засим откланяюсь. Более мне вам поведать не о чем.
Шаг 3. Подключение установлено, пинг адреса 172.16.0.1 успешен, что дальше?
Дальнейшие действия связаны с наличием маршрутной информации. Дело в том, что после подключения, адрес сервера vpnki — 172.16.0.1 является адресом, напрямую подключенным к вашему устройству по каналу точка-точка. По этой причине ваше устройство «знает» об этом адресе и успешно пингует его. Однако, на этом этапе, ваше устройство не обладает информацией о других адресах вашей сети vpnki. Первым шагом будет являться «обучение» вашего устройства новому маршруту к сети vpnki 172.16.0.0/16 Ведь именно в этой сети находятся все ваши прочие туннели. Для достижения этой цели на Андроиде используются метод прописывания статического маршрута в настройках соединения. Увы, протокол DHCP на VPN соединениях для Android не работает.
Если вы настраивали все по инструкции на сайте (с прописыванием маршрутов), то после установления соединения ваше устройство само внесет информацию о маршруте к сети 172.16.0.0/16
Эта сеть, содержая в себе «другие ваши устройства» будет доступна через адрес сервера vpnki — 172.16.0.1
После записи маршрута в таблицу Android вы должны успешно выполнить пинг своего «другого устройства», подключенного к сети vpnki по его адресу 172.16.x.x, выполнив команду
Однако обращаем внимание:
— второе устройство также должно содержать в своей таблице маршрутов путь к сети 172.16.0.0/16 для знания о том — куда отправять ответы на ваш пинг
— на втором вашем устройстве межсетевой экран не должен блокировать ответы на пакеты icmp. Проверить принципиальную возможность ответов устройства на пакеты утилиты ping вы можете с нашей страницы «Инструменты», указав адрес устройства. Если вы уверены, что устройство настроено правильно, но пинги с этой страницы не проходят, то смотрите настройки своего устройства относящиеся к протоколу icmp.
Результат этого шага — успешный пинг вашего второго устройства по адресу 172.16.x.x.
Регистрируемся на ArubaCloud
Шаг 1. Открываем сайт ArubaCloud.com. и выбираем самый дешевый тарифный план за 1 евро в месяц. Нажимаем Start Now.
Шаг 2. В списке повторно выбираем тарифный план за 1 евро. При желании, еще раз ознакомьтесь с характеристиками машины, которую получите в качестве удаленного сервера.
При желании, вы всегда можете добавить оперативной памяти и дискового пространства, но, разумеется, за дополнительную плату.
Шаг 3. На следующем этапе выбираете Continue (Продолжить) и выбираете Register. После чего заполняете анкету пользователя.
Все, помеченные красной звездочкой поля, обязательно заполняем. Не забудьте указать действующий номер телефона – на него придет SMS с паролем.
Шаг 4. Через пару секунд на почту придет письмо с логином, а также ссылка на личный кабинет
Обратите внимание, пароль для входа в личный кабинет отправляется в SMS-сообщении
Активация учетной записи может занимать от 10 до 30 минут. Просто подождите.
Переходим в личный кабинет, вводим полученные логин и пароль, и приступаем к созданию удаленного сервера.