English | 简体中文 | 繁體中文 | Русский | Video en Español
Установщик сервера 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-клиентов
Также доступно:
- Docker VPN: WireGuard, OpenVPN, IPsec VPN, Headscale
- Docker AI: Стек ИИ на своём сервере
- 📖 Книга: Privacy Tools in the Age of AI, Build Your Own VPN Server
Сначала загрузите скрипт на ваш Linux-сервер*:
wget -O wireguard.sh https://get.vpnsetup.net/wg
* Облачный сервер, виртуальный частный сервер (VPS) или выделенный сервер.
Вариант 1: Автоматическая установка WireGuard с параметрами по умолчанию.
sudo bash wireguard.sh --auto
Посмотреть работу скрипта (запись терминала).
Примечание: Эта запись предназначена только для демонстрационных целей.
Для серверов с внешним файрволом (например, 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