Настройка openvpn подключения windows

Команды и параметры при работе с сертификатами x509 и параметрами шифрования

cipher < alg > — указываем алгоритм шифрования. Например:
cipher AES-256-CBC
Рекомендуется использование шифров в режиме CBC (Cipher Block Chaining).keysize < n > — размер ключа в битах. Например:
keysize 128auth < alg > — алгоритм хэширования. Пример:
auth SHA1df < file > — файл с ключем Диффи-Хелманаca < file > — файл сертификата для CAcert < file > — сертификат локальной машиныkey < file > — локальный ключ машиныtls-server — явно указывает, что данный хост является tls-servertls-client — соответственно tls-clientpkcs12 < file > — указываем файл (PKCS12), который содержит в себе сертификат, ключ и CA в одном файле. Пример:
pkcs12 /filecrl-verify < file > — список отозванных сертификатов, т.е. blacklist.no-replay — отключает защиту OpenVPN от атаки повторного воспроизведения (replay attack). Крайне не рекомендуется отключать!no-iv — отключает использование вектора инициализации шифра (IV). Крайне не рекомендуется отключать!
Последние две опции очень сильно снижают безопасность OpenVPN, крайне не рекомендуется их использование.secret < file > — включает режим шифрования и аутентификации на статических ключах. В качестве параметра использует заранее сгенерированный, командой —genkey, файл. Например:
secret key.txt
Все доступные алгоритмы шифрования можно просмотреть выполнив из командной строки:openvpn —show-ciphers
Алгоритмы хэширования:openvpn —show-digests
Показать все доступные TLS-шифры (TLS используется только для шифрования канала управления)openvpn —show-tls
Показать все доступные крипто-устройства в системе (если такие имеются):openvpn —show-engines
Для улучшения безопасности рекомендовано запускать все сервисы с минимальными правами. Следующими двумя командами мы укажем с правами какого пользователя и группы будет работать openvpn:user nobodygroup nogroup
Где, соответственно, nobody и nogroup имена пользователя и группы.

Ценообразование и акции OpenVPN

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

Цены OpenVPN

Цены, которыми управляет OpenVPN в каждой из своих промо-акций, отличаются вполне доступной ценой. Все пакеты бизнес-версии считаются полными премиум-версиями.

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

Среди различных пакетов, к которым вы можете получить доступ с помощью OpenVPN, это следующие пакеты:

  • Первый – на 1 год, платя около 18 долларов в месяц.
  • Эта регистрация рассчитана на 2 года, в течение которых вы платите 17,10 долларов в месяц.
  • За 3 года службы вы платите $16.20 в месяц.
  • Если вы выберете 4-летний пакет, вам придется платить только $15,60 в месяц.
  • Наконец, есть 5-летний пакет, в котором вы платите $14.40 каждый месяц.

2. Промо-акции OpenVPN

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

Проценты варьируются от 0% до 20%, добавляя только 5% за каждые 12 месяцев, добавляемых к контракту.

3. Способы оплаты OpenVPN

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

Среди различных способов оплаты вы можете использовать для доступа к сервисам OpenVPN:

  • Кредитные карты: Visa, MasterCard, Maestro.
  • Paypal.
  • Амазонка Пэй.
  • Google Pay.
  • Криптомони.

Важно отметить, что это планы для бизнеса OpenVPN, а не для личного пользования

Предложение услуг Цена . Промо-акция
1 год $18 Нет продвижения
2 года $17.10 скидка 5%
3 года $16.20 10% скидка
4 года $15.30 15% скидка
5 лет $14.40 20% скидка

Команды для управления маршрутизацией

