Vpn

Подготовка Ubuntu

Обновляем установленные пакеты:

apt-get update && apt-get upgrade

Устанавливаем утилиту для синхронизации времени:

apt-get install chrony

Разрешаем ее автозапуск и стартуем сервис:

systemctl enable chrony —now

Установим правильную временную зону:

timedatectl set-timezone Europe/Moscow

* в данном примере московское время.

Если в нашей системе используется брандмауэр, открываем порт, на котором будет слушать OpenVPN:

iptables -I INPUT -p udp —dport 443 -j ACCEPT

* в данной инструкции предполагается, что мы настроим VPN-сервер на UDP-порту 443, однако, по-умолчанию, OpenVPN работает на порту 1194.

Для сохранения правила используем iptables-persistent:

apt-get install iptables-persistent

netfilter-persistent save

Перемещение сертификатов и ключей

Сервер

Ключи и сертификаты созданы. Настало время раздать их пользователям, а серверные ключи скопировать в соответствующие каталоги на сервере.

1. Переходим в каталог с ключами:

2. Копируем только необходимые серверу файлы:

Важно понимать, что перечисленные выше файлы являются основой работы и безопасности VPN сервера. Утеря или подмена этих файлов может иметь крайне негативные последствия

Важно хранить их в надежном месте и не передавать по открытым каналам связи.

Клиенты

Клиенту понадобится всего 3 файла ca.crt, client1.crt, client1.key. Каждому клиенту необходимо отдавать только его ключи. Данные файлы можно разместить в директории /etc/openvpn на машине клиента, если она под управлением Linux-подобной ОС.

В ОС Windows их следует разместить в пользовательский каталог.

Настройка выхода в интернет с IP сервера

Если ваши цели были — только организовать VPN сеть или соединится с изолированной сетью (например из дома с локальной сетью на работе), то эта часть статьи вам не нужна.

Настройки сервера

Если же вы хотите организовать доступ из VPN сети в интернет с IP адреса сервера, то вам нужно настроить на сервере NAT.
Сделать это можно следующей командой (на сервере):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Здесь мы указали, что сеть 10.8.0.0/24 будет выходить наружу через интерфейс eth0.

Для того что бы настройки iptables сохранились после перезагрузки нужно их дополнительно сохранить:

iptables-save > /etc/iptables.up.rules
echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces

Optional Commands

  1. To list all available configuration profiles, run this command: . Important: a configuration file typically contains generic options to be able to connect to a specific server, regardless of the device itself. OpenVPN 3 Linux also supports setting more host-specific settings on a configuration profile as well. This is handled via the `openvpn3 config-manage` interface. Any settings here will also be preserved across boots if the configuration profile was imported with the argument.
  2. Note that it is possible to use the D-Bus path to the configuration profile: . Note: in either of these cases is it necessary to have access to the configuration profile on disk. As long as configuration profiles are available via , all needed to start a VPN session should be present.

Какой протокол выбрать?

Пока что фаворитом является OpenVPN. Он уже давно на рынке и успел себя зарекомендовать. Используется топовыми VPN-cервисами, работает на Android, iOS, Windows, macOS, Linux и даже на роутерах. Разве что на утюге не получится запустить. Скорость работы OpenVPN хоть и не поражает, но ее хватит для комфортной работы. 

Второе место я бы отдал WireGuard. Это пока еще темная лошадка, но зато с кучей бонусов. Он превосходит OpenVPN и IPsec по всем параметрам, но пока не вызывает такого доверия, как первый. Но это все же дело времени. Кажется, что в ближайшем будущем расстановка сил на рынке VPN-сервисов заметно скорректируется.

Замкнет тройку лидеров IPsec – jтличный баланс между производительностью и доступностью. Правда, если не брать в расчет подозрительную историю с утечкой данных американских спецслужб. Если им верить, то в IPsec встроены бэкдоры, позволяющие отслеживать трафик, передаваемый по протоколу IPsec в тайне от отправляющего. 

Остальные технологии оказались на обочине прогресса. Не советую их использовать. Только если все остальные варианты почему-то оказались недоступны.

SSTP

