Простая настройка WireGuard Linux

WireGuard — это набирающий популярность VPN сервер, который работает на уровне ядра Linux. Это позволяет ему обрабатывать пакеты намного быстрее по сравнению с OpenVPN. С помощью WireGuard вы можете создать частную виртуальную сеть и объединить компьютеры, которые находятся в разных домах или даже городах, точно так же как и с помощью OpenVPN.

В большинстве инструкций предлагается всё делать вручную, устанавливать программу, генерирвоать конфигурационные файлы, однако если вы не хотите в этом разбираться и вам достаточно стандартных настроек, то всё можно сделать гораздо проще. В этой статье будет рассмотрена простая установка WireGuard на примере Ubuntu.

Содержание статьи:

Настройка WireGuard сервера в Linux

Существует скрипт для быстрого развертывания WireGuard. Он поддерживает не только Ubuntu, но и Debian, Fedora, CentOS, Artch Linux и Oracle Linux. Этот скрипт работает аналогично скрипту для простого развертывания OpenVPN. Программа задаст несколько вопросов, установит WireGuard и сгенерирует конфигурационные файлы для сервера и клиента. После установки с помощью скрипта можно добавлять новых клиентов, ограничивать доступ для старых или полностью удалить WireGuard. Таким образом, можно детально не разбираться самому как настроить WireGuard.

Выполните следующую команду для того чтобы скачать последнюю версию скрипта с GitHub:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

Затем дайте файлу скрипта права на выполнение:

chmod +x wireguard-install.sh

Прежде чем запускать скрипт желательно посмотреть публичный IP вашего сервера. Для этого можно воспользоваться командой:

ip -br a

Команда отобразит список сетевых интерфейсов и их IP адреса. Как правило, реальный сетевой интерфейс имеет состояние UP. В данном случае это ens0. Если вы хотите подключатся к VPN серверу из интернет или обойти блокировки, вам необходимо установить его на VPS или другой сервер в сети. Список VPS для VPN можно найти здесь.

Для запуска скрипта выполните команду:

./wireguard-install.sh

Первые два вопроса будут о внешнем IP адресе и сетевом интерфейсе, которые вы посмотрели ранее. Если у вас только один интерфейс, скорее всего, программа определит их верно. Если же несколько, возможно придется поправить:

Далее нужно выбрать имя сетевого интерфейса для WireGuard, можно оставить по умолчанию:

Следующие два вопроса — желаемый IP адрес сервера WireGuard в создаваемой виртуальной сети для IPv4 и IPv6. По умолчанию скрипт предлагает использовать 10.66.66.1:

На следующем шаге нужно настроить порт, на котором будет доступен WireGuard:

WireGuard умеет менять настройки DNS клиентов при подключении. На этом шаге можно указать DNS серверы, которые следует использовать:

После этого нажмите любую клавишу для того чтобы запустить установку необходимых пакетов и создание конфигурационных файлов:

После того как установка завершится скрипт предложит создать конфигурацию для первого клиента. Достаточно ввести имя. Оно не должно быть длиннее 15 символов:

Далее надо указать желаемый IP адрес клиента IPv4 и IPv6. Здесь IP адрес задается при создании конфигурации и для каждого клиента всегда будет статическим:

После этого скрипт сообщит что конфигурация создана и вы можете скачать её на свой компьютер или отсканировать QR код на телефоне:

Настройка сервера WireGuard завершена. Теперь можно переходить к настройке клиента.

Настройка клиента WireGuard

На компьютере с которого вы хотите подключится к WireGuard его тоже необходимо установить. В Ubuntu и Debian команда установки будет выглядеть следующим образом:

sudo apt install wireguard

Кроме того, если в системе не установлены пакеты resolvconf и iptables их надо установить:

sudo apt install resolvconf iptables

После этого переместите скачанный конфигурационный файл клиента WireGuard в папку /etc/wireguard и переименуйте в wg0.conf. Имя конфигурационного файла должно соотвествовать имени сетевого интерфейса, который будет создан WireGuard. Например:

sudo mv ~/wg0-client-losst.conf /etc/wireguard/wg0.conf

Или вы можете просто скопировать содержимое файла на сервере и вставить его в локальный  /etc/wireguard/wg0.conf. Файл довольно небольшой, в отличии от OpenVPN. Теперь вы можете подключится к серверу используя команду wg-quick:

wg-quick up wg0

Вы можете убедится что виртуальная сеть работает, попробовав пинговать VPN сервер по внутреннему адресу 10.66.66.1. Также можно проверить что интернет тоже работает:

По умолчанию весь трафик клиента перенаправляется через VPN сервер. Это настроено в конфигурационном файле клиента с помощью директивы AllowedIPs. Здесь указано 0.0.0.0, что означает все адреса, однако вы можете изменить эти настройки и перенаправлять только нужный трафик, или вообще не перенаправлять. Посмотреть состояние подключения WireGuard можно командой:

wg-quick status

Если вы хотите чтобы WireGuard подключался к серверу автоматически после загрузки системы можно добавить его в автозагрузку systemctl:

sudo systemctl enable [email protected]

Для запуска используйте:

sudo systemctl start [email protected]

А состояние можно проверить с помощью команды status:

sudo systemctl status [email protected]

Теперь вы знаете как выполняется настройка клиента WireGuard.

Выводы

В этой статье мы рассмотрели как выполняется простая настройка WireGuard в Linux. Как видите, не обязательно разбираться в тонкостях работы с программой для того чтобы установить её на сервер. По моим субективным ощущениям интернет с WireGuard быстрее по сравнению с OpenVPN. А каким VPN вы пользуетесь? Напишите в комментариях!


Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Загрузка…

Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA

EnglishRussian