Обозначение: VPN-хост — удаленная сторона (удаленный хост)route < network > — устанавливает указанную маршрутизацию на VPN-хосте, после успешного запуска туннеля. Пример:
route 10.0.10.0 255.255.255.252route-gateway < IP > — устанавливает шлюз на VPN-хосте. Пример:
route-gateway 192.168.0.22
После успешного запуска виртуального туннеля клиенту будет задан шлюз 192.168.0.22route-delay < seconds > — указывает подождать n-секунд перед установкой маршрутов. Пример:
route-delay 5
Т.е. через 5 секунд после установки туннеля будут заданы маршруты.route-up < cmd > — выполнить скрипт или программу < cmd > после установки маршрутов. Пример:
route-up /script.shredirect-gateway — установить шлюзом по умолчанию удаленный сервер. Т.е. когда удаленный пользователь подключается к нашему серверу, то ему будет задан шлюз по умолчанию на наш сервер.

Несколько конфигурационных файлов

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

Для Windows:

В каталоге config создаем для каждого сервера свою папку и помещаем в нее рабочие файлы (файл конфигурации, сертификаты и так далее). В каждой папке называем конфигурационные файлы ovpn своими именами (даже если файлы будут находиться в разных папках, но с одинаковыми именами, клиент OpenVPN будет воспринимать их как один конфиг).

Пример каталога config:

Пример файлов в одном из каталогов:

Теперь при подключении клиентом к можно выбрать конкретный VPN-сервер:

Для Linux:

Также как для Windows, создаем для каждого сервера свой каталог, куда скопируем рабочие файлы:

mkdir /etc/openvpn/server1

А в каталоге /etc/openvpn создаем для каждого подключения свой конфиг:

vi /etc/openvpn/client1.conf

* в конфигурационном файле все пути до файлов должны вести в соответствующий каталог (в нашем примере, /etc/openvpn/server1).

Запускаем OpenVPN:

openvpn —config /etc/openvpn/server1/client.conf

Для автоматического запуска мы уже ранее применяли команду:

systemctl enable openvpn@client

… где @client — указатель на использование конфигурационного файла client внутри папки openvpn (/etc/openvpn). Таким образом, если мы создали 2 файла client1.conf и client2.conf, команды для разрешения автозапуска бelen такие:

systemctl enable openvpn@client1

systemctl enable openvpn@client2

Создание сертификатов

Новая версия OpenVPN позволяет создавать сертификаты на основе Easy RSA 3, старая работает на базе 2-й версии. Наши действия будут различаться в зависимости от данной версии. Рассмотрим процесс формирования сертификата с использованием как RSA3, так и RSA2.

а) Создание сертификатов с RSA 3

1. Переходим в папку установки OpenVPN (по умолчанию, C:\Program Files\OpenVPN) и создаем каталог ssl.

2. После переходим в папку C:\Program Files\OpenVPN\easy-rsa, переименовываем файл vars.bat.example в vars.bat, открываем его на редактирование и правим одну строку:

set_var EASYRSA_TEMP_DIR «$EASYRSA_PKI/temp»

* мы снимаем комментарий и добавляем temp в конце $EASYRSA_PKI. Если это не сделать, то при попытке сформировать корневого сертификата мы получим ошибку Failed create CA private key.

3. Запускаем командную строку от имени администратора:

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

cd %ProgramFiles%\OpenVPN\easy-rsa

5. Запускаем команду:

EasyRSA-Start.bat

Мы окажемся в среде EasyRSA Shell.

6. Инициализируем PKI:

./easyrsa init-pki

Мы должны увидеть:

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: C:/Program Files/OpenVPN/easy-rsa/pki

7. Генерируем корневой сертификат (CA):

./easyrsa build-ca

… после ввода Enter обязательно задаем пароль дважды. На запрос ввести Common Name можно просто нажать ввод или написать свое имя:

Common Name (eg: your user, host, or server name) :

8. Создаем ключ Диффи-Хеллмана:

./easyrsa gen-dh

9. Для создания сертификата сервера необходимо сначала создать файл запроса:

./easyrsa gen-req cert nopass

* на запрос ввода Common Name просто вводим Enter.

… и на его основе — сам сертификат:

./easyrsa sign-req server cert

После ввода команды подтверждаем правильность данных, введя yes:

  Confirm request details: yes

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

10. Для создания ta ключа используем команду:

openvpn —genkey —secret pki/ta.key

11. Сертификаты сервера готовы и находятся в каталоге pki. Переносим в C:\Program Files\OpenVPN\ssl следующие файлы:

  • ca.crt
  • issued/cert.crt
  • private/cert.key
  • dh.pem
  • ta.key

б) Создание сертификатов с RSA 2

1. Переходим в папку установки OpenVPN (по умолчанию, C:\Program Files\OpenVPN) и создаем каталог ssl.

2. После переходим в папку C:\Program Files\OpenVPN\easy-rsa, создаем файл vars.bat, открываем его на редактирование и приводим к следующему виду:

* в каталоге easy-rsa уже есть файл vars.bat.sample — можно переименовать и использовать его.
** значение HOME не меняем, если оставили путь установки программы по умолчанию; KEY_DIR — каталог, куда будут генерироваться сертификаты; KEY_CONFIG может быть разным — его лучше посмотреть в файле vars.bat.sample или по названию соответствующего файла в папке easy-rsa; KEY_NAME желательно, чтобы соответствовал полному имени VPN-сервера; остальные опции можно заполнить произвольно.

3. Запускаем командную строку от имени администратора:

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

cd %ProgramFiles%\OpenVPN\easy-rsa

4. Запускаем vars.bat:

vars.bat

5. Чистим каталоги от устаревшей информации:

clean-all.bat

* данная команда выполняется один раз, когда на сервере нет информации по ранее созданным сертификатам.

6. Снова запускаем vars.bat (после clean переопределяются некоторые переменные):

vars.bat

Переходим к созданию ключей.

7. Генерируем последовательность центра сертификации:

build-ca.bat

На все запросы нажимаем Enter.

8. Запускаем build-dh.bat (сертификат с использованием алгоритма Диффи-Хеллмана):

openssl dhparam -out keys\dh.pem 2048

* команда может выполняться долго — это нормально.

9. Генерируем сертификат для сервера:

build-key-server.bat cert

* где cert — имя сертификата; на все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y.

10. После переносим из папки C:\Program Files\OpenVPN\easy-rsa\keys в C:\Program Files\OpenVPN\ssl следующие файлы:

  • ca.crt
  • cert.crt
  • cert.key
  • dh.pem

Доступ к локальной сети

По инструкции выше мы сможем получить доступ только к серверу, на котором установлен OpenVPN. Для получения доступа ко всей внутренней сети, выполним следующие шаги.

1. Настройка реестра

Для включения IP маршрутизации в Windows необходимо в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters найти параметр IPEnableRouter и задать ему значение 1. Это можно сделать в утилите редактирования реестра (regedit) или командой:

reg add «HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters» /v IPEnableRouter /t REG_DWORD /d 1 /f

* командную строку необходимо запускать от администратора.

2. Настройка OpenVPN Server

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

push «route 172.16.10.0 255.255.255.0»
push «route 192.168.2.0 255.255.255.0»

* где 172.16.10.0 — VPN сеть; 192.168.2.0 — локальная сеть, в которую необходимо «попасть» пользователям openvpn.

При необходимости использовать DNS внутренней сети также добавим:

push «dhcp-option DNS 192.168.0.15»
push «dhcp-option DNS 192.168.0.16»
push «dhcp-option DOMAIN dmosk.local»

* где 192.168.0.15 и 192.168.0.16 — внутренние DNS-серверы; dmosk.local — домен, который будет добавляться к узлам, обращение к которым идет по неполному имени.

Если нам нужно, чтобы все запросы клиента (в том числе, Интернет) ходили через сервер OpenVPN, добавляем:

push «redirect-gateway def1»

* в таком случае, нам не обязательно добавлять push route, который мы использовали выше.

Перезагружаем службу OpenVpnService.

3. Разрешаем доступ к локальной сети

Заходим в управление сетевыми подключениями (Панель управления\Сеть и Интернет\Сетевые подключения). Кликаем правой кнопкой мыши по адаптеру локальной сети — Свойства:

