Вернуть старое меню
Бесплатно, 24/7 8 (800) 775-97-42
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Выбрать VPS
Маркетплейс
О нас
Сообщество
Поддержка
Баланс:
Бонусы:
Войти
Выйти
Зарегистрироваться
ГОТОВЫЕ ТАРИФЫ
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Card icon Своя конфигурация
Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
О компании Входим в топ-15 IAAS в России
Дата-центры 17 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Поможем с гос. лицензированием
Бонусная программа Накопительная система лояльности
Card icon Пинг до дата-центров
Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Card icon Соцсети
Наш блог на Хабре, выступления, новости компании.
Присоединиться
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
Бесплатно, 24/7 8 (800) 775-97-42
Mobile menu button
Выбрать VPS
Mobile card icon
Своя конфигурация Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Ref icon
Бесплатный тест на 3 дня
Маркетплейс
О нас
Mobile card icon
Пинг до дата-центров Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
О компании Входим в топ-15 IAAS в России
Дата-центры 17 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Накопительная система лояльности
Бонусная программа Накопительная система лояльности
Сообщество
Mobile card icon
Соцсети Наш блог на Хабре, выступления, новости компании.
Присоединиться
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Поддержка
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Войти
Зарегистрироваться
Личный кабинет
Мои серверы
Домены
Баланс: Бонусы:
Заказать
Настройки
Партнеру
Выйти
Мои серверы
Домены
Заказать
Настройки
Партнеру
  • ВЫБРАТЬ VPS
  • ДАТА-ЦЕНТРЫ
  • СПРАВОЧНИК
  • ПОДДЕРЖКА
  • ВОЙТИ
RuVDS/Справочник/Развертывание ПО на VPS сервере/Настройка VPN с использованием WireGuard

Настройка VPN с использованием WireGuard

92695 просмотров 31 2024-03-20 2025-02-03

*К сожалению, ввиду простоты, протоколы WireGuard и OpenVPN могут быть заблокированы с помощью ТСПУ. В результате блокировок, на некоторых провайдерах данные протоколы могут не работать. При блокировке наблюдается следующая ситуация: UDP-соединения устанавливаются, но никакой трафик не передается. TCP-соединения соединяются и разъединяются через несколько секунд. Можем предложить рассмотреть вариант использования протоколов L2TP или IKEv2/IPSec. Для вашего удобства, у нас уже есть готовые шаблоны на маркетплейсе, имеющие все необходимые для работы настройки.

WireGuard – это современный протокол виртуальной частной сети (VPN), разработанный для обеспечения безопасного и эффективного соединения между устройствами через интернет. Он известен своей простотой, эффективностью и скоростью. В отличие от некоторых других VPN-протоколов, таких как OpenVPN или IPSec, WireGuard обладает более компактным и прозрачным кодом, что облегчает его аудит и развёртывание.

В статье разберём процесс настройки VPN с использованием WireGuard на виртуальном выделенном сервере, работающем под управлением Ubuntu 22.04.

Предварительная настройка сервера

Для того, чтобы установить и настроить WireGuard, подключитесь к виртуальному серверу по SSH с использованием учётной записи, обладающей полномочиями администратора и обновите списки пакетов:

$ sudo apt update

После чего установите утилиту для управления правилами брандмауэра iptables:

$ sudo apt install iptables

Затем перейдите в каталог /etc/ и при помощи текстового редактора nano внесите изменения в файл sysctl.conf:

$ cd /etc/
$ sudo nano sysctl.conf

А именно, найдите и раскомментируйте строку, содержащую следующий текст:

net.ipv4.ip_forward=1

Это необходимо сделать, чтобы включить пересылку IPv4-пакетов через систему. Для применения внесённых изменений, выполните следующую команду:

$ sudo sysctl -p

Вывод данной данной команды должен содержать строку net.ipv4.ip_forward=1:

Вывод команды sudo sysctl -p

Установка и настройка сервера WireGuard

