Skip to content

Latest commit

 

History

History
198 lines (139 loc) · 12.9 KB

File metadata and controls

198 lines (139 loc) · 12.9 KB

English | 简体中文 | 繁體中文 | Русский | Video en Español

Скрипт автоматической установки сервера WireGuard VPN

Build Status GitHub Stars License: MIT

Установщик сервера WireGuard VPN для Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE и Raspberry Pi OS.

Этот скрипт позволит вам настроить собственный VPN-сервер всего за несколько минут, даже если вы раньше не использовали WireGuard. WireGuard — это быстрый и современный VPN, разработанный с упором на простоту использования и высокую производительность.

Возможности:

  • Полностью автоматическая настройка сервера WireGuard VPN, ввод пользователя не требуется
  • Поддержка интерактивной установки с пользовательскими параметрами
  • Генерация VPN-профилей для автоматической настройки устройств Windows, macOS, iOS и Android
  • Генерация QR-кодов для упрощённой настройки мобильных устройств
  • Поддержка управления пользователями WireGuard VPN
  • Оптимизация настроек sysctl для повышения производительности VPN
  • Поддержка двойного стека IPv4 и IPv6 для VPN-клиентов

Также доступно:

Установка

Сначала загрузите скрипт на ваш Linux-сервер*:

wget -O wireguard.sh https://get.vpnsetup.net/wg

* Облачный сервер, виртуальный частный сервер (VPS) или выделенный сервер.

Вариант 1: Автоматическая установка WireGuard с параметрами по умолчанию.

sudo bash wireguard.sh --auto
Посмотреть работу скрипта (запись терминала).

Примечание: Эта запись предназначена только для демонстрационных целей.

Tip

При желании вы можете установить OpenVPN, IPsec VPN и/или Headscale на тот же сервер.

Для серверов с внешним файрволом (например, EC2/GCE) откройте UDP-порт 51820 для VPN.

Вариант 2: Интерактивная установка с пользовательскими параметрами.

sudo bash wireguard.sh

Вы можете настроить следующие параметры: DNS-имя VPN-сервера, UDP-порт, DNS-сервер для VPN-клиентов и имя первого клиента.

Для серверов с внешним файрволом откройте выбранный UDP-порт для VPN.

Нажмите здесь, если не удаётся скачать.

Вы также можете использовать curl для загрузки:

curl -fL -o wireguard.sh https://get.vpnsetup.net/wg

Затем следуйте инструкциям выше для установки.

Альтернативные URL для установки:

https://github.com/hwdsl2/wireguard-install/raw/master/wireguard-install.sh
https://gitlab.com/hwdsl2/wireguard-install/-/raw/master/wireguard-install.sh

Если вы не можете скачать файл, откройте wireguard-install.sh, затем нажмите кнопку Raw справа. Нажмите Ctrl/Cmd+A, чтобы выделить всё, Ctrl/Cmd+C, чтобы скопировать, затем вставьте в ваш любимый редактор.

Дополнительно: автоматическая установка с пользовательскими параметрами.

Продвинутые пользователи могут автоматически установить WireGuard с пользовательскими параметрами, указав параметры командной строки при запуске скрипта. Подробнее см. в следующем разделе «просмотр информации об использовании скрипта WireGuard».

В качестве альтернативы можно передать Bash «here document» в качестве входных данных для скрипта установки. Этот метод также можно использовать для передачи входных данных для управления пользователями после установки.

Сначала установите WireGuard в интерактивном режиме с пользовательскими параметрами и запишите все введённые значения.

sudo bash wireguard.sh

Если вам нужно удалить WireGuard, снова запустите скрипт и выберите соответствующий вариант.

Затем создайте команду установки с пользовательскими параметрами, используя ваши ответы. Пример:

sudo bash wireguard.sh <<ANSWERS
n
51820
client
2
y
ANSWERS

Примечание: Параметры установки могут измениться в будущих версиях скрипта.

Просмотреть информацию об использовании скрипта WireGuard.
Usage: bash wireguard.sh [options]

Options:

  --addclient [client name]      добавить нового клиента
  --dns1 [DNS server IP]         основной DNS-сервер для нового клиента (необязательно, по умолчанию: Google Public DNS)
  --dns2 [DNS server IP]         резервный DNS-сервер для нового клиента (необязательно)
  --listclients                  показать список существующих клиентов
  --removeclient [client name]   удалить существующего клиента
  --showclientqr [client name]   показать QR-код для существующего клиента
  --uninstall                    удалить WireGuard и удалить всю конфигурацию
  -y, --yes                      автоматически отвечать "yes" на запросы при удалении клиента или WireGuard
  -h, --help                     показать это сообщение справки и выйти

Параметры установки (необязательно):

  --auto                         автоматически установить WireGuard с параметрами по умолчанию или пользовательскими параметрами
  --serveraddr [DNS name or IP]  адрес сервера, должен быть полным доменным именем (FQDN) или IPv4-адресом
  --port [number]                порт для WireGuard (1–65535, по умолчанию: 51820)
  --clientname [client name]     имя первого клиента WireGuard (по умолчанию: client)
  --dns1 [DNS server IP]         основной DNS-сервер для первого клиента (по умолчанию: Google Public DNS)
  --dns2 [DNS server IP]         резервный DNS-сервер для первого клиента

Чтобы настроить параметры, вы также можете запустить этот скрипт без аргументов.

Сообщество

  • 📬 Подписаться на обновления проектов (1–2 письма в месяц) — получить бесплатные руководства по развёртыванию VPN и AI (PDF, на английском)
  • 💬 Присоединяйтесь к сообществу r/selfhostedstack для обсуждений и демонстрации проектов
  • ⭐ Поставьте звезду репозиторию, если он оказался вам полезен — это поможет другим пользователям его найти.

Следующие шаги

После установки вы можете снова запустить скрипт, чтобы управлять пользователями или удалить WireGuard.

Настройте ваш компьютер или устройство для использования VPN. Пожалуйста, обратитесь к следующей инструкции:

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

Прочитайте 📖 книгу о VPN, чтобы получить доступ к дополнительному контенту.

Наслаждайтесь собственным VPN! ✨🎉🚀✨

Благодарности

Этот скрипт основан на отличной работе Nyr и участников проекта с улучшениями и изменениями для совместимости с проектом Setup IPsec VPN.

Список улучшений по сравнению с Nyr/wireguard-install.
  • Улучшена совместимость с Setup IPsec VPN
  • Повышена надёжность скрипта, улучшены ввод и вывод пользователя
  • Поддержка автоматической установки с параметрами по умолчанию или пользовательскими параметрами
  • Поддержка использования DNS-имени в качестве адреса сервера
  • Добавлена поддержка openSUSE Linux
  • Поддержка просмотра списка существующих VPN-клиентов
  • Поддержка отображения QR-кода для клиента
  • Поддержка пользовательских DNS-серверов для VPN-клиентов
  • Поддержка параметров командной строки для управления VPN-клиентами
  • Оптимизация настроек sysctl для повышения производительности VPN
  • Улучшено создание файлов конфигурации клиента при использовании sudo

...и многое другое!

Лицензия

MIT