На вкладке Доступ ставим галочку Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера:

… и сохраняем настройки.

Как установить OpenVPN для безопасного серфинга

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

  1. Выберите один из пакетов и продолжайте шаги, предложенные во время процедуры.
  2. Затем вы должны зарегистрироваться на сайте OpenVPN.
  3. Нажмите на значок, соответствующий операционной системе, используемой вашим компьютером или мобильным устройством.
  4. Открывает загруженный в устройство файл .exe.
  5. Откройте программу OpenVPN, которая появляется на вашем экране, и нажмите на соответствующую гиперссылку.
  6. Вход с регистрационной информацией.

Бесплатные VPN с простым подключением

Про программу autovpn я уже рассказывал в статье «Как быстро поменять IP в Linux». Суть его работы в следующем: он загружает список бесплатных VPN серверов, ищет в них VPN сервера из страны, которую вы указали, и подключается к нему. В результате весь ваш трафик начинает идти через VPN — это очень быстрый и автоматический способ поменять свой IP и обойти блокировки.

Благодаря особенностям работы VPN, весь трафик (а не только запросы веб-браузера), идёт через VPN сеть, то есть если вы используете сетевые инструменты, они также поменяют свой IP.

Автор autovpn удалил исходный код, в результате Rupert Edwards (автор TorIptables2) переписал код autovpn и назвал программу autovpn2. Программа выполняет всё то же самое.

В этой статье мы познакомимся с autovpn2.

Глядя на работу autovpn2, я всегда задавался вопросами:

  • действительно ли нужно каждый раз заново скачивать файл со списком VPN серверов?
  • почему обязательно нужно указывать страну, почему программа не может выбрать просто любой VPN из списка?
  • почему нет поддержки подключения к VPN через прокси (а также скачивание списка VPN через прокси) — это ещё лучше для анонимности
  • почему autovpn2 использует Python 2? Да, из-за отсутствия зависимостей, autovpn2 спокойно работает даже на Python 2 без модулей (как он присутствует в Kali Linux). Но ведь может наступить момент, когда Python 2 всё-таки полностью удалят с дистрибутивов

В общем, я учёл все эти замечания и ещё раз переписал autovpn (в этот раз на Bash) и назвал его autovpn3. Скриптом я тоже поделюсь в этой статье.

Настраиваем сервер (создаем файл-конфиг и заполняем его):

touch /etc/openvpn/server.conf

nano /etc/openvpn/server.conf

port 17993 # порт, на котором будет слушать сервер

proto tcp # протокол (по умолчанию udp)

dev tun # тип устройства (tun или tap)

############################ KEYS #######################################

tls-server # явно указывает, что данный хост является tls-server

tls-auth keys/ta.key 0 # 0-сервер , 1- для конфига клиента

ca /etc/openvpn/keys/ca.crt # файл сертификата для CA

cert /etc/openvpn/keys/gate.crt # сертификат сервера

key /etc/openvpn/keys/gate.key # ключ сервера

dh /etc/openvpn/keys/dh1024.pem # файл с ключем Диффи-Хелмана

########################## END KEYS #####################################

# автоматически присваивает адреса всем клиентам (DHCP) в указанном

# диапазоне с маской сети. Данная опция заменяет ifconfig и может

# работаеть только с TLS-клиентами в режиме TUN, соответственно

# использование сертификатов обязательно.

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов

push «route 10.10.10.0 255.255.255.0» # передача клиенту маршрута к сетке,

# в которой сервер.

# каждые 10 секунд посылать ping на удаленный хост, и, если за 60 секунд

# не было получено ни одного пакета — то перезапускать туннель.

keepalive 10 60

# параметр сжатия трафика, идущего через виртуальный туннель.

# Может принимать значения yes, no, adaptive.

# Последнее используется по умолчанию.

comp-lzo

# Для улучшения безопасности рекомендовано запускать

# все сервисы с минимальными правами. Openvpn будет работать от имени nobody.