Пакет WireGuard доступен для установки из стандартного репозитория Ubuntu. Исходя из этого, непосредственно для запуска инсталляции выполните команду:

$ sudo apt install wireguard

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

$ sudo su

Для проведения работ по настройке VPN-сервера перейдите в каталог, в котором будут находиться конфигурационные файлы сервера и клиентов WireGuard. Это – директория /etc/wireguard:

# cd /etc/wireguard

И следующей командой сгенерируйте пару ключей (открытый и секретный) для сервера:

# wg genkey | tee privatekey | wg pubkey | tee publickey

Обратите внимание, что при проведении данной процедуры создаются файлы открытого и секретного ключей. В нашем случае это – publickey и privatekey. Если вы запускаете команду не находясь в каталоге /etc/wireguard/, то следует указать путь до создаваемых файлов, например:

# wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

На следующем шаге создайте конфигурационный файл сервера WireGuard:

# nano wg0.conf

В него необходимо вставить следующий текст:

[Interface]
PrivateKey = Your-Server-Private-Key
Address = 10.10.10.1
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

В данном случае:

  • Your-Server-Private-Key – секретный ключ сервера;
  • 10.10.10.1 – IP-адрес сервера, который он будет иметь в создаваемой VPN-сети;
  • 51820 – порт, который будет использоваться для подключения к VPN-сети;
  • следующие две строки – это команды, которые будут выполняться при подключении к сетевому интерфейсу wg0 и отключении от него.

IP-адрес сервера VPN вы можете указать по своему усмотрению, но учитывайте, что клиентам вашего VPN нужно будет присваивать IP-адреса из этой же подсети. Номер порта в WIreGuard по умолчанию – 51820, что, естественно, не мешает изменить его на более приемлемый в ваших конкретных условиях.

Что касается секретного ключа вашего сервера, то его можно найти в файле /etc/wireguard/privatekey. Чтобы посмотреть его содержимое, находясь в директории /etc/wireguard/ запустите команду:

# cat privatekey

Строку, которую выведет данная команда, вам нужно будет вставить в файл wg0.conf в качестве значения параметра PrivateKey.

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

# systemctl enable wg-quick@wg0.service

После чего запустите службу:

# systemctl start wg-quick@wg0.service

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

# systemctl status wg-quick@wg0.service
Вывод команды systemctl status wg-quick@wg0.service

Создание конфигурации клиентов WireGuard

Теперь в качестве примера мы создадим двух абонентов (пиров), которые будут подключены к нашему VPN.

В нашем примере абоненты будут называться peer1 и peer2. Для создания первого из них запустите команду, находясь в каталоге /etc/wireguard/:

# wg genkey | tee peer1_privatekey | wg pubkey | tee peer1_publickey

Аналогично для второго пира:

# wg genkey | tee peer2_privatekey | wg pubkey | tee peer2_publickey

Затем откройте для редактирования файл wg0.conf:

# nano wg0.conf

И добавьте в него информацию о только что созданных клиентах:

[Peer]
PublicKey = Your-Peer1-Public-Key
AllowedIPs = 10.10.10.2/32

[Peer]
PublicKey = Your-Peer2-Public-Key
AllowedIPs = 10.10.10.3/32

В данном случае:

  • Your-Peer1-Public-Key – открытый ключ клиента;
  • 10.10.10.2/32 – IP-адрес клиента с маской подсети 255.255.255.255.

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

Открытые ключи клиентов, которые мы сгенерировали ранее, в нашем примере находятся в файле peer1_publickey для первого клиента и peer2_publickey для второго. Для вывода ключа на экран используйте команду cat:

# cat peer1_publickey
# cat peer2_publickey

Строки, выведенные на экран, скопируйте и вставьте в файл wg0.conf в качестве значений для параметра PublicKey каждого из клиентов.

Затем следующей командой перезагрузите конфигурацию службы WireGuard:

# systemctl restart wg-quick@wg0

Теперь мы создадим конфигурационные файлы для клиентов нашего VPN. Они будут нужны для настройки непосредственно клиентского приложения каждого из пиров.

