Как подключиться к VPN
VPN (Virtual Private Network) — это технология, которая позволяет объединить компьютеры, расположенные в разных частях мира в одну виртуальную локальную сеть. В этой сети можно перенаправлять трафик, соответственно, VPN может использоваться для обхода блокировок. В наше время чаще всего используются несколько самых популярных технологий VPN — OpenVPN и WireGuard.
В этой небольшой статье мы рассмотрим как подключится к VPN в Linux, работающему на основе OpenVPN или WireGuard.
Как подключится к OpenVPN
Для подключения к OpenVPN серверу вам понадобится конфигурационный файл клиента, который будет содержать адрес сервера, порт, другие настройки, а также сертификаты для шифрования соединения и аутентификации. Кроме того, может понадобится логин и пароль для авторизации. Обычно этот конфигурационный файл можно получить у вашего VPN провайдера.
1. В командной строке
Этот способ может показаться более сложным для новичков, однако он дает вам больше контроля над тем, что происходит. Если вдруг возникнет какая-либо ошибка, вы сможете посмотреть все подробности о ней. На самом деле, тут всё довольно просто. Выполните команду openvpn от имени суперпользователя и передайте ей в качестве параметра путь к конфигурационному файлу клиента. Например:
sudo openvpn ~/Загрузки/somevpn.conf
Команда может запросить имя пользователя и пароль если это требует сервер.
После этого вы увидите лог подключения и в конце Initialization sequence completed, если всё прошло хорошо.
Или сообщение об ошибке, если подключится не удалось. Если вы хотите чтобы ваша система подключалась к этому VPN автоматически при запуске, то это тоже не сложно сделать. Сначала переместите конфигурационный файл в папку /etc/openvpn:
sudo mv ~/Загрузки/somevpn.conf /etc/openvpn/somevpn.conf
Затем добавьте в автозагрузку systemd юнит openvpn с параметром, который будет указывать какую конфигурацию использовать. В качестве параметра следует передать имя конфигурационного файла в папке /etc/openvpn без .conf. Например:
sudo systemctl enable openvpn@somevpn
Затем вы можете посмотреть состояние подключения:
sudo systemctl status openvpn@somevpn
Или запустить его прямо сейчас:
sudo systemctl status openvpn@somevpn
Конечно, такой вариант не сработает если для подключения нужно ввести логин и пароль. Это можно решить, если добавить логин и пароль в файл конфигурации. Для этого создайте файл login.txt и разместить в нём логин и пароль:
sudo vi /etc/openvpn/login.txt
Затем добавьте в основной конфигурационный файл опцию auth-user-pass с путем к только что созданному файлу:
sudo vi /etc/openvpn/somevpn.conf
Теперь автозагрузка должна заработать.
2. В графическом интерфейсе
Если вы хотите использовать графический интерфейс для подключения к OpenVPN, то вам понадобится установить расширение OpenVPN для NetworkManager. Этот сервис управления сетью используется в большинстве дистрибутивов Linux. Для установки расширения выполните команду:
sudo apt install network-manager-openvpn-gnome
Затем откройте настройки системы и перейдите в раздел Сеть. Здесь надо нажать кнопку со значком плюса в разделе VPN. Далее надо выбрать Импорт из файла и выбрать файл с конфигурацией VPN:
Вся необходимая конфигурация будет импортирована, останется только добавить логин и пароль, если они нужны:
Далее нажмите Сохранить подключение и в основном окне настроек сети активируйте VPN соединение с помощью переключателя:
Если всё прошло хорошо, то вы увидите значок VPN в верхнем правом углу на панели, а также информацию о VPN в меню выключения.
Как подключится к WireGuard
1. В командной строке
Подключение к WireGuard из коммандной строки немного отличается от OpenVPN. Аналогично, вам надо получить конфигурационный файл от вашего VPN провайдера. Вы можете разместить этот конфигурационный файл где угодно, как и для OpenVPN, но будет гораздо удобнее если он будет располагаться именно в папке /etc/wireguard. В любом случае его имя должно совпадать с именем сетевого интерфейса, который создаст WireGuard и расширения conf, например wg0.conf. Поэтому переместите свой конфигурационный файл в папку /etc/wireguard:
sudo mv somevpn.conf /etc/wireguard/wg0.conf
Для активации подключения необходимо использовать команду wg-quick передав ей в аргументах имя конфигурационного файла без conf, например:
Если вы хотите обратиться к файлу, который находится не в /etc/wireguard, то используйте такую команду:
Модуль WireGuard работает на уровне ядра, соответственно, в пространстве пользователя не так уже и много информации о его работе. Если вы хотите посмотреть информацию о подключении используйте такую команду:
Для того чтобы отключится от VPN выполните команду:
Для автоматического подключения к WireGuard при старте системы, вы можете добавить сервис wg-quick в автозагрузку, аналогично тому, как это работало с OpenVPN. В качестве параметра надо передать имя сетевого интерфейса/конфигурационного файла:
sudo systemctl enable wg-quick@wg0
Вы можете запустить этот сервис:
sudo systemctl start wg-quick@wg0
Или посмотреть его состояние:
sudo systemctl status wg-quick@wg0
2. В графическом интерфейсе
Подключение к WireGuard в графическом интерфейсе немного сложнее. Несмотря на то, что начиная с версии 1.26 NetworkManager поддерживает WireGuard нативно, эта поддержка была добавлена не полностью. Импорт конфигурации поддерживается только в консольной утилите nmcli, редактировать соединение можно только nm-connection-editor, а для его активации вообще понадобится сторонний индикатор Gnome. Ранее существовал плагин для WireGuard аналогичный тому, что есть для OpenVPN, но после добавления нативной поддержки он был заброшен и сломан в новых версиях. Прежде всего, убедитесь что у вас установлен WireGuard и resolvconf:
sudo apt install wireguard resolvconf
Для того чтобы добавить подключение WireGuard запустите утилиту nm-connection-edit и нажмите кнопку со значком плюса. Здесь, в разделе Виртуальные выберите Wireguard и нажмите Создать соединение:
На вкладке WireGuard укажите тип интерфейса wg0, а затем откройте конфигурационный файл WireGuard и перенесите значение PrivateKey из секции Interface в поле Частный ключ:
Затем, в разделе Одноранговые узлы нажмите кнопку Добавить. В открывшееся окно перенесите такие данные из секции Peer конфигурационного файла:
- Открытый ключ — PublicKey
- Разрешенные адреса — AllowedIPs
- Конечная точка — Endpoint
- Общий ключ — PresharedKey
Для общего ключа выберите Запомнить пароль для всех пользователей. Затем нажмите кнопку Применить.
Далее перейдите на вкладку Параметры IPv4 и выберите метод настойки — Вручную. Далее в разделе Адреса нажмите кнопку Добавить и добавьте IPv4 адрес из поля Address, также добавьте для него маску, в конфигурационном файле она записана через черточку:
Также здесь можно прописать DNS серверы из строчки DNS конфигурационного файла. Аналогичные действия надо выполнить на вкладке Параметры IPv6:
Далее вы можете нажать кнопку Добавить и ваше соединение будет добавлено. В качестве альтернативы, вы можете не делать всего этого, а импортировать конфигурационный файл из командной строки. Например, если конфигурационный файл находится по адресу ~/wg0.conf то команда будет выглядеть так:
sudo nmcli connection import type wireguard file ~/wg0.conf
Обратите внимание, что здесь, как и в предыдущем разделе имя должно состоять из имени сетевого интерфейса и расширения conf.
Теперь можно переходить к подключению. Для этого существует индикатор Gnome — Wireguard Indicator. Вы можете установить его с помощью менеджера расширений Gnome. Просто наберите в поиске Wireguard Indicator нажмите кнопку Установить:
После завершения установки в верхнем правом углу панели появится значок индикатора. Кликните по нему и выберите Settngs. Здесь включите переключатель напротив nmcli и выключите sudo:
После того, как вы ещё раз кликните по значку расширения вы можете управлять интерфейсом WireGuard:
Выводы
В этой статье мы рассмотрели как подключится к VPN используя командную строку и графический интерфейс. С OpenVPN всё довольно просто, WireGuard относительно новая технология и в графическом интерфейсе ещё не все готово для максимально удобного её использования.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.