user nobody

group nogroup

persist-key # указывает не перечитавать файлы ключей при перезапуске туннеля

persist-tun # данная опция оставляет без изменения устройства tun/tap

#при перезапуске OpenVPN.

# сервер работает в режиме демона

daemon

############################ LOGS #######################################

status openvpn-status.log # указывает путь к статус-файлу,

# в котором содержится информация о текущих соединениях и

#  информация о интерфейсах TUN/TAP

log-append  openvpn.log # дописывать сообщения в лог-файл, а не перезаписывать.

verb 4 # уровень логирования

mute 20 # в лог будет записываться только по 20 сообщений из одной категории

########################### END LOGS ####################################

client-to-client # позволяет клиентам видеть друг друга (сети)

client-config-dir /etc/openvpn/ccd # папка содержащая маршруты к сетям

# клиентов и посылаемые клиентам ip адреса клиента и сервера

ccd-exclusive # каждому клиенту свои настройки

management localhost 7505

tun-mtu 1500 # устанавливает максимальный размер MTU

tun-mtu-extra 32

mssfix 1450

# маршруты к сетям клиентов

route 192.168.10.0 255.255.255.0 10.8.0.2

route 192.168.0.0 255.255.255.0 10.8.0.2

route 192.168.2.0 255.255.255.0 10.8.0.2

Импорт конфигураций OpenVPN

Чтобы подключиться к SECRETVPN вам понадобятся файлы конфигурации OpenVPN клиента с расширением ovpn. Мы отправили эти файлы вам на электронную почту вместе с данными VPN подписки. Вы также можете скачать и/или сгенерировать файлы конфигурации в личном кабинете.

Если вы не получили письмо от нас, пожалуйста проверьте папку нежелательной почты.

Шаг 1. Запустите OpenVPN. После запуска программы, в области уведомления (справа и внизу экрана) вы увидите соответствующий значок. Также может появиться предупреждение о необходимости импортировать файлы конфигурации

Иконка OpenVPN в области задач

Шаг 2.  Щелкните правой кнопкой мышки по значку OpenVPN. Воспользуйтесь пунктом меню «Импорт конфигурации» и импортируйте только что скаченные файлы конфигурации OpenVPN.  Конфигурации импортированные таким образом помещаются в домашний каталог вашего пользователя C:\Users\»имя пользователя»\OpenVPN\config и доступны только вам

Если меню «Импорт конфигурации …» отсутвует переходите к следующему шагу

Импорт конфигурации OpenVPN

Шаг 3. Необязательно! Если вы хотите, чтобы к VPN могли подключаться все пользователи вашего компьютера вместо импорта конфигурации (пункт 2) скопируйте их вручную в папку C:\Program Files\OpenVPN\config

Импортированные конфигурации OpenVPN

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

Сервер

Конфиг сервера

Поставить OpenVPN и создать одноименного пользователя, под которым будет работать демон:

apt install openvpn
adduser --system --no-create-home --disabled-login --group openvpn

Создать конфиг сервера openvpn со следующим содержимым:

mcedit /etc/openvpn/server.conf

port 1194
proto udp
dev tun
#user openvpn
#group openvpn
dh /etc/openvpn/keys/dh.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-server.crt
key /etc/openvpn/keys/vpn-server.key
tls-auth /etc/openvpn/keys/ta.key 0
#crl-verify  /etc/openvpn/keys/crl.pem
script-security 2
cipher AES-256-CBC
tls-server
comp-lzo
mute 10
persist-key
persist-tun
max-clients 50
keepalive 10 900
client-config-dir /etc/openvpn/ccd
ifconfig-pool-persist /etc/openvpn/ccd/ipp.txt
server 10.15.0.0 255.255.255.0
### Эти параметры требуют пояснений.
# Пушить (передавать клиенту) свой DNS север
push "dhcp-option DNS 192.168.0.1"
# Пушить название домена
push "dhcp-option DOMAIN mydomain.com"
# Пушить маршрут локальной подсети. Для того, чтобы у клиентов был доступ до нее
push "route 192.168.0.0 255.255.254.0"
###
status /var/log/openvpn/openvpn-status.log 1
status-version 3
log-append /var/log/openvpn/openvpn-server.log
verb 5