Файлы конфигурации наших клиентов будут называться peer1.conf и peer2.conf. Для создания первого из них используйте редактор nano:

# nano peer1.conf

Внесите в созданный файл следующее содержимое:

[Interface]
PrivateKey = Your-Peer1-Private-Key
Address = 10.10.10.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = Your-Server-Public-Key
Endpoint = Your-Server-IP-Address:51820 
AllowedIPs = 10.10.10.0/24 
PersistentKeepalive = 20

Здесь:

  • Your-Peer1-Private-Key – секретный ключ клиента;
  • 10.10.10.2/32 – IP-адрес клиента с маской подсети 255.255.255.255;
  • 8.8.8.8 – IP-адрес DNS-сервера, который будет использоваться клиентом при подключении к VPN;
  • Your-Server-Public-Key – открытый ключ сервера;
  • Your-Server-IP-Address:51820 – IP-адрес сервера и номер используемого порта (по умолчанию и в нашем примере – 51820).

Секретный ключ клиента находится в файле peer1_privatekey. При помощи команды cat выведите содержимое файла на экран, скопируйте выведенную строку и внесите её в файл peer1.conf вместо Your-Peer1-Private-Key.

Параметр AllowedIPs в файле конфигурации указывает на то, какие IP-адреса клиентской машины будут маршрутизироваться через VPN-туннель. В данном случае 10.10.10.10/24 означает, что все пакеты с исходящими или конечными адресами в диапазоне 10.10.10.0/24 будут направляться через VPN-туннель.

Строка PersistentKeepalive = 20 означает, что клиент будет отправлять keepalive-сообщения каждые 20 секунд, даже если между клиентом и сервером нет активного обмена данными. Это помогает поддерживать соединение открытым, предотвращая его разрыв из-за неактивности.

Аналогично внесите изменения в конфигурационный файл нашего второго клиента:

# nano peer2.conf
[Interface]
PrivateKey = Your-Peer2-Private-Key
Address = 10.10.10.3/32
DNS = 8.8.8.8

[Peer]
PublicKey = Your-Server-Public-Key
Endpoint = Your-Server-IP-Address:51820 
AllowedIPs = 0.0.0.0/0 
PersistentKeepalive = 20

Подключение клиента на Windows

Для подключения клиента, работающего на Windows, необходимо использовать соответствующее приложение. Загрузить установщик можно на официальной странице WireGuard. Здесь кликните на Download Windows Installer.

Страница загрузки приложения WireGuard - Настройка VPN с использованием WireGuard

По окончании загрузки запустите установщик и после того, как установка завершится, откройте проинсталлированное приложение.

В приложении нажмите Add Tunnel, затем Add empty tunnel...

Приложение WireGuard - Настройка VPN с использованием WireGuard

В основное окно вставьте содержимое файла peer1.conf, если этот компьютер будет в вашей сети клиентом peer1. Затем в строку Name введите имя создаваемого туннеля, например, wg. После чего нажмите Save.

Добавление конфигурации в приложение WireGuard

Для того, чтобы подключить данную рабочую станцию к VPN, нажмите Activate. Увидеть статистику текущего подключения можно либо в основном окне клиентского приложения, либо на сервере при помощи команды:

$ sudo watch wg show

Статья полезна?

31 Да  78 Нет
Похожие статьи
  • Как установить Flask на Ubuntu 24.04
  • Как настроить HTTPS-доступ к веб-интерфейсу Gitea
  • Как установить Gitea на Linux
  • Как установить Node Exporter на Linux
  • Как установить VictoriaMetrics на Ubuntu 24.04
  • Как настроить Angie в качестве обратного прокси-сервера
