Full-mesh VPN между нодами кластера. Конфигурация в infra/ansible/playbooks/wireguard/.
Описание
WireGuard создаёт приватную сеть 10.99.0.0/24 между всеми нодами. Топология — full-mesh: каждая нода связана со всеми остальными.
Архитектура
- Сеть:
10.99.0.0/24(настраивается в.env) - Интерфейс:
wg0 - Порт:
51820/udp - Туннели: n × (n-1) / 2 для n нод
Команды
| Команда | Описание |
|---|---|
make wireguard |
Настройка full-mesh на всех нодах |
make wireguard-limit limit=<group> |
Настройка на конкретной группе |
make wireguard-status |
Статус WireGuard на всех нодах |
make wireguard-test |
Тест ping между нодами |
make wireguard-client-setup |
Настройка клиентского VPN (gateway) |
make wireguard-client-config |
Генерация конфига для клиента |
make wireguard-client-status |
Статус клиентского подключения |
WireGuard Client VPN
Для доступа к внутренним сервисам (Ingress, Grafana и т.д.) с рабочей машины:
make wireguard-client-setup— создаёт клиента на первом mastermake wireguard-client-config— генерирует.confвinfra/wireguard-clients/<client_name>.conf- Импортируйте конфиг в WireGuard на своей машине
Базовый порядок
1 2 3 4 | |
Lifecycle и эксплуатация
- Источник настроек:
.env(WIREGUARD_*,NODE_X_WIREGUARD_IP, client-переменные). - При добавлении ноды нужно перегенерировать full-mesh (
make wireguard) на весь кластер. - Конфиги клиентов хранятся в
infra/wireguard-clients/; ротацию ключей проводить при смене доступа. - Проверки после изменений:
make wireguard-statusиmake wireguard-test.
Проверка
1 2 3 4 5 6 | |
Связанные страницы
- Ansible — управление нодами
- Kubernetes — кластер
- Internal DNS — DNS-контур внутренней сети
- Ingress — внутренние сервисы доступны через VPN whitelist
- infra/README.md