Создать каталоги для логов и хранения IP адресов клиентов:

mkdir /var/log/openvpn/
mkdir /etc/openvpn/ccd

Центр авторизации и ключи

Перейти в домашний каталог, скачать и распаковать easyrsa 3 версии:

cd
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip

Перейти в каталог easyrsa3 и объявить для него переменные:

cd ~/easy-rsa-master/easyrsa3
cp ~/easy-rsa-master/easyrsa3/vars.example ~/easy-rsa-master/easyrsa3/vars

Инициализировать (Public Key Infrastructure — Инфраструктура открытых ключей):

./easyrsa init-pki

Создать корневой сертификат. Обязательно ввести сложный пароль и сервера, например :

./easyrsa build-ca

Создать ключи Диффи-Хелмана:

./easyrsa gen-dh

Создать запрос на сертификат для сервера OVPN

Обращаю внимание, что сертификат будет незапаролен (параметр ), иначе при каждом старте OpenVPN будет запрашивать этот пароль:

./easyrsa gen-req vpn-server nopass

Создать сам сертификат сервера OVPN:

./easyrsa sign-req server vpn-server

Скопировать полученные ключи в рабочий каталог openvpn:

mkdir -p /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/ca.crt /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/issued/vpn-server.crt /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/private/vpn-server.key /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/dh.pem /etc/openvpn/keys

Создать «HMAC firewall» для защиты от DoS аттак и флуда UDP порта:

cd /etc/openvpn/keys/
openvpn --genkey --secret ta.key

Запустить :

/etc/init.d/openvpn start

Возможные проблемы

Большая часть проблем решается при помощи логов, которые находятся в папке C:\Program Files\OpenVPN\log. Уровень детализации лога контролируется параметром verb в конфигурационном файле сервера или клиента.

Также возможны следующие часто возникающие проблемы:

  1. Проблема: клиент постоянно пытается подключиться к серверу, но соединения не происходит или подключение зависает.
    Причина: сервер блокирует подключения по настроенному порту VPN (в нашем примере, 443).
    Решение: на сервере необходимо добавить 443 порт в исключения брандмауэра или отключить последний.
     
  2. Проблема: при попытке подключиться к серверу выскакивает ошибка «Не удалось подключиться к config».
    Причина: ошибка в настройках.
    Решение: перепроверьте каждую строчку файла конфигурации. Проверьте наличие всех файлов, на которые ссылаетесь в настройках.
     
  3. Проблема: клиенты получают одинаковые IP-адреса.
    Причина: подключение выполняется под одним и тем же пользователем.
    Решение: сервер выдает одинаковые адреса одинаковым клиентам. Необходимо настроить авторизацию на сервере и выдать каждому клиенту индивидуальные настройки.
     
  4. Проблема: соединение происходит, но через несколько минут связь прерывается.
    Причина: дублирование IP-адресов.
    Решение: данная проблема описана выше (пункт 3).

Где бесплатно скачать OpenVPN Config file

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

Обратите внимание, что нужно выбирать сервер, где есть «OpenVPN Config file». Так же стоит обратить внимание на скорость и отдалённость сервера

Чем ближе находиться сервер, тем быстрее будет работать VPN. Для скачивания нажимаем на ссылку «OpenVPN Config file»

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


Должен скачаться файл следующего типа: vpngate_vpn129648839.opengw.net_udp_1194.ovpn (имя файла у Вас будет другим). Но обязательно должно быть расширение .ovpn

Теория

Что такое VPN

VPN-соединение создаётся за счёт связки клиент-серверной архитектуры. Клиенты подключаются к серверу VPN, объединяются в виртуальную сеть, безопасно обмениваются данными. Для подключения к Интернету клиент обращается к серверу VPN, а тот, в свою очередь, получает данные из глобальной сети и передаёт их обратно клиенту.

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

