Перейти к содержимому
Melinhost

Приватный homelab на одном VPS: сервисы только для вас через WireGuard

Вместо открытия сервисов в интернет запускайте их за VPN WireGuard: безопасная приватная лаборатория на одном сервере.

Руководства · 1 мин чтения

private-homelab-on-vps

Homelab — это приватная среда для экспериментов и личных сервисов. Вместо домашнего сервера можно использовать один облачный. Главный принцип: не открывайте сервисы в интернет — открывайте их только своему VPN. Так поверхность атаки сводится почти к одному порту VPN.

Архитектура homelab
Сервисы доступны только по сети WireGuard; единственная открытая в интернет дверь — порт VPN.

Архитектура

  • WireGuard: зашифрованная приватная сеть (10.8.0.0/24) между вашим компьютером, телефоном и сервером.
  • Docker: сервисы работают в контейнерах (см. Установка Docker).
  • Привязка: порты привязываются только к адресу VPN (10.8.0.1) и из интернета не видны.

1. Установите WireGuard

sudo apt install -y wireguard
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee laptop.key | wg pubkey > laptop.pub

2. Конфигурация сервера

Создайте /etc/wireguard/wg0.conf (замените ключи своими значениями):

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

[Peer]
# laptop
PublicKey = LAPTOP_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
sudo ufw allow 51820/udp
sudo systemctl enable --now wg-quick@wg0
sudo wg show

3. Конфигурация клиента

[Interface]
Address = 10.8.0.2/32
PrivateKey = LAPTOP_PRIVATE_KEY

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 10.8.0.0/24
PersistentKeepalive = 25

Импортируйте файл в клиент WireGuard (Windows, macOS, Linux, Android, iOS) и подключитесь. Если ping 10.8.0.1 отвечает, приватная сеть готова. Для телефона конфигурацию можно получить в виде QR-кода.

4. Привяжите сервисы к адресу VPN

Публикуйте порты Docker только на адресе VPN:

services:
  notes:
    image: ghcr.io/example/notes:latest
    restart: unless-stopped
    ports:
      - "10.8.0.1:8080:8080"

К сервису можно обратиться по http://10.8.0.1:8080 только при включённом VPN. При желании и внутри VPN можно использовать домен и HTTPS с Caddy.

Что запустить

СервисНазначение
GiteaПриватные Git-репозитории
n8nАвтоматизация
ImmichРезервное копирование фото
Менеджер паролей, заметки и файловые сервисыЛичное использование

Безопасность и обслуживание

  • Защитите сервер по чек-листу безопасности.
  • Создавайте отдельный ключ WireGuard для каждого устройства; ключ потерянного устройства удалите из wg0.conf.
  • Регулярно копируйте конфигурацию и данные; перед рискованными обновлениями делайте снимок.

Начните с Melinhost

Для homelab достаточно одного облачного сервера; полный доступ root позволяет настроить WireGuard и Docker как вам нужно.

Похожие записи

err-ssl-version-or-cipher-mismatch

· Руководства

Ошибка ERR_SSL_VERSION_OR_CIPHER_MISMATCH: причины и решение

Браузер не может установить защищённое соединение: как найти и исправить устаревшие версии TLS, несовместимые шифры, отсутствие сертификата и неверные настройки виртуального хоста.

Читать далее →

Настройки cookie

Мы используем необходимые cookie. Аналитические и маркетинговые cookie включаются только с вашего согласия. Политика использования cookie