6 комментариев о “Настройка VPN с использованием WireGuard”
  • Romio says:
    Ответить

    Поправьте:
    # systemctl reload wg-quick@wg0
    надо *restart и @wg0.service

    В peer1
    AllowedIPs = 0.0.0.0 вместо 10.10.10.0

    2024-09-27 at 09:02
    • uxteam says:
      Ответить

      systemctl restart поправили, благодарим за внимательность!

      В peer1 Вы пытаетесь разрешить все IP адреса, что данном случае избыточно.

      2025-02-03 at 15:05
  • Рин says:
    Ответить

    1) После команды # systemctl status wg-quick@wg0.service не понятно, как вернуться к вводу других команд, пришлось перезапускать программу.
    2) В команде # systemctl reload wg-quick@wg0 должно быть restart, reload не работает.
    3) Про то, что в каких-то файлах понадобятся ключи из других файлов, лучше написать заранее, прежде чем советовать открыть те файлы, в которых они нужны.

    2024-10-16 at 13:59
    • uxteam says:
      Ответить

      1) Команда systemctl status действительно иногда может заблокироваться. Ctrl+C должен помочь.
      2) Поправили статью. Благодарим за внимательность.
      3) Неодобство может решаться, например, несколькими подключениями SSH или использованием оконных меннеджеров screen, tmux и т. п.

      2025-02-03 at 15:00
  • Стрелок says:
    Ответить

    Плохо понятно, что делать на сервере и что на клиентах. Всё в кучу.

    2025-02-19 at 11:55
    • uxteam says:
      Ответить

      Настройка VPN в принципе может потребовать некоторых усилий и иногда требуется время чтобы разобраться в деталях.

      2025-02-24 at 18:29
Оставить комментарий Отменить ответ

Популярные статьи
  • Как подключиться по RDP из-под MacOS
  • Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
  • Управление портами в Linux (Ubuntu/Debian/CentOS)
  • Настройка VPN с использованием WireGuard
  • Как извлекать и разархивировать файлы .tar.gz в Linux-системах
Разделы Справочника
  • Настройка VPS Сервера
  • Начало работы
  • Особенности виртуального сервера
  • Партнерам
  • Развертывание ПО на VPS сервере
  • Сетевые настройки сервера
GAME OVERNIGHT
CLOUDRUSSIA
STRATONET
SPACE DC
ARCTIC DC
VPS/VDS серверы:
Тестовый период
Дешевый VPS
VPS Старт
VPS Мощные
VPS Windows
VPS Быстрые NVMe
VPS с 1C
Форекс VPS
Игровые серверы
VPS для бизнеса
Пинг до дата-центров
Услуги:
Маркетплейс
Панель ispmanager
Антивирусная защита
Аренда лицензий
Облачное хранилище
VPS серверы с Plesk Obsidian
Колокация
Looking Glass
DNS
Клиентам:
О компании
Дата-Центры
Новости
Аттестация по ФСТЭК
Бонусная программа
Публичная Оферта
Соглашение об уровне услуг
Политика обработки персональных данных
Сувениры от RuVDS
Партнерам:
Для прессы
Партнерская программа
Отзывы
API
Помощь:
Справочник
FAQ
Созданных
серверов
231504
Huawey
Supermicro
Cisco
Intel
Microsoft
ISP
Kaspersky
RDCA Logo

«Креатив года» Премия ЦОДы.рф 2021, 2025

RDCA Logo

«Хостер года» Премия ЦОДы.рф 2023

RDCA Logo

«Человек года» Премия ЦОДы.рф 2024

RuVDS
support@RUVDS.com
8 (800) 775-97-42
+7 (495) 135-10-99
МЫ В СОЦИАЛЬНЫХ СЕТЯХ
Copyright © 2025 RuVDS. Все права защищены.
ООО "МТ ФИНАНС" | ОГРН 1157746680332
Оставить отзыв

Условия получения бонуса за оставленный отзыв:

  1. Напишите про нас на любом из специализированных сайтах для отзывов.
  2. Пришлите нам текст отзыва и ссылку на ваш отзыв.
  3. После проверки, мы опубликуем ваш отзыв у нас на сайте и также начислим бонус на ваш баланс.
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS
Оставить отзыв
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS