OpenVPN – один из вариантов VPN (virtual private network или частных виртуальных сетей), позволяющих реализовать передачу данных по специально созданному зашифрованному каналу. Таким образом можно соединить два компьютера или построить централизованную сеть с сервером и несколькими клиентами. В этой статье мы научимся создавать такой сервер и настраивать его.
Как уже было сказано выше, с помощью технологии, о которой идет речь, мы можем передавать информацию по безопасному каналу связи. Это может быть обмен файлами или защищенный доступ в интернет через сервер, являющийся общим шлюзом. Для его создания нам не потребуется дополнительное оборудование и особые знания – все делается на том компьютере, который планируется использовать в качестве сервера VPN.
Для дальнейшей работы необходимо будет также настроить и клиентскую часть на машинах пользователей сети. Вся работа сводится к созданию ключей и сертификатов, которые затем передаются клиентам. Эти файлы позволяют при подключении к серверу получить IP-адрес и создать упомянутый выше зашифрованный канал. Вся информация, переданная по нему, может быть прочитана только при наличии ключа. Эта особенность позволяет значительно повысить безопасность и обеспечить сохранность данных.
Установка OpenVPN на машину-сервер
Инсталляция представляет собой стандартную процедуру с некоторыми нюансами, о которых и поговорим подробнее.
![](https://i1.wp.com/lumpics.ru/wp-content/uploads/2018/03/Zagruzka-programmyi-OpenVPN-s-ofitsialnogo-sayta-razrabotchikov.png)
Настройка серверной части
При выполнении следующих действий следует быть максимально внимательным. Любые огрехи приведут к неработоспособности сервера. Еще одно обязательное условие – ваша учетная запись должна иметь права администратора.
- Идем в каталог «easy-rsa»
, который в нашем случае находится по адресу
C:\OpenVPN\easy-rsa
Находим файл vars.bat.sample .
Переименовываем его в vars.bat (удаляем слово «sample» вместе с точкой).
Открываем этот файл в редакторе . Это важно, так как именно этот блокнот позволяет правильно редактировать и сохранять коды, что помогает избежать ошибок при их выполнении.
- В первую очередь удаляем все комментарии, выделенные зеленым цветом – они нам будут только мешать. Получим следующее:
- Далее меняем путь к папке «easy-rsa»
на тот, который мы указывали при установке. В данном случае просто удаляем переменную %ProgramFiles%
и меняем ее на C:
.
- Следующие четыре параметра оставляем без изменений.
- Остальные строки заполняем произвольно. Пример на скриншоте.
- Сохраняем файл.
- Требуется также отредактировать следующие файлы:
- build-ca.bat
- build-dh.bat
- build-key.bat
- build-key-pass.bat
- build-key-pkcs12.bat
- build-key-server.bat
В них нужно поменять команду
на абсолютный путь к соответствующему ей файлу openssl.exe . Не забываем сохранять изменения.
- Теперь открываем папку «easy-rsa»
, зажимаем SHIFT
и кликаем ПКМ по свободному месту (не по файлам). В контекстном меню выбираем пункт «Открыть окно команд»
.
Запустится «Командная строка» с уже осуществленным переходом в целевой каталог.
- Вводим команду, указанную ниже, и нажимаем ENTER
.
- Далее запускаем еще один «батник».
- Повторяем первую команду.
- Следующий шаг – создание необходимых файлов. Для этого используем команду
После выполнения система предложит подтвердить данные, которые мы вносили в файл vars.bat. Просто несколько раз нажимаем ENTER , пока не появится исходная строка.
- Создаем DH-ключ с помощью запуска файла
- Готовим сертификат для серверной части. Здесь есть один важный момент. Ему нужно присвоить то имя, которое мы прописали в vars.bat
в строке «KEY_NAME»
. В нашем примере это Lumpics
. Команда выглядит следующим образом:
build-key-server.bat Lumpics
Здесь также необходимо подтвердить данные с помощью клавиши ENTER , а также два раза ввести букву «y» (yes), где потребуется (см. скриншот). Командную строку можно закрыть.
- В нашем каталоге «easy-rsa»
появилась новая папка с названием «keys»
.
- Ее содержимое требуется скопировать и вставить в папку «ssl»
, которую необходимо создать в корневом каталоге программы.
Вид папки после вставки скопированных файлов:
- Теперь идем в каталог
C:\OpenVPN\config
Создаем здесь текстовый документ (ПКМ – Создать – Текстовый документ), переименовываем его в server.ovpn и открываем в Notepad++. Вносим следующий код:
port 443
proto udp
dev tun
dev-node "VPN Lumpics"
dh C:\\OpenVPN\\ssl\\dh2048.pem
ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\Lumpics.crt
key C:\\OpenVPN\\ssl\\Lumpics.key
server 172.16.10.0 255.255.255.0
max-clients 32
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
cipher DES-CBC
status C:\\OpenVPN\\log\\status.log
log C:\\OpenVPN\\log\\openvpn.log
verb 4
mute 20Обратите внимание, что названия сертификатов и ключей должны совпадать с расположенными в папке «ssl» .
- Далее открываем «Панель управления»
и переходим в «Центр управления сетями»
.
- Нажимаем на ссылку «Изменение параметров адаптера»
.
- Здесь нам нужно найти подключение, осуществляемое через «TAP-Windows Adapter V9»
. Сделать это можно, нажав по соединению ПКМ и перейдя к его свойствам.
- Переименовываем его в «VPN Lumpics»
без кавычек. Это название должно совпадать с параметром «dev-node»
в файле server.ovpn
.
- Заключительный этап – запуск службы. Нажимаем сочетание клавиш Win+R
, вводим строку, указанную ниже, и жмем ENTER
.
- Находим сервис с названием «OpenVpnService»
, кликаем ПКМ и идем в его свойства.
- Тип запуска меняем на «Автоматически»
, запускаем службу и нажимаем «Применить»
.
- Если мы все сделали правильно, то возле адаптера должен пропасть красный крестик. Это значит, что подключение готово к работе.
Настройка клиентской части
Перед началом настройки клиента необходимо совершить несколько действий на серверной машине – сгенерировать ключи и сертификат для настройки подключения.
![](https://i2.wp.com/lumpics.ru/wp-content/uploads/2018/03/Fayl-index-v-papke-s-klyuchami-i-sertifikatami-na-servere-OpenVPN.png)
Работы, которые необходимо выполнить на клиентской машине:
![](https://i2.wp.com/lumpics.ru/wp-content/uploads/2018/03/Perenos-faylov-klyuchey-i-sertifikatov-na-klientskuyu-mashinu-s-OpenVPN.png)
На этом настройка сервера и клиента OpenVPN завершена.
Заключение
Организация собственной VPN-сети позволит вам максимально защитить передаваемую информацию, а также сделать интернет-серфинг более безопасным. Главное – быть внимательнее при настройке серверной и клиентской части, при правильных действиях можно будет пользоваться всеми преимуществами частной виртуальной сети.
В сущности, Open vpn представляет собой весьма интересную программу, работающую под Virtual Private Network разновидности точка-точка, причем, менять FireWall-настройки для её использования не требуется. Это программа приходит на помощь, когда необходимо подключиться к приватной виртуальной сети, например, присоединиться к домашней сети или офисной VPN.
Данная программа нередко выступает в роли универсального клиента, который дает возможность без проблем замаскировать свое пребывание в интернете, в два счета установив связь со сторонним сервером «мимо» вашего провайдера. Именно это делает open vpn популярной в среде анонимных VPN сервисов.
Что можно отнести к базовым преимуществам подобной модели?
- Экономия траффика: все качественно сжимается lzo.
- Легкость настройки: на все про всё уходит меньше часа, а разобраться сможет даже новичок или человек без специальных знаний.
- Впечатляющая безопасность: шифруется весь траффик без исключения, при этом каждый клиент обособлен.
- Клиент не нуждается в установке дополнительного оборудования.
- Наконец, стабильность работы и достаточно приличная скорость.
Что примечательно, программа поставляется совершенно бесплатно, т.е. ее исходный код открыт для всех желающих. Хотите узнать больше? Заходите сюда и вы найдете исчерпывающую информацию.
Что представляет собой подключение через открытый VPN?
Для того чтобы гарантировать соединению и вашим данным полную безопасность, применяется библиотека OpenSSL. Это открывает программе максимальный доступ к имеющимся в сборке шифровочным алгоритмам. Дополнительно может применяться HMAC - это обеспечивает усиленное шифрование данных в тот момент, когда информация обрабатывается или передается.
- В каких операционных системах может использоваться OpenVPN клиент? Во всех основных ОС, к числу которых принадлежит Windows, MAC OS, FreeBSD.
- Через какие порты OpenVPN производит все сетевые операции и перемещения? UDP или TCP, более того, возможна работа через HTTP, NAT и др.
Так что, если вы собираетесь приобрести доступ к vpn server, думается, технология open vpn определенно вас заинтересует. Десятки исследований и попыток скрупулезно сравнить OpenVPN и PPTP выстроили четкую картину: улучшенные алгоритмы шифрования данных делают клиента в разы более эффективным в вопросах безопасности. Легкость обслуживания вносит дополнительные баллы в его пользу. Удачной вам работы!
1) На сайте openvpn.net переходим в раздел Community . Во вкладке Downloads нажимаем на Community Downloads .
2) Выбираем установочный файл в соответствии с разрядностью ОС (32bit /64bit ), установленной на и скачиваем его.
3) Запускаем установочный файл и выполняем шаги установки.
5) В процессе установки OpenVPN программа может запросить подтверждение установки TAP -драйвера. Данный запрос необходимо подтвердить нажатием на кнопку Установить .
6) На этом процесс установки завершается.
Настройка на стороне сервера
Рассмотрим пример настройки OpenVPN-соединения с использованием самоподписанного SSL-сертификата.
1) Запускаем командную строку.
Пуск (Start) -> Выполнить (Run) -> cmd
2) Переходим в директорию C:\Program Files\OpenVPN\easy-rsa при помощи команды:
Cd \Program Files\OpenVPN\easy-rsa
3) Запускаем файл init-config.bat в командной строке:
Init-config.bat
После запуска файла будет создан файл vars.bat .
4) Файл vars.bat необходимо открыть в текстовом редакторе (блокнот или Wordpad) и изменить данные для подписи ключей на свои личные. Отредактировать можно информацию в следующих строках:
Set KEY_COUNTRY=US #Страна set KEY_PROVINCE=CA #Область set KEY_CITY=SanFrancisco #Город set KEY_ORG=OpenVPN #Название компании set [email protected] #Контактный e-mail
Также, в случае отсутствия записи вида:
Set OPENSSL_CONF=C:\Program Files\OpenVPN\easy-rsa\openssl-1.0.0.cnf
необходимо её добавить под строкой:
Set KEY_CONFIG=openssl-1.0.0.cnf
Примечание: путь расположения и имя конфигурационного файла могут отличаться от указанных в примере. Поэтому предварительно убедитесь в том, что файл расположен и именован в соответствии с указанными данными.
5) Для создания index и serial файлов, выполняем поочередно следующие команды в командной строке:
Vars clean-all
6) Следующей командой создается СА-ключ, которым будет подписываться будущий SSL-сертификат. После запуска команды будут запрошены значения параметров. Если до этого вы внесли корректировки в файл vars.bat , то на параметры, указанные в 4-м шаге можно отвечать путём нажатия Enter . Исключением является параметр – Common Name . В нём необходимо ввести хостнейм сервера, либо доменное имя.
Build-ca
7) Создаем ключ Диффи-Хельмана.
Build-key-server <имя_сервера>
В нашем случае будет следующая команда:
Build-key-server server
Заполнение производится по аналогии 6-го шага. В поле Common Name в нашем случае указываем server . На оба вопроса «Sign the certificate? » и «1 out of 1 certificate requests certified, commit? » отвечаем согласием путём ввода «y «, и затем нажимаем Enter .
9) Cоздаем отдельный ключ для каждого клиента:
Build-key client1
Вводим необходимые контактные данные. В Common Name указываем client1 .
Переносим файлы из папки /keys в папку /config .
10) Из папки /sample-config копируем файл server.ovpn в папку /config
Настройка файервола
Убеждаемся в том, что порты 5194 и 1194 не заблокированы файерволом, иначе добавляем разрешающие правила на входящий и исходящий трафик:
11) Переходим в Start (Пуск) -> All programs -> Administrative Tools -> Windows Firewall with Advanced Security .
12) Нажимаем в левой части окна на Inbound Rules и в разделе Actions нажимаем на New rule . В результате должен появиться мастер создания правил.
13) Предложенные 5 шагов заполняем следующим образом:
Шаг 1 — Rule type: Port;
Шаг 2 — Protocol and Ports: По умолчанию в настройках OpenVPN сервера используется UDP-протокол. Если данная конфигурация не изменялась, то выбираем в данном шаге UDP . В противном случае — TCP . В поле Specific local ports указываем 5194 .
Шаг 3 – Action: Allow the connection;
Шаг 4 – Profile: Оставляем галочки включенными.
Шаг 5 – Name: Указываем название правила на своё усмотрение и нажимаем Finish .
14) Аналогичным образом добавляем правило для порта 1194 , после чего переходим в Outbound Rules и создаем два правила, идентичные тем, которые были созданы в Inbound .
Запуск сервера
15) Запускаем сервер OpenVPN путём нажатия правой кнопкой мыши на файле server.ovpn Sarting OpenVPN on this config file .
16) В результате появится командная строка, в которой будет отображен процесс запуска VPN-сервера. Если по окончанию будет выведена строка Initialization Sequence Completed , значит запуск прошел успешно.
Настройка на стороне клиента
Следующие шаги предполагают наличие уже установленного OpenVPN-клиента.
1) Из папки /sample-config на сервере скачиваем на компьютер файл client.ovpn в папку OpenVPN/config/
2) Из папки /config на сервере скачиваем файлы ca.crt , client1.crt , client1.key на компьютер в папку OpenVPN/config/
3) Открываем скачанный файл client.ovpn в текстовом редакторе и вносим следующие корректировки:
В записи remote my-server-1 1194 заменяем my-server-1 на IP-адрес сервера. В cert client.crt изменяем client.crt на client1.crt В key client.key изменяем client.key на client1.key
После этого сохраняем изменения.
4) Запускаем OPENVPN-GUI . В системном трее нажимаем правой кнопкой на иконке OpenVPN и в контекстном меню выбираем пункт Edit config .
Если открывшаяся конфигурация не соответствует файлу client.ovpn , то приводим настройки в соответствующий вид. Если соответствует, то закрываем редактор, вновь нажимаем правой кнопкой на иконке в системном трее и выбираем пункт Connect . Если в появившемся окне процесса соединения отобразятся строки:
Initialization Sequence Completed MANAGEMENT: >STATE: ********,CONNECTED,SUCCESS
Возможные ошибки
failed to update database TXT_DB error number 2Причина: при создании сертификата и ключа для клиента была указана информация, идентичная той, которая использовалась до этого для генерирования другого сертификата.
Решение: указание другой контактной информации.
WARNING: can"t open config file: /etc/ssl/openssl.cnf
Причина: некорректно установленный путь в переменной окружения OPENSSL_CONF .
Решение: необходимо объявить данную переменную в файле vars.bat , как указано в шаге 4 настройки на стороне сервера.
16 августа 2009 в 22:40OpenVPN: создание полноценного openVPN gateway
- Настройка Linux
Определися с желаемым.
Примем за основу то, что наш сервер распологается в удаленном датацентре. Т.е. попадать на него мы будет через интернет.
После установки шифрованного туннеля между клиентом и сервером, сервер будет NAT-ить все наши пакеты в Интернет. Также, сервер будет обслуживать DNS и являться firewall-ом для виртуальной локальной сети.
Внешний IP нашего сервера (того, который будет openVPN): 212.212.212.212
Внутренний IP сервера (видимый из туннеля): 10.10.0.1
Пул внутренних адресов openVPN: 10.10.0.2 - 10.10.0.128
Название нашей сети: vpnet
Имя сервера: vpsrv
Имя клиента: vpclient
Зачем нужен внешний IP, думаю, понятно. Внутренний IP нужен для соединения с сервером после
поднятия туннеля. Пул адресов - это адреса, которые сервер выдает подключившимся клиентам.
Название сети - это имена конф. файлов и имя сервера в этих конф. файлах. Имена клиента и сервера = имена файлов ключей.
На сервере установлен Gentoo Linux 2008.0, обновленный до последних версий. Ядро - 2.6.29. Вся настройка будет выполняться по SSH.
Настройка ядра.
Замечу сразу, на этом этапе нужно быть крайне осторожным и внимательным. Если кто забыл.
Ядро должно содержать опции ниже на сервере. На клиенте нужны только TUN и ipv4.
В ядре нам понадобится следующий функционал, привожу выдержку из конфига:
CONFIG_NF_NAT=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NETFILTER=y
CONFIG_TUN=m
Ну и разумеется поддержка ipv4, сетевой карты и прочего железа. Собираем и устанавливаем ядро. Можно воспользоваться genkernel . Перезагружаемся.
Настройка сервера.
Установка ПО.
Если:) сервер вернулся из ребута, перейдем к установке ПО.Emerge --sync
emerge openvpn bind bind-tools iptables
Ждем, иногда долго. После установки переходим в /etc/init.d/ и выполняем:
Ln -s openvpn openvpn.vpnet
rc-update add openvpn.vpnet default
rc-update add named default
rc-update iptables default
./iptables save
Создав symlink на самого себя, мы указали openvpn, что нужно использовать конфигурацию vpnet . В будущем запускаем его только так:
/etc/init.d/openvpn.vpnet start
Сейчас запускать не нужно, ибо запускать пока нечего. :)
Помимо этого мы добавили iptables, named и openvpn в автозагрузку.
Создадим нужные каталоги и файлы:
Mkdir /etc/openvpn/vpnet/
mkdir /etc/openvpn/vpnet/keys
touch /var/log/openvpn.log
touch /etc/openvpn/vpnet.conf
Генерация ключей.
Перейдем в /usr/share/openvpn/easy-rsa/ . Откроем файл vars и впишем настроим параметры:
Export EASY_RSA="/usr/share/openvpn/easy-rsa/" #Путь к easy-rsa.
export KEY_CONFIG="$EASY_RSA/openssl.cnf" #Конфиг OpenSSL
export KEY_DIR="/etc/openvpn/vpnet/keys" #Каталог, в котором мы будем держать ключи.
export KEY_SIZE=1024 # Размер ключа
export CA_EXPIRE=3650 # Срок действия CA
export KEY_EXPIRE=3650 # Срок действия ключа
export KEY_COUNTRY="RU" # Двухбуквенный код страны
export KEY_PROVINCE="XX" # Province, не актуально
export KEY_CITY="Town" # Город
export KEY_ORG="Companyname" # Компания
export KEY_EMAIL="[email protected]" # Email
Естественно, значения (компания, путь к ключам и easy-rsa, email) нужно поменять на подходящие вам.
Имопртируем переменные: source ./vars
Теперь создадим ключи.
./clean-all # Убиваем старые ключи, если они были.
openvpn --genkey --secret ta.key # Ключ TLS-auth
./build-dh #Ключ Диффи-Хеллмана.
./pkitool --initca # Certificate Authority для сервера.
./pkitool --server vpsrv # Сертификат сервера.
./pkitool vpclient # Сертификат клиента.
И перенесем остатки в нужное место:
Mv ./ta.key /etc/openvpn/vpnet/keys
Все, ключи готовы.
Настройка сервера.
Переходим в /etc/openvpn/ , открываем vpnet.conf и пишем туда:
Mode server
tls-server
proto tcp-server
dev tap
port 5555 # Порт
daemon
tls-auth /etc/openvpn/vpnet/keys/ta.key 0
ca /etc/openvpn/vpnet/keys/ca.crt
cert /etc/openvpn/vpnet/keys/vpsrv.crt
key /etc/openvpn/vpnet/keys/vpsrv.key
dh /etc/openvpn/vpnet/keys/dh1024.pem
ifconfig 10.10.0.1 255.255.255.0 # Внутренний IP сервера
ifconfig-pool 10.10.0.2 10.10.0.128 # Пул адресов.
push "redirect-gateway def1" # Перенаправлять default gateway на vpn-сервер. Если не нужно - закомментировать.
push "route-gateway 10.10.0.1"
duplicate-cn
verb 3
cipher DES-EDE3-CBC # Тип шифрования.
persist-key
log-append /var/log/openvpn.log # Лог-файл.
persist-tun
comp-lzo
Все опции, в принципе, понятны. Особо важные я отметил комментариями. Пути и названия, адреса - нужно подправить под себя.
Теперь сервер можно запустить командой /etc/init.d/openvpn.vpnet start
Если возникнут проблемы, подробности можно прочитать в log-файле.
Чтобы сервер выпускал наши пакеты во внешнюю сеть нам нужно настроить NAT. Это просто.
Готовим и запускаем iptables:
/etc/init.d/iptables save
/etc/init.d/iptables start
Включаем поддержку IP forwarding:
Sysctl net.ipv4.ip_forward=1
echo "sysctl net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
Добавляем правило firewall:
Iptables -v -t nat -A POSTROUTING -o EXTERNAL_IF -s VPN_NET/24 -j SNAT --to-source SERVER_IP
EXTERNAL_IF, VPN_NET и SERVER_IP заменить на внешний интерфейс, сеть VPN и внешний (!) IP сервера соответственно.
Снова делаем /etc/init.d/iptables save , чтобы правило применялось при загрузке системы.
Все, можно работать.
Настройка клиента.
Устанавливаем ПО, создаем пути:
Emerge openvpn
cd /etc/init.d/
ln -s openvpn openvpn.vpnet-client
rc-update add openvpn.vpnet-client default
Mkdir /etc/openvpn/vpnet
mkdir /etc/openvpn/vpnet/client_keys
touch /etc/openvpn/vpnet-client.conf
Берем с сервера файлы:
ca.crt
vpclient.crt
vpclient.key
ta.key
И закидываем их в /etc/openvpn/vpnet/client_keys/ на клиенте.
Редактируем /etc/openvpn/vpnet-client.conf :
Tls-client
proto tcp-client
remote 212.212.212.212
dev tap
port 5555
cd /etc/openvpn/vpnet
pull
tls-auth /etc/openvpn/vpnet/client_keys/ta.key 1
ca /etc/openvpn/vpnet/client_keys/ca.crt
cert /etc/openvpn/vpnet/client_keys/vpclient.crt
key /etc/openvpn/vpnet/client_keys/vpclient.key
cipher DES-EDE3-CBC
log-append /var/log/openvpn.log
comp-lzo
Опции шифрования и компрессии на клиенте и сервере должны совпадать .
Запускаем клиент. Автоматически установится соединение с сервером, создастся туннель, default gateway - сервер VPN. Если все сделано правильно, то можно ходить в интернет.
Настройка закончена.
Могу ответить на вопросы в комментариях.
Чем больше государства пытаются контролировать интернет и устанавливать там свою цензуру, тем больше набирают популярности различные сервисы обхода. Одно из свободных решений для организации частных виртуальных систем - это OpenVPN. Вы можете использовать один из уже развернутых в сети серверов или же развернуть программное обеспечение в своей системе.
В одной из предыдущих статей мы рассматривали . В этой же статье более подробно остановимся на настройке подключения к серверу с помощью различных программ в Linux и Android, а также попытаемся понять как работает эта служба.
Вы уже знаете что программа организовывает виртуальную сеть между компьютерами и все данные в этой сети шифруются и недоступны для пользователей вне нее. Для достижения этой цели программа создает в системе виртуальное устройство tun0. Это такой же интерфейс, как и eth0 или wlan0, он имеет свой ip адрес. Весь трафик, который передается на этот интерфейс шифруется и передается в виртуальную сеть.
Поэтому для передачи трафика через OpenVPN будет достаточно добавить в несколько правил, которые будут заставлять трафик идти через интерфейс tun0.
Как пользоваться OpenVPN в Linux
Сначала рассмотрим как подключиться к OpenVPN из Ubuntu или любого другого Linux дистрибутива через терминал. Допустим, вы скачали файл конфигурации сервера.ovpn и хотите подключиться к этой сети. Для этого нужно установить клиент openvpn:
sudo openvpn ~/Загрузки/config.ovpn
После этого окно терминала закрывать нельзя и если OpenVPN сервер был настроен правильно, то он уже передал на машину правильные маршруты и ваш трафик идет через виртуальную сеть. Давайте посмотрим маршруты:
Здесь стоит обратить внимание на две строки:
0.0.0.0/1 via 192.168.243.1 dev tun0
169.254.0.0/16 dev enp2s0 scope link metric 1000
Первая направляет весь трафик системы на интерфейс tun0, а вторая более интересная, она разворачивает трафик ip сети 169.254.0.0 на реальный интерфейс. Если ее не будет, то весь трафик будет идти на tun0, в том числе и трафик от программы OpenVPN, который уже прошел этот интерфейс и получиться петля. Чтобы разорвать подключение в таком варианте достаточно нажать Ctrl+C в терминале, где вы запустили openvpn.
Второй способ использовать OpenVPN в Linux - это установить плагин openvpn для NetworkManager и подключатся с помощью него. Для установки этого пакета в Ubuntu выполните такую команду:
sudo apt-get install network-manager-openvpn
Теперь откройте апплет Network Manager, разверните "Соединение VPN" и выберите "Настроить соединение" :
В открывшемся окне нажмите кнопку "+" :
Затем выберите надпись "VPN" .
Снова смотрим таблицу маршрутизации:
В целом, NetworkManager создает другие правила, но они работают так же. Настройка клиента openvpn на ubuntu завершена.
Использование OpenVPN в Android
Вы можете пользоваться OpenVPN на любой платформе, в том числе и на Android. Для устройств было выпущено официальное приложение OpenVPN Connect. С помощью него вы можете подключиться к сети, как и в предыдущем варианте, с помощью ovpn файла. Вы можете установить это приложение из Google Play:
Откройте приложение, нажмите на кнопку меню, затем выберите "Import" -> "Import profile from SDCard" :
Выберите нужный файл и нажмите "Select" :
Затем осталось нажать "Connect" для подключения к сети:
Настройка клиента openvpn включает только импорт конфигурационного файла, больше ничего не нужно. Дальше ваш трафик будет направлен через VPN, здесь тоже вы можете посмотреть таблицу маршрутизации, если установлен эмулятор терминала:
Правда, здесь мы не увидим такой ситуации, как в Linux, маршрутизация на VPN в Android осуществляется немного по-другому.
Как пользоваться OpenVPN в Windows
Нельзя было не рассказать в этой статье как пользоваться OpenVPN GUI в Windows, тем более что это ненамного сложнее чем в Android. Нам нужно установить клиент OpenVPN. Вы можете скачать его на официальном сайте:
После загрузки запустите программу от имени администратора и пройдите все шаги мастера: