[ВАЖНО] Проблемы с пингом | Или же пособие о том, как укротить VPN

The_Rat_King

Администратор
Команда Разработки
Messages
176
Reaction score
318


┗ Вступление

┗ Протоколы и с чем их едят

┗ Достаём сервера

┗ Подключение к серверам через различные протоколы (Windows)

┗ OpenVPN
┗ PPTP; L2TP/IPsec

┗ Подключение к OpenVPN-серверам (Linux, NetworkManager (nmcli))

┗ Из под DE (GNOME; KDE)
┗ OpenVPN
┗ GNOME
┗ KDE
┗ Решение некоторых возможных проблем [GNOME; KDE]
┗ Из под терминала/"пустого" WM
┗ OpenVPN

┗ Заключение

Автор гайда The_Rat_King (07.01.24)
по просьбе от
Orphey

Вступление


В связи с наплывом новичков, которые не привыкли к суровой технической составляющей Вотива, меня попросили сделать гайд на тему подключения к VPN. А я, в целом, и не против, учитывая, как много людей готовы ставить себе тонну софта, который безбожно засоряет их ОС. В этом гайде я постараюсь "разжевать" тему базовых протоколов, серверов и самого подключения (Как и для Windows-систем, так и для Linux-подобных ОС). Данный гайд может решить проблему, связанную с "минусовым пингом", которая мучает множество игроков, а может и не решить, тут всё зависит от конкретного типа проблемы, но попытаться опробовать возможное решение стоит всегда.

Протоколы и с чем их едят


Рассмотрим три основных (По моему субъективному мнению) протокола, а именно: OpenVPN, L2TP/IPsec и PPTP, каждый из них имеет свои плюсы и минусы, поэтому я решил подготовить небольшие таблички для наибольшего понимания. Плюсы протокола отмечены как [+], а минусы, соответственно, как [-]:

OpenVPN_logo.png
L2TP_IPsec_logo.png
PPTP_logo.png
[+] — Имеет открытый исходный код (Github)

[+] — Достаточно безопасен.

[+] — Стабилен

[+] — Обладает неплохой скоростью передачи данных

[-] — Требует установки доп.софта (Для Windows-систем)
[+] — Нативно поддерживается в Windows

[+] — Более безопасен, чем PPTP

[-] — Проприетарный

[-] — Более медленный, чем другие представленные протоколы за счёт двойной инкапсуляции данных

[-] — Может блокироваться некоторыми брандмауэрами
[+] — Нативно поддерживается в Windows

[+] — Довольно шустрый, за счёт низкоуровнего шифрования

[-] — Является самым небезопасным среди представленных протоколов
[1]

[-] — Протокол PPTP довольно сильно устарел

[-] — Проприетарный

Для Windows предпочтительнее использовать L2TP/IPsec (Или OpenVPN, в случае, если вас не страшит доп.софт), для Linux-систем наилучшим вариантом будет OpenVPN.

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

Достаём сервера


Тут вам понадобиться расчехлить все свои способности в вебсёрфинге, которому вы учились столько лет, просиживая штанишки за компьютером, ведь сейчас нам предстоит довольно сложная, без капли иронии, задача, а именно — поиск серверов. Некоторые несмышленные люди скажут: "А где тут сложность-то? Зашёл на первую ссылку и вот — пожалуйста", но не обманывайте ни себя, ни других. Именно поиск подходящих и безопасных серверов является самой трудной частью процесса подключения к VPN и этого гайда в целом. И что самое неприятное, порой безопасность можно проверить только путём проб и ошибок. Я предоставлю парочку серверов, которыми пользуюсь лично я, но я бы настоял на том, чтобы ты, мой маленький несмышлённый друг, сам поискал для себя подходящий сервер, которому доверяешь свою безопасность =)

https://www.freeopenvpn.org/ (OpenVPN)
https://freevpn4you.net/ (OpenVPN)
https://freevpn4you.net/l2tp-ipsec.php (L2TP/IPsec)


[ ! ] Если возникла необходимость проверить возможность подключения к серверу, то стоит воспользоваться встроенной командой ping <адрес сервера> (В cmd для Windows, в терминале для Linux), в случае, если подключение удалось, то вы сможете увидеть часто появляющиеся строки с "Ответом" от сервера, к которому мы пытаемся подключиться. После прерывания команды (Ctrl + C) будет выведен результат операции, который хранит в себе информацию о количестве отправленных/полученных пакетов, процент потерь пакетов, а также приблизительное время, затраченное на передачу/приём пакетов.

Подключение к серверам через различные протоколы (Windows)


OpenVPN