OpenVPN

Один из способов создания виртуальной частной сети – использование бесплатной программы OpenVPN. Утилиту или её исходный код можно скачать на официальном сайте. OpenVPN работает при помощи сертификатов и асимметричного шифрования. То есть передаваемые данные шифруются одним ключом, а расшифровываются другим.

Пара ключей шифрования

  • Публичный ключ – сертификат, который может быть в свободном доступе, производит шифрование данных (email сообщения, проверка ЭЦП).
  • Приватный ключ – хранящийся в ограниченном доступе, только у заинтересованных лиц, расшифровывает данные, зашифрованные публичным ключом.

Для того чтобы такая пара ключей работала, они должны быть подписаны центром авторизации (certification authority, CA). При этом CA имеет свой сертификат и приватный ключ, которые нужны для идентификации созданной пары ключей.

Что нужно для работы OpenVPN

Для настройки VPN необходим виртуальный частный сервер (virtual private server, VPS/VDS). В  качестве ОС будет использоваться Ubuntu — один из самых популярных и стабильных серверных дистрибутивов на базе Linux.

VPS можно арендовать у подходящего хостинг-провайдера

При выборе виртуального сервера важно, чтобы он подходил под следующие условия:

  • Оперативная память (RAM) — не менее 512 МБ.
  • Скорость сетевого интерфейса — 100 мб/сек или выше.
  • Физический сервер должен находиться максимально близко к будущему пользователю. Это обеспечит минимальную задержку (пинг) и позволит соответствовать местным законам.

Такие факторы, как объём постоянной памяти и тип накопителя, практически не имеют значения.

4 ответа

Я наткнулся на ответ в своем исследовании для решения этой проблемы, и я узнал, что лучшее решение (использующий openvpn сервер) следующим образом:

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

Добавляют следующие строки в openvpn конфигурацию (обычно ). В ответе выше его использовался вверх и вниз, которые используются, когда сервер запускается (перезапускает). Направляющее клиентское подключение (и клиентское разъединение) используется, когда клиент соединяется (разъединяется).

ответ дан
6 March
2011 в 12:22

Поскольку это довольно старая тема, я не уверен, что она все еще интересна. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev, например:

. Этот сценарий должен запускаться после создания VPN.

ответ дан
6 March 2011 в 12:22

не предоставляет такую ​​функциональность, вы должны использовать напрямую.

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

Со страницы OpenVPN :

--script-security level 
              This  directive offers policy-level control over OpenVPN’s usage
              of external programs and scripts.  Lower level values  are  more
              restrictive,  higher  values  are more permissive.  Settings for
              level:

              0 -- Strictly no calling of external programs.
              1 -- (Default) Only call built-in executables such as  ifconfig,
              ip, route, or netsh.
              2  --  Allow  calling  of  built-in executables and user-defined
              scripts.
              3 -- Allow passwords to be passed to scripts  via  environmental
              variables (potentially unsafe).
       --up cmd
              Shell  command  to run after successful TUN/TAP device open (pre
              --user UID change).  The up  script  is  useful  for  specifying
              route  commands  which  route  IP  traffic  destined for private
              subnets which exist at the other end of the VPN connection  into
              the tunnel.
Script Order of Execution
       --up   Executed after TCP/UDP socket bind and TUN/TAP open.
       --down Executed after TCP/UDP and TUN/TAP close.

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

Создайте и предоставьте ему права на выполнение (скажем, 755 или 700). Пример содержимого для добавления адреса и маршрута IPv6 (показан в образовательных целях, не копируйте его напрямую):

Обратите внимание, что этот сценарий запускается от имени пользователя root. Если вы не указали параметр и , OpenVPN будет запускать такие сценарии, как , как root

ответ дан
6 March 2011 в 12:22

Аргументы командной строки Openvpn в Ubuntu:

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

С страница руководства openvpn сообщества на

--script-security level 
 Эта директива обеспечивает контроль на уровне политики над использованием OpenVPN внешних 
 программ и сценариев. Более низкие значения являются более строгими, более высокие 
 Значения более допустимы. Настройки уровня: 
 0 - Строго не вызывать внешние программы. 
 1 - (по умолчанию) вызывать только встроенные исполняемые файлы, такие как ifconfig, ip, route, 
 Или netsh. 
 2 - Разрешить вызов встроенных исполняемых файлов и пользовательских сценариев. 
 3 - разрешить передачу паролей в сценарии через переменные среды 
 (Потенциально небезопасно). 
 
 Выпуски OpenVPN до версии 2.3 также поддерживали флаг метода, который указано, как 
 OpenVPN должен вызывать внешние команды и сценарии. Это может быть либо execve 
, Либо система. Начиная с OpenVPN v2.3 этот флаг больше не принимается. В большинстве сред * nix 
 Подход execve () использовался без каких-либо проблем. 
 
 Некоторые директивы, такие как --up, позволяют передавать параметры во внешний сценарий. 
 В этих случаях убедитесь, что имя сценария не содержит пробелов, иначе анализатор конфигурации 
 Захлебнется, потому что не может определить, где заканчивается имя сценария 
 И запускаются параметры сценария. 

В сочетании с сокращенным разделом

 - up cmd 
 Выполнить команду cmd после успешного открытия устройства TUN/TAP (изменение UID до - пользователя). 
 cmd состоит из пути к сценарию (или исполняемой программе) , необязательно сопровождаемый 
 аргументами. Путь и аргументы могут быть в одинарных или двойных кавычках и/или 
 Экранированы с использованием обратной косой черты и должны быть разделены одним или несколькими пробелами.

Встраивание сертификатов в файл .ovpn

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

Данные сертификатов заносятся в парные теги, которые имеют такое же наименование, как и стандартные опции (ca, cert, dh, tls–auth, key и т. д.). Далее это будет показано на примере ранее созданного конфигурационного файла client.conf.

Для начала нужно удалить из файла прописанные сертификаты и ключи:

ca "C:\\Program Files\\OpenVPN\\certs\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\certs\\client1.crt"
key "C:\\Program Files\\OpenVPN\\certs\\client1.key"
tls–auth "C:\\Program Files\\OpenVPN\\certs\\ta.key" 1

Так как «tls–auth» – дополнительная опция, то её необходимо добавить отдельной строкой, введя:

key-direction 1

Далее нужно создать парные теги, как ниже, и перенести данные о ключах:

<ca>
 
</ca>
<cert>

</cert>
<key>
 
</key>
<tls-auth>
 
</tls-auth>

Вместо многоточия указывается содержание публичного или приватного ключа между заголовками «BEGIN» и «END».

После сохранения настроек файл можно передать клиентам OpenVPN.

Установка и настройка OpenVPN клиент на Linux

В этом примере мы разберём установку и настройку на Kali Linux. Для начало нужно выполнить команды обновления:

1
apt-get update
1
apt-get upgrade

После всех обновлений переходим к установки клиента. В консоли по порядку вводим следующие команды:

Файл конфигурации с расширением .ovpn помещаем в удобное для вас место. Для примера я создал папку «vpn» и туда поместил файл. В терминале переходим в папку с файлом

cd /root/vpn/

Командой ls можно проверить есть ли там наш файл. Если всё в порядке, то запускаем клиент openvpn с нашими настройками:

openvpn kali.ovpn — где kali.ovpn мой файл с настройками

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

Если всё хорошо, то увидим надпись «Initialization Sequence Completed». Консоль не закрываем, пока работает vpn она должна быть открыта.

Если бесконечно идет подключение проблема скорее всего в сервере, попробуйте использовать другой файл конфигураций VPN.

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

Ключи сертификатов можно хранить не в отдельных файлах, а внутри конфигурационного файла 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 — сертификат, созданный на базе протокола Диффи Хеллмана.

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

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