Secure Socket Tunneling Protocol — модифицированная версия PPTP. Эдакая надстройка старого протокола, которая должна была стать не только духовным продолжением ранее существовавшей технологии, но и исправлением всех ошибок, допущенных в «предыдущей версии». 

Сколько-то заметной популярности протокол не сыскал. Доля на рынке VPN у SSTP такая же скромная, как и у предыдущей итерации протокола Microsoft. Но у него есть преимущество в виде отсутствия критических проблем с безопасностью. Таких зияющих дыр в нем нет и перехватить трафик гораздо сложнее. 

Помогает SSL-шифрование. При подключении к SSTP вся информация отправляется через TCP-порт 443. Такой подход делает его полезным при необходимости создавать безопасные подключения со странами, где большая часть VPN-сервисов заблокирована или запрещена законом. 

Многочисленные тестирования показали, что SSTP может передавать данные на высокой скорости (если канал свободен) и быстро восстанавливать соединение, если то неожиданно оборвалось. По этим показателям протокол стремится к OpenVPN, но не дотягивает ввиду некоторых ограничений технологии. 

Secure Socket Tunneling Protocol доступен на операционных системах Windows, Linux и BSD, но поддерживается ограниченным количеством сервисов. Их тяжело найти, а еще они зачастую обходятся дороже альтернатив. Отсюда и скромная аудитория SSTP, которая и не планирует расти в ближайшем будущем из-за продвинутости конкурентов. 

Зачем нужен VPN

С терминологией мы разобрались. Теперь определимся, для каких целей можно использовать VPN-соединение. Мы не будем рассматривать все варианты использования, а разберем лишь те, что чаще всего встречаются в реальной практике. Поехали!

Причина 1: Блокировка интернет-ресурсов

Одна из самых распространенных проблем, с которой сталкиваются пользователи – блокировка ресурсов. Интернет-провайдеры нередко закрывают доступ даже к безопасным веб-ресурсам, которые не несут никакой угрозы во всех планах. Чтобы обойти такой метод защиты, можно воспользоваться VPN – получаем новый IP-адрес и заходим на сайт.

Причина 2: Анонимность

Если вы пользуетесь интернетом из дома, то вряд ли кто-то захочет отследить ваш трафик. Но если выход в интернет осуществляется из мест общего пользования, таких как аэропорт, отель или кафе, то могут возникнуть проблемы. Часто в таких случаях соединение никак не шифруется и личные данные могут быть легко получены злоумышленниками. Именно поэтому рекомендуется использовать VPN, чтобы обезопасить себя от потери конфиденциальных данных.

Причина 3: Скрытие геолокации

Бывает, что мы находимся вдали от дома и не хотим, чтобы кто-то об этом узнал. Кроме того, преступники иногда используют информацию о геолокации человека, чтобы отследить его для тех или иных целей. Избежать всего этого можно с помощью VPN – достаточно выбрать сервер, расположенный там, где это необходимо.

Причина 4: «Список Наблюдений»

Организации, подобные MPAA (Motion Picture Association) и ЦПС (Центр правительственной связи в Великобритании), регулярно отслеживают действия в интернете, связанные с незаконной загрузкой информации. Не во всех случаях скачивание данных является незаконным, но тем не менее службы могут запросто внести вас в «Список наблюдений», если идентифицируют ваш IP. Что за этим следует? Как минимум крупный штраф. 

Причина 5: Увеличение скорости интернета на популярных ресурсах

Бывает, что провайдеры устанавливают ограничения на ресурсы, подобные ВКонтакте или YouTube, из-за чего скорость передачи данных становится медленной. Существуют даже специальные сайты, позволяющие измерить индекс скорости разных интернет-провайдеров. Если вы замечали такие проблемы, то попробуйте VPN и замерьте скорость соединения вместе с ним.

Причина 6: Ценовая дискриминация

Ценовая дискриминация – это когда за один и тот же товар разные группы потребителей платят разную сумму. Она может ударить вам по карману двумя способами – исходя из местоположения либо регулярных покупок какого-либо товара. Например, для жителей Москвы какой-нибудь продукт может быть дороже, чем для жителей провинции. Попробуйте VPN и сравните цены! 

