Команды и параметры при работе с сертификатами 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. Независимо от того, предназначена ли она для мобильных устройств или для использования с компьютера, вам просто необходимо выполнить следующие шаги:
- Выберите один из пакетов и продолжайте шаги, предложенные во время процедуры.
- Затем вы должны зарегистрироваться на сайте OpenVPN.
- Нажмите на значок, соответствующий операционной системе, используемой вашим компьютером или мобильным устройством.
- Открывает загруженный в устройство файл .exe.
- Откройте программу OpenVPN, которая появляется на вашем экране, и нажмите на соответствующую гиперссылку.
- Вход с регистрационной информацией.
Бесплатные 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 в конфигурационном файле сервера или клиента.
Также возможны следующие часто возникающие проблемы:
- Проблема: клиент постоянно пытается подключиться к серверу, но соединения не происходит или подключение зависает.
Причина: сервер блокирует подключения по настроенному порту VPN (в нашем примере, 443).
Решение: на сервере необходимо добавить 443 порт в исключения брандмауэра или отключить последний.
- Проблема: при попытке подключиться к серверу выскакивает ошибка «Не удалось подключиться к config».
Причина: ошибка в настройках.
Решение: перепроверьте каждую строчку файла конфигурации. Проверьте наличие всех файлов, на которые ссылаетесь в настройках.
- Проблема: клиенты получают одинаковые IP-адреса.
Причина: подключение выполняется под одним и тем же пользователем.
Решение: сервер выдает одинаковые адреса одинаковым клиентам. Необходимо настроить авторизацию на сервере и выдать каждому клиенту индивидуальные настройки.
- Проблема: соединение происходит, но через несколько минут связь прерывается.
Причина: дублирование 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 — сертификат, созданный на базе протокола Диффи Хеллмана.