Настройка VPN WireGuard: инструкция
Сегодня безопасность информации и сохранение конфиденциальности данных имеет высший приоритет, поэтому технологии, обеспечивающие необходимую защиту, стали неотъемлемой частью интернет-среды. Виртуальные частные сети (Virtual Private Networks, VPN) — важный инструмент как для бизнеса, так и для обычных пользователей. Он обеспечивает шифрование и анонимность при передаче данных по открытых сетям: например, интернету. Настраивать такую сеть можно по-разному. В статье мы рассказываем про WireGuard — самый современный и безопасный протокол для создания VPN-соединений. Объясняем, что это такое и как работает, а также разбираемся, из каких этапов состоит настройка VPN через WireGuard.
Что такое WireGuard
Технология WireGuard — это одновременно протокол передачи данных и бесплатное программное обеспечение с открытым исходным кодом, благодаря которому можно реализовать виртуальную частную сеть (network). WireGuard был в одиночку разработан Джейсоном Доненфельдом в 2015-м году и с тех пор регулярно обновляется и дорабатывается сообществом разработчиков. Его создают с упором на простоту, производительность и безопасность. WireGuard предоставляет минимальный набор функций, необходимых для установки эффективного подключения по ВПН, а его код состоит всего из четырех тысяч строк (по сравнению с 400-600 тысячами в OpenVPN и IPSec). Он использует современную криптографию, имеет высокую скорость отклика и считается чуть ли не самым надежным протоколом для нестабильных сетей. При этом настройка WireGuard для VPN не занимает много времени, с ней сможет справиться даже начинающий веб-мастер, если будет следовать инструкции.

Как работает протокол WireGuard
Если говорить о WireGuard в контексте настройки VPN, то он также создает зашифрованный туннель между устройством клиента и VPN-сервером и маскирует IP-адрес пользователя. Отличие от других протоколов VPN в том, что WireGuard использует предопределенные конфигурации между клиентом и сервером, а не устанавливает их, и кроме того он передает данные по протоколу UDP.
Работа WireGuard строится на криптографии с помощью симметричных и асимметричных ключей. У каждого узла в сети — в нашем случае, это VPN-клиент и VPN-сервер — имеется по паре ключей шифрования: одному закрытому (приватному) и одному открытому (публичному), сгенерированному на основе закрытого. Это асимметричная схема, посредством которой в WireGuard происходит аутентификация. Также она позволяет передавать симметричные ключи, используемые непосредственно для шифрования трафика между узлами. Таким образом, сочетание симметрии для шифровки и расшифровки данных и асимметрии для установки безопасного соединения делает протокол WireGuard очень надежным.
Пользоваться им в качестве VPN-технологии можно двумя способами: бесплатно как самостоятельным протоколом или по подписке через VPN-поставщиков. В первом случае настройкой сети придется заниматься вручную.
На каких операционных системах можно использовать WireGuard
На данный момент это кроссплатформенная технология. Протокол WireGuard интегрирован в ядра Linux-систем, а с недавних пор он также доступен как модуль Windows-ядра. Его разрабатывали с оглядкой на мобильные устройства, поэтому на операционных системах iOS и Android этот протокол тоже поддерживается. В macOS, FreeBSD, OpenBSD — в большинстве современных ОС (мобильных, десктопных, серверных) WireGuard доступен как самостоятельное решение. Это значит, что вы можете настроить VPN по этому протоколу практически на любом устройстве и с любой операционной системой.
Возможно ли взломать WireGuard
Протокол WireGuard известен своей простотой и надежностью: взломать его сумеют разве что квантовые компьютеры, но до их построения и тем более массового распространения могут пройти сотни лет. Тем не менее ни один протокол или система не являются абсолютно защищенными от атак. Взломать можно все, если долго и упорно стараться. Плюсов уровню безопасности WireGuard прибавляет его открытый код, который постоянно дорабатывается сообществом. Разработчики ищут потенциальные уязвимости и устраняют их.
Как подключить и настроить WireGuard
Ниже мы приводим инструкцию по самостоятельной настройке WireGuard VPN на арендованном сервере. Это несложно, но использовать готовые VPN-сервисы все же проще. Если вы не разработчик и VPN нужен вам, чтобы просто иметь доступ к сайтам, ограниченным территориально (например, к социально значимым российским веб-ресурсам, недоступным из-за рубежа), просто воспользуйтесь услугами платных поставщиков VPN, поддерживающих протокол WireGuard: такими как NordVPN, Surfshark, Proton VPN и др. Free-сервисы мы не рекомендуем.
Сразу отметим, что в руководстве описывается процесс настройки WireGuard с нуля. В качестве сервера выступает VPS (Virtual Private Server) на операционной системе Ubuntu 22.04, а клиентская сторона реализуется на ПК с Windows. Однако в ИХЦ есть возможность арендовать servers с предустановленным протоколом WireGuard — просто выберите нужную опцию при заказе хостинга в личном кабинете. Это сэкономит вам время.
Итак, приступим.