Как говорилось ранее, протокол OpenVPN под Windows требует дополнительного программного обеспечения, что, конечно, не есть хорошо, но иначе подключение будет проблемным или даже невозможным. Для его установки необходимо перейти на главный сайт OpenVPN — https://openvpn.net/, после чего перейти во вкладку "Products" и в раскрывающиемся списке выбрать "Connect Сlient", перед вами будут варианты установки, нажимаем на "Windows App", после чего нас перебросит на другую страницу, где будет большая оранжевая кнопка "Download OpenVPN Connect v3", нажимаем и ждём, пока файл ни скачается.
Openvpn_install_tutorial1.png
Firefox_i4amIn0gDq.png
Ждём...Ждём...Ждём...Что? Уже загрузилось? Время запускать установщик! Жмём далее...Далее...И ещё раз далее, пока программа ни будет установлена.

А дальше стоит скачать конфигурационный файл сервера, к которому мы собираемся подключаться. Я для примера возьму конфиг Нидерландского сервера с https://www.freeopenvpn.org/, почти на всех сайтах нас ждёт примерное такое окошечко:

Openvpn_install_tutorial2.png
[Типичное окно с возможностью скачать конфигурационный файл OpenVPN-сервера, а также с его прописанными параметрами для успешного подключения (Username, Password/PIN)]
Пока что мало чего понятно, да? Если есть выбор между UDP и TCP, то выбирай UDP, после нажатия должен начать скачиваться файл с расширением .ovpn. Хорошо, конфигурационный файл тоже есть, а где сам VPN-то? Немного терпения, мой друг, мы уже почти закончили.
Заходим в OpenVPN (Через Пуск или ярлык, как кому удобнее) и нас встречает интерфейс программы. Он довольно простой и интуитивно понятный. Переходим во вкладку "Upload file" и жмём на "Browse", открывается проводник, пробираемся к нашему скачанному конфигурационному файлу сервера и выбираем его. В новом открывшимся окне "Imported profile" мы можем ввести только строку "Username", заполняй в соответствии с сайтом, откуда ты брал конфиг, в моём случае я вписываю freeopenvpn.

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

OpenVPNConnect_7NTIdk8akY.png
[OpenVPN требует ввести пароль для подключения к серверу]

PPTP; L2TP/IPsec

Совсем иная ситуация обстоит с серверами на основе протоколов PPTP и L2TP/IPsec — к ним можно подключиться "из коробки", без какого-либо дополнительного софта — этим они и хороши.
Пуск — Параметры — Сеть и Интернет — VPN — Добавить VPN-подключение
(Win — Settings — Network & Internet — VPN — Add a VPN connection)
[Меню добавления VPN-подключения в Windows
с уже настроенным L2TP/IPsec-подключением]
Windows_guide1.png
Мы перешли в меню добавления VPN-подключения и нас изначально встречает множество пустых, незаполненных полей, пройдёмся по ним по-порядку:
Поставщик услуг VPN (VPN provider) — Выбираем значение в виде Windows (встроенные), которое доступно нам из коробки.

Имя подключения (Connection name) — Определяет отображаемое название VPN-подключения, может быть абсолютно произвольным, но я настоятельно не рекомендую использовать кириллицу и пробелы (Пробелы можно заменить на нижние подчёркивания (_) или тире (-)).

Имя или адрес сервера (Server name or address) — В данное поле вставляем айпи или доменное имя сервера к которому мы собираемся подключаться.

Тип VPN (VPN type) — Выбираем используемый протокол сервера к которому мы будем подключаться (В нашем случае либо L2TP/IPsec, либо PPTP). Прошу обратить своё особое внимание на L2TP, так как есть подключения к данному протоколу через сертификат, а есть через общий ключ, информация об используемом варианте L2TP находится на сайте сервера.
Общий ключ (Pre-shared key) [L2TP/IPsec] — Вставляем в соответствии с данными на сайте, откуда мы взяли сервер.

Типы данных для входа (Type of sign-in info) — Выбираем в соответствии с тем, что пишется на сайте сервера, обычно используется пункт "Имя пользователя и пароль" ("Username and password")

Имя пользователя (Username) — Имя подключаемого пользователя. Берём данные с сайта сервера.

Пароль (Password) — Пароль от подключаемого пользователя. Берём данные с сайта сервера.

Чекбокс "Запомнить мои данные для входа" ("Remember my sign-in info") ставим по желанию.

Подключение к OpenVPN-серверам (Linux, NetworkManager (nmcli))