VPN в мобильной среде

Мобильные виртуальные частные сети используются в настройках, где конечная точка VPN не привязана к одному IP-адресу , а вместо этого перемещается по различным сетям, таким как сети передачи данных от операторов сотовой связи или между несколькими точками доступа Wi-Fi, не прерывая безопасный сеанс VPN. или потеря сеансов приложения. Мобильные виртуальные частные сети широко используются в сфере общественной безопасности, где они предоставляют правоохранительным органам доступ к таким приложениям, как компьютерная диспетчеризация и криминальные базы данных, а также в других организациях с аналогичными требованиями, таких как управление полевыми услугами и здравоохранение.

Аналогия: каждая ЛВС как остров

Представьте, что вы живете на острове посреди огромного океана. Вокруг вас разбросаны тысячи других островов, одни из них находятся ближе другие дальше. Обычный способ перемещения — это воспользоваться переправой между вашим островом и тем островом, куда нужно попасть. Перемещение переправой означает, что у вас практически отсутствует секретность. Все что вы делаете может увидеть кто-либо другой.

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

Ваш остров решает навести мост с другим островом, чтобы появился более легкий, безопасный и прямой путь для перемещения людей между островами. Наведение и содержание моста — дорогостоящая процедура, даже если эти острова находятся на очень близком расстоянии один от другого. Однако потребность в надежном и безопасном пути настолько велика, что вы решаетесь на этот шаг. Ваш остров хотел бы соединиться со вторым островом, который находится гораздо дальше первого, но вы решаете, что это слишком дорого.

Возникновение такой ситуации очень вероятно при использовании выделенной линии. Мосты (выделенные линии) отделены от океана (Интернет) и при этом они способны соединять острова (LAN). Многие компании выбрали этот путь из-за потребности в безопасной и надежной связи между своими удаленными офисами. Однако, если офисы находятся на очень большом расстоянии один от другого, стоимость может оказаться чрезмерно высокой — это подобно ситуации, когда нужно возводить очень длинный мост.

Какое место VPN занимает в этой аналогии? Каждому обитателю таких островов можно предоставить свою собственную небольшую подводную лодку, обладающую следующими свойствами.

  • Быстрота.

  • Легкое управление в нужном направлении.

  • Полная невидимость для остальных средств переправы и подводных лодок.

  • Надежность.

  • После приобретения первой подводной лодки, стоимость приобретения дополнительных субмарин становится небольшой.

Хотя они плавают в океане вместе с остальными лодками, обитатели двух островов могут перемещаться туда и обратно в любое время, сохраняя секретность и безопасность. Именно в этом и заключается сущность функционирования VPN. Каждый удаленный пользователь вашей сети может взаимодействовать безопасным и надежным способом, используя Интернет в качестве среды для подключения к частной LAN. VPN гораздо легче расширяется добавлением новых пользователей и различных расположений чем выделенная линия. На самом деле, масштабируемость — это основное преимущество VPN в сравнении с типичными выделенными линиями. В отличие от выделенных линий, где стоимость возрастает прямо пропорционально протяженности соединения, географическое расположение каждого офиса имеет меньшее значение при создании VPN.

Настройка сервера

Переходим в папку C:\Program Files\OpenVPN\config-auto (или для старой версии C:\Program Files\OpenVPN\config) и создаем файл server.ovpn. Открываем его на редактирование и приводим к следующему виду:

port 443
proto udp
dev tun
dev-node «VPN Server»
dh «C:\\Program Files\\OpenVPN\\ssl\\dh.pem»
ca «C:\\Program Files\\OpenVPN\\ssl\\ca.crt»
cert «C:\\Program Files\\OpenVPN\\ssl\\cert.crt»
key «C:\\Program Files\\OpenVPN\\ssl\\cert.key»
server 172.16.10.0 255.255.255.0
max-clients 32
keepalive 10 120
client-to-client
compress
ncp-disable
fast-io
cipher AES-256-CBC
persist-key
persist-tun
status «C:\\Program Files\\OpenVPN\\log\\status.log»
log «C:\\Program Files\\OpenVPN\\log\\openvpn.log»
verb 4
mute 20

