Чем больше государства пытаются контролировать интернет и устанавливать там свою цензуру, тем больше набирают популярности различные сервисы обхода. Одно из свободных решений для организации частных виртуальных систем — это OpenVPN. Вы можете использовать один из уже развернутых в сети серверов или же развернуть программное обеспечение в своей системе.
В одной из предыдущих статей мы рассматривали как настроить OpenVPN сервер в Ubuntu. В этой же статье более подробно остановимся на настройке подключения к серверу с помощью различных программ в Linux и Android, а также попытаемся понять как работает эта служба.
Как работает OpenVPN?
Вы уже знаете что программа организовывает виртуальную сеть между компьютерами и все данные в этой сети шифруются и недоступны для пользователей вне нее. Для достижения этой цели программа создает в системе виртуальное устройство tun0. Это такой же интерфейс, как и eth0 или wlan0, он имеет свой ip адрес. Весь трафик, который передается на этот интерфейс шифруется и передается в виртуальную сеть.
Поэтому для передачи трафика через OpenVPN будет достаточно добавить в таблицу маршрутизации несколько правил, которые будут заставлять трафик идти через интерфейс tun0.
Как пользоваться OpenVPN в Linux
Сначала рассмотрим как подключиться к OpenVPN из Ubuntu или любого другого Linux дистрибутива через терминал. Допустим, вы скачали файл конфигурации сервера .ovpn и хотите подключиться к этой сети. Для этого нужно установить клиент openvpn:
sudo apt install openvpn
А далее для подключения к сети достаточно выполнить команду openvpn и передать ей в параметры нужный вам файл:
sudo openvpn ~/Загрузки/config.ovpn
После этого окно терминала закрывать нельзя и если OpenVPN сервер был настроен правильно, то он уже передал на машину правильные маршруты и ваш трафик идет через виртуальную сеть. Давайте посмотрим маршруты:
sudo ip route
Здесь стоит обратить внимание на две строки:
Первая направляет весь трафик системы на интерфейс 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».
Далее, вы можете взять «OpenVPN», но нас будет интересовать пункт «Импорт из файла».
Далее, просто выберите файл *.ovpn, который вы скачали на сервере. Осталось нажать кнопку «Добавить». Дальше вы можете активировать нужную сеть с помощью переключателя в окне настроек или аплета:
Снова смотрим таблицу маршрутизации:
sudo ip route
В целом, 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. Вы можете скачать его на официальном сайте:
После загрузки запустите программу от имени администратора и пройдите все шаги мастера:
Далее, запустите программу, найдите ее значок в трее, кликните по нему и выберите «Import»:
Далее, просто выберите файл конфигурации *.ovpn для нужного VPN сервера:
Затем еще раз кликните по значку OpenVPN на панели, начнется инициализация и вы будете подключены к сети VPN, значок программы изменится на зеленый:
Теперь ваш трафик в операционной системе Windows тоже направлен через VPN. Как видите, использование OpenVPN очень просто во всех операционных системах.