Данная часть гайда будет обделена вниманием со стороны игроков, в этом я уверен, но не написать данную часть я просто не могу, из принципов линуксоида. Подключение во всех примерах будет осуществляться при помощи ультилиты NetworkManager (nmcli), которая по умолчанию встроена во многие современные дистрибутивы. Будет рассмотрено подключение как из интерфейса (DE), так и из терминала.

L2TP/IPsec и PPTP-подключения не рассматриваются по причине их бессмысленного использования на UNIX-системах для обычного пользователя (Возможно я дополню гайд с разбором этих протоколов для Linux, если это правда кому-то нужно (Очень сомневаюсь))

Из под DE [GNOME; KDE]

По какой-то причине, у многих в интернет-пространстве сложилось впечатление, что Linux намного сложнее, чем Windows, хотя, если говорить в общем, это слишком преувеличенное заявление, особенно, если мы говорим о линуксе с DE'мом (Desktop environment), на деле, подобная ОС не намного сложнее винды, если говорить откровенно. Процесс подключения к VPN'у я буду рассматривать на примерах KDE и GNOME, как на самых +- известных DE[2], которые частенько пользуются популярностью у новичков в -UNIX-системах.

OpenVPN

Перед началом любых манипуляций, вам необходимо достать конфиг OpenVPN-сервера (.ovpn), обычно его можно скачать с сайта, который предоставляет вам услуги бесплатного VPN-подключения. Если вам предоставляется выбор между UDP-конфигом и TCP-конфигом, то предпочтительнее будет UDP. Скачанный конфиг далёко в глубь директорий не убираем, оставляем поближе к /home (Например в ~/Downloads)

GNOME
Application menu (Show apps) — Settings — Network — VPN — [+]
(Показать приложения — Настройки — Сеть — VPN — [+])


gnome_nm_list.png
[Меню добавления VPN-подключения в GNOME]

В новооткрывшимся окне мы выбираем...Нет, не OpenVPN, как вы могли бы подумать, а "Import from file...", после чего DE любезно даст нам возможность выбрать конфиг сервера, который мы скачали шагом выше. После того, как файл был выбран, нам откроется подробное окно с параметрами подключения. Тут уже почти всё заполнено за нас, единственный строки, которые нас интересуют - "User name" и "Password". Заполняем данные поля в соответствии с данными, которые нам предоставил сайт, откуда мы брали конфиг.

Сразу после подключения в гномовском апплете должен появиться параметр "VPN", в нём мы можем увидеть к какому именно VPN'у мы подключены, а также состояние подключения (выключено/идёт подключение/подключено)


Возможные статусы VPN-подключения в NetworkManager-апплете (GNOME)

Nm-applet-connection-disabled.png
Nm-applet-connection.png
Nm-applet-connect-stable.png
Статус "Выключено"
Статус "Попытка подключения к VPN-соединению"
Статус "Включено, Подключено"