* где port — сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных, например 1194, занятые порты в Windows можно посмотреть командой netstat -a); dev-node — название сетевого интерфейса; server — подсеть, в которой будут работать как сам сервер, так и подключенные к нему клиенты.
** так как в некоторых путях есть пробелы, параметр заносится в кавычках.
*** при использовании другого порта необходимо проверить, что он открыт в брандмауэре или на время тестирования отключить его.

В сетевых подключениях Windows открываем управление адаптерами — TAP-адаптер переименовываем в «VPN Server» (как у нас указано в конфигурационном файле, разделе dev-node):

Теперь открываем службы Windows и находим «OpenVpnService». Открываем ее, настраиваем на автозапуск и включаем:

Ранее переименованный сетевой интерфейс должен включиться:

VPN-сервер работает. Проверьте, что сетевой адаптер VPN Server получил IP 172.16.10.1. Если он получает что-то, на подобие, 169.254…, выключаем сетевой адаптер — перезапускаем службу OpenVpnService и снова включаем сетевой адаптер.

Аутентификация пользователей

Позволяет требовать от пользователя ввод логина и пароля при каждом подключении. Также идентификация каждого пользователя необходима для уникальной идентификации каждого из них и выдачи разных IP-адресов.

Настройка на сервере

Открываем конфигурационный файл openvpn:

vi /etc/openvpn/server.conf

И добавляем следующие строчки:

plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so login
tmp-dir /etc/openvpn/tmp

* где:

  • plugin — путь до библиотеки проверки введенных логина и пароля. Как путь, так и название файла openvpn-plugin-auth-pam.so могут отличаться. Это зависит от версии Linux и OpenVPN. Чтобы найти путь до нужного файла, можно воспользоваться командой find / -name «openvpn-*auth-pam*.so» -print.
  • tmp-dir — указание пути до директории хранения временных файлов. Если не указать, то будет использоваться /tmp, однако, на практике это может привести к ошибке Could not create temporary file ‘/tmp/openvpn_<набор символов>.tmp’: No such file or directory (errno=2).

Создаем каталог для временных файлов и задаем на него права:

mkdir /etc/openvpn/tmp

chmod 777 /etc/openvpn/tmp

Перезапускаем сервер:

systemctl restart openvpn@server

Создаем учетную запись для авторизации:

useradd vpn1 -s /sbin/nologin

passwd vpn1

В конфигурационный файл клиента добавляем:

auth-user-pass

Можно пробовать подключаться.

Вход без ввода пароля

Если необходимо настроить авторизацию, но автоматизировать вход клиента, открываем конфигурационный файл последнего и строку для авторизации меняем на:

auth-user-pass auth.txt

* где auth.txt — файл, в котором мы будем хранить логин и пароль.

Создаем текстовый файл auth.txt в той же папке, где находится файл конфигурации со следующим содержимым:

username
password

* где username — логин пользователя, а password — пароль.

Переподключаем клиента.

Описанный метод аутентификации является базовым и требует наличие обычной системной учетной записи. Если необходима более сложная авторизация на базе LDAP, можно воспользоваться инструкцией

настройка OpenVPN сервера с аутентификацией через LDAP (написана на базе Linux Ubuntu).

Создание закрытого ключа сертификата клиента и конфигурации

Процесс создания клиентского закрытого ключа и запроса сертификата такой же, как и при генерации ключа сервера и запроса сертификата.

Как мы уже упоминали в предыдущем разделе, мы сгенерируем закрытый ключ клиента и запрос сертификата на сервере OpenVPN. В этом примере имя первого VPN-клиента будет .

  1. Перейдите в каталог EasyRSA на вашем сервере OpenVPN и сгенерируйте новый закрытый ключ и файл запроса сертификата для клиента:

    Команда создаст два файла: закрытый ключ ( ) и файл запроса сертификата ( ).

  2. Скопируйте закрытый ключ в каталог вы создали в предыдущем разделе:

  3. Перенесите файл запроса сертификата на компьютер CA:

    В этом примере мы используем для передачи файла, вы также можете использовать через ssh или любой другой безопасный метод.

  4. Войдите в свой компьютер CA , перейдите в каталог EasyRSA и импортируйте файл запроса сертификата:

    Первый аргумент — это путь к файлу запроса сертификата, а второй — имя клиента.

  5. Из каталога EasyRSA на компьютере CA выполните следующую команду, чтобы подписать запрос:

    Вам будет предложено подтвердить, что запрос исходит из надежного источника. Введите и нажмите для подтверждения:

    Если ваш ключ CA защищен паролем, вам будет предложено ввести пароль. После проверки скрипт сгенерирует сертификат SSL и напечатает полный путь к нему.

  6. Затем подписанный файл сертификата обратно на сервер OpenVPN. Вы можете использовать , или любой другой безопасный метод:

  7. Войдите на свой сервер OpenVPN и переместите файл каталог :

  8. Последним шагом является создание конфигурации клиента с помощью сценария . Перейдите в каталог и запустите скрипт, используя имя клиента в качестве аргумента:

    Сценарий создаст файл с именем в каталоге . Вы можете проверить, перечислив каталог:

На этом этапе конфигурация клиента создана. Теперь вы можете передать файл конфигурации на устройство, которое собираетесь использовать в качестве клиента.

Например, чтобы передать файл конфигурации на локальный компьютер с помощью вы должны выполнить следующую команду:

Чтобы добавить дополнительных клиентов, просто повторите те же шаги.

SaferVPN

Доступные приложения:

  • ПК
  • макинтош
  • IOS
  • Android
  • Linux

Гарантия возврата денег: 30 ДНЕЙ

SaferVPN Штаб-квартира находится в США и предоставляет вам доступ к более чем 700 серверам в более чем 34 странах. Его дополнения Firefox и Chrome позволяет просматривать и передавать потоковое видео с более высокой скоростью, чем при использовании приложения VPN. Хотя он не обеспечивает такого высокого уровня безопасности, как приложение VPN (без шифрования), он идеально подходит для потоковой передачи контента, особенно если у вас уже медленное соединение.

SaferVPN может предоставить доступ к США Netflix подключившись через свои серверы US Streaming. Что касается скорости, это одна из самых быстрых VPN, которые мы тестировали, поэтому не должно быть проблем с потоковой передачей HD-контента или работой с большими файлами, даже если вы используете основное приложение..

В целом, SaferVPN обеспечивает безопасность и конфиденциальность благодаря основному VPN-сервису, обеспечивающему 256-битное шифрование, защиту от утечки DNS, переключатель отключения и автоматическую защиту Wi-Fi. Он не ведет журналы трафика и журналы подключений, которые можно привязать к отдельному пользователю. Базовый план допускает до пяти одновременных подключений.

Приложения доступны для Windows, Mac, iOS и Android.

Плюсы:

  • Легко использовать
  • Разблокирует Netflix
  • Быстрые скорости

Минусы:

Аддон менее безопасен, чем настольное приложение

ПРОСТОЙ ИНТЕРФЕЙС: SaferVPN достигает больших скоростей. Надежно разблокирует географически ограниченный контент и имеет отличные данные для конфиденциальности. Не хватает некоторых популярных функций. Включает 30-дневную гарантию возврата денег.

Прочитайте наш полный обзор SaferVPN.

SaferVPN CouponСэкономьте 80% на 3-летнем планеGET DEALСкидка применяется автоматически

Сертификаты внутри конфигурационного файла

Ключи сертификатов можно хранить не в отдельных файлах, а внутри конфигурационного файла ovpn.


key-direction 1
 

<ca>
——BEGIN CERTIFICATE——

——END CERTIFICATE——
</ca>
<tls-auth>
——BEGIN OpenVPN Static key V1——

——END OpenVPN Static key V1——
</tls-auth>
<cert>
——BEGIN CERTIFICATE——

——END CERTIFICATE——
</cert>
<key>
——BEGIN PRIVATE KEY——

——END PRIVATE KEY——
</key>
<dh>
——BEGIN DH PARAMETERS——

——END DH PARAMETERS——
</dh>

