Вы нашли самый простой способ установки и управления WireGuard на любом хосте Linux!
Для стабильной версии читайте инструкции на производственной ветке!
Мы предоставляем более одного тега изображения Docker. Нижеследующее поможет вам решить, какой из них подходит вам лучше всего.
ярлык | Ветвь | Пример | Описание |
---|---|---|---|
latest | production | ghcr.io/wg-easy/wg-easy:latest или ghcr.io/wg-easy/wg-easy | стабильный, насколько это возможно, быстрое исправление ошибок, когда это необходимо, развертывание в production . |
14 | production | ghcr.io/wg-easy/wg-easy:14 | так же, как и последний, придерживайтесь тега версии. |
nightly | master | ghcr.io/wg-easy/wg-easy:nightly | в основном нестабильная версия получает частые обновления пакетов и кода, развертываемые на master . |
development | запросы на извлечение | ghcr.io/wg-easy/wg-easy:development | используется для разработки, тестирования кода из PR перед попаданием в master . |
Если вы еще не установили Docker, установите его, выполнив:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $( whoami )
exit
И войдите снова.
Чтобы автоматически установить и запустить wg-easy, просто запустите:
docker run --detach
--name wg-easy
--env LANG=de
--env WG_HOST= < YOUR_SERVER_IP >
--env PASSWORD_HASH= ' <YOUR_ADMIN_PASSWORD_HASH> '
--env PORT=51821
--env WG_PORT=51820
--volume ~ /.wg-easy:/etc/wireguard
--publish 51820:51820/udp
--publish 51821:51821/tcp
--cap-add NET_ADMIN
--cap-add SYS_MODULE
--sysctl ' net.ipv4.conf.all.src_valid_mark=1 '
--sysctl ' net.ipv4.ip_forward=1 '
--restart unless-stopped
ghcr.io/wg-easy/wg-easy
Замените
<YOUR_SERVER_IP>
своим IP-адресом в глобальной сети или именем хоста динамического DNS.Замените
<YOUR_ADMIN_PASSWORD_HASH>
хешем пароля bcrypt для входа в веб-интерфейс. См. How_to_generate_an_bcrypt_hash.md для получения инструкций о том, как сгенерировать хешированный пароль.
Веб-интерфейс теперь будет доступен по адресу http://0.0.0.0:51821
.
Метрики Prometheus теперь будут доступны по адресу http://0.0.0.0:51821/metrics
. Приборная панель Графана 21733
Ваши файлы конфигурации будут сохранены в
~/.wg-easy
WireGuard Easy также можно запустить с помощью Docker Compose — просто скачайте docker-compose.yml
, внесите необходимые изменения и выполните docker compose up --detach
.
Вам нравится этот проект? Купи Эмилю пива! ?
Пожертвование основному компоненту: WireGuard
Эти параметры можно настроить, задав переменные среды, используя -e KEY="VALUE"
в команде docker run
.
Конверт | По умолчанию | Пример | Описание |
---|---|---|---|
PORT | 51821 | 6789 | TCP-порт для веб-интерфейса. |
WEBUI_HOST | 0.0.0.0 | localhost | IP-адрес, к которому привязывается веб-интерфейс. |
PASSWORD_HASH | - | $2y$05$Ci... | Если установлено, при входе в веб-интерфейс требуется пароль. См. раздел «Как сгенерировать хэш bcrypt.md», чтобы узнать, как генерировать хеш. |
WG_HOST | - | vpn.myserver.com | Публичное имя хоста вашего VPN-сервера. |
WG_DEVICE | eth0 | ens6f0 | Устройство Ethernet, через которое должен передаваться трафик Wireguard. |
WG_PORT | 51820 | 12345 | Публичный UDP-порт вашего VPN-сервера. WireGuard будет прослушивать это (в противном случае по умолчанию) внутри контейнера Docker. |
WG_CONFIG_PORT | 51820 | 12345 | Порт UDP, используемый в плагине Home Assistant |
WG_MTU | null | 1420 | MTU, который будут использовать клиенты. Сервер использует WG MTU по умолчанию. |
WG_PERSISTENT_KEEPALIVE | 0 | 25 | Значение в секундах, позволяющее сохранять соединение открытым. Если это значение равно 0, соединения не будут поддерживаться. |
WG_DEFAULT_ADDRESS | 10.8.0.x | 10.6.0.x | Диапазон IP-адресов клиентов. |
WG_DEFAULT_DNS | 1.1.1.1 | 8.8.8.8, 8.8.4.4 | Клиенты DNS-сервера будут использовать. Если установлено пустое значение, клиенты не будут использовать DNS. |
WG_ALLOWED_IPS | 0.0.0.0/0, ::/0 | 192.168.15.0/24, 10.0.1.0/24 | Разрешенные IP-адреса, которые будут использовать клиенты. |
WG_PRE_UP | ... | - | См. config.js для значения по умолчанию. |
WG_POST_UP | ... | iptables ... | См. config.js для значения по умолчанию. |
WG_PRE_DOWN | ... | - | См. config.js для значения по умолчанию. |
WG_POST_DOWN | ... | iptables ... | См. config.js для значения по умолчанию. |
WG_ENABLE_EXPIRES_TIME | false | true | Включить время истечения срока действия для клиентов |
LANG | en | de | Язык веб-интерфейса (поддерживает: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi, ja, si) . |
UI_TRAFFIC_STATS | false | true | Включить подробную статистику RX/TX клиента в веб-интерфейсе |
UI_CHART_TYPE | 0 | 1 | UI_CHART_TYPE=0 # Диаграммы отключены, UI_CHART_TYPE=1 # Линейная диаграмма, UI_CHART_TYPE=2 # Области диаграммы, UI_CHART_TYPE=3 # Гистограмма |
WG_ENABLE_ONE_TIME_LINKS | false | true | Включить отображение и создание коротких одноразовых ссылок для скачивания (срок действия истекает через 5 минут). |
MAX_AGE | 0 | 1440 | Максимальный срок сеансов веб-интерфейса в минутах. 0 означает, что сеанс будет существовать до закрытия браузера. |
UI_ENABLE_SORT_CLIENTS | false | true | Включить сортировку клиентов пользовательского интерфейса по имени |
ENABLE_PROMETHEUS_METRICS | false | true | Включите метрики Prometheus http://0.0.0.0:51821/metrics и http://0.0.0.0:51821/metrics/json |
PROMETHEUS_METRICS_PASSWORD | - | $2y$05$Ci... | Если этот параметр установлен, при запросе метрик требуется базовая аутентификация. См. раздел «Как сгенерировать хэш bcrypt.md», чтобы узнать, как генерировать хеш. |
Если вы меняете
WG_PORT
, обязательно измените также открытый порт.
Чтобы обновиться до последней версии, просто запустите:
docker stop wg-easy
docker rm wg-easy
docker pull ghcr.io/wg-easy/wg-easy
А затем снова запустите команду docker run -d ...
выше.
С помощью Docker Compose WireGuard Easy можно обновить с помощью одной команды: docker compose up --detach --pull always
(если в файле Compose указан тег изображения и он не latest
, убедитесь, что он изменен на нужный ; по умолчанию он опущен и используется latest
).
Контейнер WireGuared Easy будет автоматически воссоздан, если будет получен новый образ.
Чтобы узнать о менее распространенных или конкретных крайних сценариях, обратитесь к подробной информации, представленной в Wiki.