Для всех инструкций у вас должен быть на руках конфиг от человека, который держит Wireguard сервер.
Конфиг или файл конфигурации - это файл, содержащий в себе настройки для подключения к серверу. Он удобен тем, что его можно просто импортировать в приложение и оно настроится автоматически.
Для каждого устройства лучше иметь отдельный конфиг. Если вы подключитесь с двух устройств с помощью одного конфига, то произойдёт коллизия и как минимум одно устройство не сможет подключиться.
Указание DNS сервера в конфиге клиента необходимо для iOS и Windows. А в Linux это скорее создаст проблемы с resolvconf.
Если у вас есть исправления/дополнения к этой инструкции, пишите в комментариях.
Android
Скачать приложение Wireguard из Google Store Оно также есть в F-Droid
Теперь нужно открыть приложение и добавить конфиг. В приложении нажмите на кнопку с плюсом и выберите вариант “Import from file or archive”
Перейдите в директорию, где у вас лежит файл с конфигурацией. Например, если вы его скачали из телеграма, то Downloads - Telegram. Выбирайте файл “$name.conf” Конфигурация импортирована
Для запуска нажмите на переключатель около импортированного конфига. Теперь весь трафик с телефона ходит через Wireguard туннель и, скорее всего, у вас отобразится значок VPN в трее.
Проверьте, что интернет работает и трафик идёт через VPN. Для этого можно воспользоваться одним из сайтов, показывающих ваш внешний IP адрес, например https://ifconfig.co/
Обратите внимание на страну, должна отобразиться та, в которой находится сервер с Wireguard - у меня это Финляндия.
Для включения и выключения VPN вам придется заходить в приложение и дергать переключатель. Что бы не заходить каждый раз в приложение, вынесите переключатель в быстрый доступ. Например, в MIUI опустите панель состояния и выберите редактировать (значок листа бумаги с ручкой). Из нижней панели выберите значок Wireguard, нажмите на него и зажав переместите куда удобно.
Разделение трафика по приложениям на Android
Есть классная фича: можно выбрать только определённые приложения, трафик с которых должен идти в туннель. Или, наоборот, выбрать приложения, которые не должны ходить через туннель, а всё остальное пойдёт в туннель.
Настраивается на изи, у вас должен быть уже работающий конфиг:
- Заходим в конфиг и тыкаем иконку редактирования (иконка карандаш)
- В Interface есть настройка “All Aplications”
- Открывая её, видим список всех приложений и выбор сценария “Exclude” или “Include”
- Выбираете приложения, выбираете сценарий и нажимаете кнопку “Include\Exclude N app”
- Сохраняете конфиг (иконка дискеты)
Теперь при запуске выбранного конфига трафик будет ходить так, как выбрали вы.
Для сброса всех выбранных приложений промотайте до кнопки “Toggle All”. Первое нажатие на неё сбрасывает все выбранные приложения, второе - выделяет все.
Примеры сценариев:
- Выбираем Include и только приложения, которые заблокированы в вашей стране. Для них трафик через туннель, для всего остального через мобильную сеть/wifi.
- Вы хотите, чтобы весь трафик ходил через туннель, но часть приложений не пускает с европейского IP. Выбираем Exclude и эти приложения. Для этих приложений трафик как обычно, всё остальное в туннеле.
- Вы за пределами РФ, WG-сервер в РФ. И вы хотите
получить повестку на госуслугахсмотреть какой-нибудь Кинопоиск со смартфона, но при этом остальной трафик пускать через РФ нет смысла. Include только для Кинопоиска.
Если разделять, нужно не по приложениям, а по сайтам в браузере. Тут можно установить пару браузеров, и один из них пускать через туннель.
iPhone
Скачать приложение Wireguard из App Store
Теперь нужно открыть приложение и добавить конфиг. В приложении нажмите на кнопку Add a Tunnel (Добавить туннель) по центру или иконку с плюсом справа сверху и выберите вариант “Import from file or archive” (Создать из файла или архива)
Перейдите в директорию, где у вас лежит файл с конфигурацией. У файла конфигурации будет логотип Wireguard. Выбираете конфиг и разрешаете iOS “Добавление конфигурации VPN”.
Проверьте, что в вашем конфиге есть настройка DNS. Без этого в iOS не будет нормально работать туннель, при включенном туннеле. В приложении Wireguard нажмите “Править”. Если поле “DNS-серверы” заполнено, ничего менять не нужно. Если нет, то добавьте ip адрес какого-нибудь DNS сервера, например 8.8.8.8 и 1.1.1.1. Можно один, можно несколько через запятую.
Для запуска нажмите на переключатель около импортированного конфига. Теперь весь трафик с телефона ходит через VPN, и отобразится значок VPN в трее.
Проверьте, что интернет работает и трафик идёт через VPN. Для этого можно воспользоваться одним из сайтов, показывающих ваш внешний IP адрес, например https://ifconfig.co/
Обратите внимание на страну, должна отобразиться та, в которой находится сервер с Wireguard - у меня это Финляндия.
Для включения и выключения VPN, вам придется заходить в приложение и дергать переключатель. Или делать это через Настройки - VPN. В iOS нет способа из коробки как добавить ярлык в “Пункт управления”.
Windows
Скачайте и установите приложение Wireguard с официального сайта
Нажмите “Import tunnel(s) from file” и выберите файл с конфигурацией.
Проверьте, что в вашем конфиге есть настройка DNS. Без этого туннель в Windows не будет нормально работать. В Wireguard приложении нажмите “Edit”, и в блоке Interface должен быть параметр DNS. Если он есть, ничего менять не нужно. Если нет, то после строки Address добавьте строку
DNS = 8.8.8.8, 1.1.1.1
После этого нажмите Save Можно указать ip адреса публичных или ваших частных DNS серверов на ваш вкус. Можно один, можно несколько через запятую.
Туннель добавлен и настроен. Для запуска нажмите “Activate”. Теперь весь трафик с компьютера ходит через VPN
Проверьте, что интернет работает, и трафик идёт через VPN. Для этого можно воспользоваться одним из сайтов, показывающих ваш внешний IP адрес, например https://ifconfig.co/
Обратите внимание на страну, должна отобразиться та, в которой находится сервер с Wireguard - у меня это Финляндия.
Запускать туннель можно двумя способами:
- Заходить в приложение и нажимать Activate
- В трее нажимать правой кнопкой на ярлык Wireguard, и левой на имя вашей конфигурации. При установке Wireguard прописывается в автозагрузку, и поэтому он всегда будет в трее.
MacOS
Скачать приложение Wireguard из App Store
Теперь нужно открыть приложение и добавить конфиг. В приложении нажмите на кнопку “Import tunnel(s) from file (Добавить туннель)” по центру или иконку с плюсом слева снизу
Перейдите в директорию, где у вас лежит файл с конфигурацией. Выбираете конфиг и разрешаете MacOS “Добавление конфигурации VPN”.
Проверьте, что в вашем конфиге есть настройка DNS Servers. Без этого в MacOS не будет нормально работать туннель. Если поле “DNS-серверы” заполнено, ничего менять не нужно. Если нет, нажмите “Edit (Править)” и добавьте строку в [Interface] после Address
DNS = 1.1.1.1, 8.8.8.8
Для запуска нажмите на Activate. Теперь весь трафик с телефона ходит через VPN, и отобразится значок Wireguard в трее.
Проверьте, что интернет работает и трафик идёт через VPN. Для этого можно воспользоваться одним из сайтов, показывающих ваш внешний IP адрес, например https://ifconfig.co/
Обратите внимание на страну, должна отобразиться та, в которой находится сервер с Wireguard - у меня это Нидерланды.
Запускать туннель можно двумя способами:
- Заходить в приложение и нажимать Activate
- В трее нажимать правой кнопкой на ярлык Wireguard, и левой на имя вашей конфигурации.
Linux
Для запуска Wireguard в Linux есть два три стула:
- Консоль
- Плагин для Network-Manager
- Systemd-networkd
Wireguard поддерживается в Netwrok-Manager из коробки. Только проблема в том, что настраивать и управлять им можно только через nmcli. Для того, что бы иметь toggle в GUI Network-Manager, необходимо ставить плагин, как и для OpenVPN. Пакета с плагином нет в PPA, его нужно собирать из исходников .
В Linux wg-quick
использует openresolv для управления DNS и не поддерживает systemd-resolved
, который используется почти везде. И при поднятии интерфейса выводится ошибка
line 32: resolvconf: command not found
Поэтому в Linux строку DNS нужно будет выпилить. В этом случае будет использоваться DNS системы, т.е. например, DNS сервер на вашем домашнем роутере.
Но если ваш провайдер подменяет DNS запросы, то имеет смысл пустить DNS трафик через туннель.
Для этого нужно оставить строку DNS и сделать симлинк
sudo ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf
Пока разберём только консольный вариант для Ubuntu 20.04. Для всех остальных линуксов настройка особо не отличается. Команды для установки можно найти на официальной странице .
- Ставим Wireguard
sudo apt install wireguard
- Копируем конфиг в директорию /etc/wireguard/. Нужно sudo
sudo cp test.conf /etc/wireguard/
- Используем wg-quick для поднятия и закрытия туннеля. Так же везде необходимо sudo, т. к. это создание интерфейса.
Имя конфигурации для wg-quick точно такое же, как имя файла конфига. Поднимаем
sudo wg-quick up test
Проверяем состояние туннеля
sudo wg show
Проверяем IP адрес и страну
curl ifconfig.co
curl ifconfig.co/country
Закрываем туннель
sudo wg-quick down test
Обучающие материалы про VPN и роутинг, не дотягивающий до полноценной статьи, публикую в моём телеграм-канале .