KDE
System Settings — Connections — [+] (Add new connection)
(Параметры системы — Соединения — [+] (Добавить новое соединение)


Screenshot_20240107_220115.png
[Меню добавления нового подключения в KDE plasma]
Выбираем опцию "Import VPN connection", которая находится в самом низу предоставленного списка, откроется меню выбора файла — выбираем наш конфигурационный файл сервера (.ovpn). После импорта конфига мы увидим окно с более подробной информации о подключении, нам необходимы поля "Username" и "Password", заполняем их в соответствии с данными сервера, которые нам даны на сайте, откуда мы взяли конфиг. После ввода применяем изменения. VPN-подключение готово к работе.

В КДЕ-шном апплете также должно появиться наше подключение:


Screenshot_20240107_220132.png
[Меню апплета NetworkManager'а в KDE Plasma с установленным VPN-подключением]

Решение некоторых возможных проблем [GNOME; KDE]

"Cannot Import VPN Connection" / "Failed to import VPN connection: Unknown VPN type"
Данная ошибка возникает при попытке импортировать .ovpn-конфиг в качестве VPN'а, причиной ошибки является, отсутствующий в системе, дополнительный пакет для NetworkManager'а, предназначенный для OpenVPN-подключений.
Для устранения данной неполадки необходимо поставить пакет NetworkManager-openvpn в систему через пакетный менеджер:
GNOME:
Arch linux (pacman):

sudo pacman -S networkmanager-openvpn nm-connection-editor

Red Hat/Fedora (dnf/yum):

sudo dnf install -y NetworkManager-openvpn NetworkManager-openvpn-gnome | sudo dnf reinstall -y NetworkManager-openvpn NetworkManager-openvpn-gnome
sudo yum install -y NetworkManager-openvpn NetworkManager-openvpn-gnome | sudo yum reinstall -y NetworkManager-openvpn NetworkManager-openvpn-gnome
[Во всех примерах с dnf/yum после ввода пароля юзера скачивание пакетов пойдёт автоматически, будьте аккуратны]

Debian/Ubuntu (apt):

sudo apt update
sudo apt install --reinstall network-manager-openvpn network-manager-openvpn-gnome

KDE:
Arch linux (pacman):

sudo pacman -S networkmanager-openvpn plasma-nm

Red Hat/Fedora (dnf/yum):
sudo dnf install -y NetworkManager-openvpn plasma-nm-openvpn | sudo dnf reinstall -y NetworkManager-openvpn plasma-nm-openvpn

sudo yum install -y NetworkManager-openvpn plasma-nm-openvpn | sudo yum reinstall -y NetworkManager-openvpn plasma-nm-openvpn

Debian/Ubuntu (apt):
sudo apt update
sudo apt install --reinstall network-manager-openvpn plasma-nm

[Данный раздел гайда будет пополняться по мере решения новых проблем у игроков]

Из под терминала/"пустого" WM

Когда дело касается терминала, тут уже могут возникнуть трудности, так как из-за отсутствия понятного GUI и знаний о терминальных командах Linux'а сделать что-либо внятное самому для новичка, без тотального вооружения арчвики и всеразличными форумами, довольно трудно.

Перво-наперво, стоит убедиться, что nmcli имеется в системе, пропишем следующую команду:

nmcli --version

В случае, если команда нашлась, то мы увидим нечто подобное (циферки и буковки могут разниться, но не суть):

nmcli tool, version 1.44.2-1.fc39

Мы убедились, что nmcli есть в системе и можно продолжать работу.

OpenVPN

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

Arch linux (pacman):
sudo pacman -S networkmanager-openvpn

Red Hat/Fedora (dnf/yum):
sudo dnf install NetworkManager-openvpn

sudo yum install NetworkManager-openvpn

Debian/Ubuntu (apt):
sudo apt update
sudo apt install network-manager-openvpn

После успешной инсталяции необходимого пакета, перейдите в директорию, где находится скачанный конфигурационный файл сервера (С расширением .ovpn). Если вы и файл находитесь в одной директории, то самое время загрузить его в nmcli:

sudo nmcli connection import type openvpn file myopenvpn.ovpn
(Вместо "myopenvpn.ovpn" подставьте полное название конфигурационного файла, вместе с его расширением)

Если после выполнения команды нам гласят: "Connection ...<название VPN'а (много букв и цифр)> ... successfully added.", то я могу вас поздравить — осталось всего ничего.


nmcli connection show

Теперь в списке наших доступных подключений мы сможем увидеть наш долгожданный и столь желанный VPN, самое время к нему подключиться:

nmcli connection up вставь_сюда_название_впн

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

Screenshot from 2024-01-07 21-44-53.png
[Примерный вывод команды nmcli connection show с подключенным VPN'ом. [nmcli tool, version 1.44.2-1.fc39]]

Заключение


Надеюсь, что после прочтения тех.администрацией данного гайда, меня не выгонят с работы. А также, невероятно сильно надеюсь, что я хоть кому-то да помог. Если вы нашли ошибку или несостыковку, то прошу отписать об этом мне (Либо в ЛС на форуме, либо под самим гайдом), если есть вопросы, то также прошу обращаться в личные сообщения на мой форумник или же ко мне в Discord (the_rat_king0832)
i_am_mister_eblan.png


[1] ↑ Microsoft призывает не использовать PPTP и MS-CHAP
[2] ↑ По результатам статистики, проведённой ArchLinux под тревиальным названием "Fun statistic"
 
Last edited:

Sedrik_Vesseli

Высший инженер
Messages
969
Reaction score
1,675
КРЫСОЧКА, ЛЮБОВЬ МОЯ, ХРАНИ ТЕБЯ ГОСПОДЬ! СВЯТЦЫ, ВОТ ОН - ГЕРОЙ НАШЕГО ВРЕМЕНИ!
 

Orphey

ГС
Администратор
Команда Разработки
Messages
338
Reaction score
742
Если честно, я в шоке. Такой гайд не то что на форуме Вотива, а на каком-нибудь Хабрахабре не стыдно выложить. Мега-респект. :oops:
 
Messages
43
Reaction score
40
Что это такое? ;-; Помогите, мне это нужно.
 

The_Rat_King

Администратор
Команда Разработки
Messages
176
Reaction score
318
Что это такое? ;-; Помогите, мне это нужно.
Если что-то непонятно, то я готов лично помочь в ЛС моего Дискорда (the_rat_king0832)
 
Top