Конфигурация серверной части WireGuard VPN
Шаг 1: подключение к удаленному серверу. Необходимо установить соединение с нашим VPS, чтобы получить доступ к его настройке. Для этого используем протокол SSH: через командную строку, если на нашем устройстве ОС семейства Linux, или с помощью сторонней утилиты вроде PuTTY, если у нас Windows.
! С недавних пор Microsoft внедрила в свою систему собственный SSH-клиент, так что при желании в Windows вы тоже можете взаимодействовать с сервером посредством терминала.
Подробную инструкцию по SSH-подключению можно найти в нашей статье по настройке VPS/VDS с нуля.
Шаг 2: установка WireGuard. После того как мы подключились к серверу, нужно скачать и установить пакет WireGuard, а также обновить существующие программные пакеты. Вводим в терминал две команды:
apt update
apt install wireguard
Дождавшись обновления и загрузки нужных пакетов, переходим к следующему этапу.
Шаг 3: генерация ключей шифрования. Для создания защищенного туннеля между VPN-сервером и VPN-клиентом нужна пара уникальных ключей: приватный и публичный. Сгенерировать их можно так:
wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey
Строка содержит несколько команд: создать закрытый ключ, поместить его в папку /etc/wireguard/, создать открытый ключ на основе закрытого и поместить его туда же.
Шаг 4: настройка конфигурационного файла. Перед созданием файла конфигурации нам нужно скопировать сгенерированный приватный ключ и перейти в каталог WireGuard. Поэтому сначала вводим в командную строку:
cat /etc/wireguard/privatekey
И копируем ключ, который отобразится в терминале. Затем даем команду открыть нужный каталог:
cd /etc/wireguard/
Теперь можно приступать к конфигурации. Создаем и открываем для редактирования файл wg0.conf (это название конфига по умолчанию, но вы можете выбрать любое другое) с помощью команды:
nano /etc/wireguard/wg0.conf
Откроется текстовый редактор, куда нам нужно будет вставить конструкцию вида:
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <приватный ключ сервера>
В последнюю строку вставьте ключ, скопированный ранее. Пункт «ListenPort» указывает на номер порта, через который сервер будет слушать пакеты для протокола WireGuard. Мы использовали стандартный, но можно вписать, какой хотите. Сохраните и закройте файл.
Шаг 5: включение и запуск WireGuard. Делается это двумя простыми командами:
systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0
Где «wg0» — это имя конфигурационного файла.
Готово! Теперь можно приступать к настройке клиентской части.
Настройка клиентской части WireGuard VPN
Шаг 1: установка ПО на клиентское устройство. Здесь все просто: идем на официальный сайт WireGuard и выбираем установщик для нужной системы. В нашем случае это Windows. Скачиваем и устанавливаем программу на ПК.
Шаг 2: настройка туннеля. После запуска приложения нажимаем «Добавить туннель» и «Добавить пустой туннель». Программа автоматически сгенерирует ключевую пару для пользователя и создаст файл конфигурации, в которой уже будет наполовину заполнена секция [Interface]. Нам нужно добавить в нее еще две строки с IP-адресами клиента и DNS. В результате должно получится:
[Interface]
PrivateKey = <приватный ключ клиента>
Address =
DNS = 8.8.8.8
Значение клиентского айпи-адреса выбирается из диапазона адресов, указанных в пункте «Address» секции «Interface» в конфиге нашего сервера (см. пункт 4 настройки серверной части). В значении DNS мы указали публичный сервер Google, вы можете использовать этот или другой.
В этом же файле ниже добавляем вторую секцию:
[Peer]
PublicKey = <публичный ключ сервера>
AllowedIPs = 10.0.0.0/24, 0.0.0.0/0
Endpoint = :<номер порта>
PersistentKeepalive = 25
И заполняем ее соответствующими данными. Значение 0.0.0.0/0 указывает, что весь исходящий трафик должен проходить через VPN. Сохраняем изменения и видим статус туннеля «Подключен». Но это еще не все. Копируем публичный ключ клиента, указанный в интерфейсе приложения.
Шаг 3: доработка конфигурационного файла сервера. Вернемся к терминалу и откроем серверный конфиг в редакторе:
nano wg0.conf
Теперь внесем изменения, добавив еще одну секцию снизу:
[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs =
Сохраните и закройте файл, а затем перезапустите службу:
systemctl restart wg-quick@wg0
Где «wg0» — это имя конфигурационного файла сервера. Вот теперь готово! Если все сделано верно, безопасное VPN-соединение между клиентом и сервером будет установлено.
Насколько безопасен протокол WireGuard
WireGuard считается самым безопасным протоколом VPN благодаря своей простоте и активному участию сообщества в обнаружении и устранении уязвимостей. Однако защита WireGuard также зависит от правильной настройки и управления ключами. Он не лишен недостатков: например, подключение по этому протоколу не обфусцировано «из коробки», WireGuard хранит IP-адреса подключенных пиров, а и в сетях с заблокированным UDP-трафиком он и вовсе не будет работать. Но хорошие поставщики VPN обычно решают две первые проблемы, настроив протокол дополнительно.
Заключение
WireGuard — простой, бесплатный и эффективный инструмент для создания виртуальных частных сетей. Он быстро работает и обеспечивает наилучший уровень безопасности среди всех протоколов VPN, поскольку использует передовые методы криптографии. VPN предназначен для доступа на гос. ресурсы (например, Госуслуги) из-за рубежа. Надеемся, что статья поможет вам настроить WireGuard VPN самостоятельно, но если появятся вопросы — вы всегда можете обратиться в нашу службу поддержки.