* key-direction 1 — необходим для tls-auth, в противном случае, работать не будет; ca — ключ центра сертификации (ca.crt); tls-auth — ta.key; cert — открытый сертификат клиента (clients.crt); key — закрытый сертификат клиента (clients.key); dh — сертификат, созданный на базе протокола Диффи Хеллмана.

Что позволяет скрыть VPN

Главная задача анонимайзера заключается в сокрытии IP-адреса пользователя от других лиц и интернет-провайдера, в частности.

Используя VPN, можно будут обеспечены:

  1. Шифрование IP-адреса. Ни провайдер, ни другое стороннее лицо не смогут проследить движения пользователя по сети, потому что его IP-адрес будет скрыт.
  2. Защита трафика. «Родной» провайдер не увидит содержания использованного пользователем трафика.
  3. Шифрование журналов. Истории поиска и посещений также останутся недоступны. И даже файлы cookie будут надежно скрыты от посторонних глаз.
  4. Защита в случае возможных сбоев. Если в работе самого VPN произойдет какая-либо ошибка, интернет-подключение тут же автоматически прервется. Соответственно, программа закроет все рабочие страницы (если, конечно, речь идет о корректно работающем VPN без ограничений).
  5. Многофакторная аутентификация. И вновь о высокой степени защиты пользовательских данных можно говорить только при условии работы с полноценным анонимайзером.

Другими словами, используя VPN, пользователь блокирует основную информацию о посещаемых им сайтах, скачанных файлах и историю поиска. Недоступными будут даже публикации в открытых соцсетях.

Дополнительные сведения

  • Общие сведения о VPDN (виртуальная частная коммутируемая сеть)
  • Виртуальные частные сети (VPN)
  • Страница поддержки концентраторов Cisco VPN серии 3000
  • Страница поддержки клиента Cisco VPN 3000
  • Страница поддержки согласования IPsec/протокола IKE
  • Страница поддержки брандмауэров PIX серии 500
  • RFC 1661: протокол соединения «точка-точка» (PPP)
  • RFC 2661: протокол туннелирования канального уровня (L2TP)
  • Как работает система: функционирование виртуальных частных сетей
  • Обзор сетей VPN
  • Страница Tom Dunigan о VPN
  • Консорциум VPN
  • Документы RFC
  • Техническая поддержка — Cisco Systems

Настройка OpenVPN-клиента

Сертификат должен быть сформирован на сервер, после чего перенесен на клиентское устройство. Рассмотрим процесс подробнее.

На сервере

Создадим каталог, куда поместим сертификаты для обмена:

mkdir /tmp/keys

* сертификаты будут скопированы в каталог /tmp для удобства их переноса на клиентский компьютер.

Переходим в каталог easy-rsa:

cd /etc/openvpn/easy-rsa

Создаем системные переменные, настроенные ранее в файле vars:

. ./vars

Как в случае формирования сертификата для сервера, наши следующие шаги зависят от версии RSA.

а) Для новой версии (easyrsa)

Создаем сертификат для клиента:

./easyrsa build-client-full client1 nopass

Вводим пароль, который указывали при создании корневого сертификата:

Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:

Скопируем ключи во временную директорию:

cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt pki/ta.key /tmp/keys/

Разрешим доступ на чтения всем пользователям:

chmod -R a+r /tmp/keys

б) Для старой версии (build)

Создаем сертификат для клиента:

./build-key client1

* на все запросы отвечаем Enter.

В конце отвечаем на два вопроса утвердительно:

Certificate is to be certified until Aug  8 21:49:30 2031 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Скопируем ключи во временную директорию:

cp keys/client1.{crt,key} keys/ca.crt keys/ta.key /tmp/keys/

Разрешим доступ на чтения всем пользователям:

chmod -R a+r /tmp/keys

На клиенте

Клиент OpenVPN может быть установлен на Windows, Linux, Android и Mac OS. Мы рассмотрим пример работы с Windows.

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Переходим в папку C:\Program Files\OpenVPN\config. И копируем в нее файлы ca.crt, client1.crt, client1.key, ta.key из каталога /tmp/keys на сервере, например, при помощи программы WinSCP.

После переноса файлов, не забываем удалить ключи из временного каталога на сервере:

rm -R /tmp/keys

Теперь возвращаемся к компьютеру с Windows, открываем блокнот от имени администратора и вставляем следующие строки:

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0

* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.
* подробнее про настройку клиента OpenVPN.

Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.

Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно). Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.

Создание ключей Диффи-Хеллмана и HMAC

В этом разделе мы сгенерируем надежный ключ Диффи-Хеллмана, который будет использоваться во время обмена ключами, и файл подписи HMAC, чтобы добавить дополнительный уровень безопасности к соединению.

  1. Сначала перейдите в каталог EasyRSA на вашем сервере OpenVPN .

  2. Сгенерируйте ключ Диффи-Хеллмана:

    Скрипт сгенерирует параметры DH длиной 2048 бит. Это может занять некоторое время, особенно на серверах с небольшими ресурсами. После завершения на вашем экране будет напечатано следующее сообщение:

    Скопируйте файл каталог :

  3. Создайте подпись HMAC:

    После завершения скопируйте файл каталог :

Создание сертификата сервера, ключа и файлов шифрования

На этом этапе необходимо сгенерировать сертификат и пару ключей для сервера, а также несколько дополнительных файлов, которые будут использоваться в процессе шифрования.

Начните с генерирования OpenVPN сертификата сервера и пары ключей. Для этого используйте команду:

$ ./build-key-server server

Примечание. Если имя сервера отличается от написанного в этой статье (server), то вам нужно будет изменить некоторые команды, чтобы в них использовалось то имя, которое вы указали ранее. К примеру, необходимо будет изменить файл /etc/openvpn/server.conf для того, чтобы в нем содержались указания на правильные файлы .crt и .key.

Как и до этого, вывод после введения команды будет содержать данные, которые были установлены до этого, поэтому можно просто нажимать Enter для подтверждения корректности данных. Однако не задавайте пароль вызова (challenge password) для этой установки. В конце вам нужно два раза ввести y (yes – да) на два вопроса для подписи и создания сертификата:

Output
. . .

Certificate is to be certified until May 1 17:51:16 2026 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Теперь нужно заняться созданием нескольких других вещей, в частности, нужно сгенерировать ключи протокола Диффи — Хеллмана:

$ ./build-dh

Для выполнения этой команды может потребоваться время.

После этого нужно создать подпись HMAC для того, чтобы усилить способности сервера к проверке TLS:

$ openvpn --genkey --secret keys/ta.key

Структура VPN

Состоит это подключение из двух частей. Первая называется «внутренняя» сеть, можно создать несколько таких. Вторая – «внешняя», по которой происходит инкапсулированное соединение, как правило, используется интернет. Еще существует возможность подсоединиться к сети отдельного компьютера. Производится соединение пользователя к конкретному VPN через сервер доступа, подключенный одновременно к внешней и внутренней сети.

Когда программа для VPN подключает удаленного пользователя, сервер требует прохождения двух важных процессов: сначала идентификации, затем – аутентификации. Это необходимо для получения прав пользоваться данным соединением. Если вы полностью прошли успешно эти два этапа, ваша сеть наделяется полномочиями, которые открывают возможность работы. По сути – это процесс авторизации.

Генерация клиентских ключей.

Аналогично генерации серверных ключей создаются и клиентские:

Следует обратить внимание, что созданный client1.key не имеет парольной или криптографической защиты. Это может привести к тому, что любой пользователь завладевший файлом может попробовать подключиться к серверу

Если такая угроза существует, лучше генерировать ключи другим скриптом:

Скрипт запросит пароль ную фразу в самом начале. Далее процесс ничем не отличается от генерации ключей сервера и простого клиента.

Скриншот 6. Создание ключа клиента

Следует помнить, что имена ключей должны быть уникальными. Один пользователь — один ключ с уникальным именем.

Бывает так, что в процессе работы сервера, по прошествии некоторого времени, необходимо создать еще один или несколько сертификатов. Для этого потребуется повторно инициализировать скрипт vars и только потом запустить процесс генерации ключа:

Подключение клиента к OpenVPN-соединению

Установите openvpn клиент. Он будет использоваться для установки vpn-соединения с сервером

Теперь скопируйте клиентский файл OpenVPN, который находится на сервере. Копировать надо на клиентский компьютер. После этого на клиентском компьютере выполните следующую команду:

Перед редактированием конфигурационного файла клиента OpenVPN мы должны проверить, используем ли мы resolvconf или systemd-resolved для разрешения DNS

С этим значением он показывает, что вы используете systemd-resolved. Далее установите пакет, который поможет systemd-resolved использовать VPN для разрешения DNS при подключении.

Теперь мы можем отредактировать файл vpn-клиента, раскомментировав строки, необходимые для systemd-resolved

Для системы, использующей update-resolv-conf раскомментируйте строки

Теперь попробуем подключиться к VPN с помощью команды openvpn:

Вы можете проверить информацию ip для туннельного интерфейса

Эта команда покажет IP-адрес туннеля, и мы можем пингануть сервер OpenVPN. С помощью пинга вы поймете подключились вы на сервер или нет.

Создание сертификата клиента и пары ключей

Наконец, вам необходимо сгенерировать сертификат и пару ключей для клиента. Несмотря на то, что создать ключ можно и на машине клиента (а затем в целях безопасности подписать его в центре сертификации), в этой статье я расскажу о том, как сгенерировать подписанный ключ на сервере.
В данном случае будет сгенерирована одна пара ключ-сертификат для одного клиента, поэтому если у вас не один, а несколько клиентов, вам нужно повторить написанное для всего количества клиентов. Единственное различие будет состоять в том, что значение скрипта должно быть уникальным для каждого клиента.

Для удобства (чтобы вы могли использовать эту инструкцию и возвращаться к ней потом) для файла vars будет еще раз выполнена команда source. А client1 будет является значением для первого сертификата и пары ключей.

$ cd ~/openvpn-ca
$ source vars

Если вы хотите создать файлы без пароля и облегчить автоматические соединения, пользуйтесь командой built-key:

$ ./build-key client1

Если вы, наоборот, хотите использовать защиту паролем, то пользуйтесь командой build-key-pass:

$ ./build-key-pass client1

Опять же, как и в предыдущих случаях во время создания файлов все значения по умолчанию будут заполнены, поэтому вам нужно просто подтверждать их, нажимая Enter. Как и ранее, оставьте пароль вызова пустым и убедитесь, что вы ввели y на все запросы подписи и подтверждения создания сертификата.
На этом установка закончена. В следующей статье я расскажу о том, как правильно настроить OpenVPN.

Вывод: вам нужна VPN?

Личная конфиденциальность в Интернете находится в осаде из-за многих направлений, и, похоже, это случилось за одну ночь. Прошли те времена, когда нам приходилось беспокоиться о киберпреступниках, но теперь мы также должны беспокоиться о компаниях и правительства, которые хотят украсть наши данные по той же причине — использовать в своих целях.

Естественно, ваша потребность в VPN будет в значительной степени зависит от какой страны вы находитесь в, так как каждый имеет разные уровни угрозы. Вопрос не тот, на который можно ответить простым да или нет.

Однако из темпов роста стоимость глобального рынка VPN, Я скажу, что это очень вероятно, что вам понадобится рано или поздно. Прошлое время, когда отдельные пользователи начали принимать конфиденциальность и безопасность в Интернете как должное и искать способы обеспечения их информации.

Мы с удовольствием пользовались Интернетом так же, как всегда, просто просматриваем как можно более беззаботный. Правда, вирусы и вредоносное ПО сделали нас более осторожными, но мало что изменилось.

Лично я считаю, что принятие услуги VPN должно стать следующим шагом, который предпринимает каждый пользователь Интернета. Существует настоятельная необходимость вырваться из мышления, что нам не угрожает то, что мы делаем в Интернете.

Возьмем, к примеру, кого-то, кто просто хочет выйти в интернет и посмотреть несколько фотографий милых котов. При этом, информация, такая как его / ее привычки просмотра, нравится / не нравится, местоположение и многое другое в настоящее время собранные властями или организации. Разве эта мысль не настолько страшна, чтобы заставить какую-то форму действия?

Итак, я говорю «да», даже если вы считаете, что вам не нужна VPN — вы действительно.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: