Revert: drop the phone road-warrior OpenVPN attempt
lint / yamllint + ansible-lint + syntax-check (push) Canceled after 0s
lint / yamllint + ansible-lint + syntax-check (push) Canceled after 0s
Rolled back per the user's request. Three variants were tried on ru-vps
(static key; TLS peer-fingerprint p2p; server mode with push routes and an
inline <ca>). The server side worked each time, but the "OpenVPN for
Android" client consistently failed at config build ("Used 101 tries to
get current version of the profile"), which looks like an app/OS issue
rather than the config.
Repo: remove playbooks/openvpn-phone.yml, its Make target, and the shared
homelab_vpn_client_routes var; restore openvpn-laptop.yml to its prior
state (its pre-existing `become: false` on delegate_to: localhost is noted
in plan.md, left untouched). ru-vps teardown done out of band: unit, tun2,
ufw/nat rules for 9444 and 10.80.0.0/29, and /etc/openvpn/homelab-phone
removed; the site tunnel (homelab-openvpn, tun0) was not touched and is
verified active.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KbuZrUoevfBgCpf5DCF4DG
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
c5c33986da
commit
d45391a261
+21
-27
@@ -2,36 +2,30 @@
|
||||
|
||||
## Активные задачи
|
||||
|
||||
### Road-warrior OpenVPN для телефона
|
||||
### Road-warrior OpenVPN для телефона — откачено
|
||||
|
||||
Выполнено 2026-09-03. `playbooks/openvpn-phone.yml` (`make openvpn-phone`)
|
||||
поднимает на ru-vps отдельный TLS point-to-point инстанс: порт 9444/tcp,
|
||||
`tun2`, сеть 10.80.0.0/30, юнит `homelab-openvpn-phone`, NAT
|
||||
`10.80.0.0/30 -> LAN` через `tun0`. Профиль (с приватным ключом) —
|
||||
`ansible/generated/ada-phone.ovpn` (gitignored).
|
||||
2026-09-03: пробовали поднять клиентский OpenVPN для телефона (Android),
|
||||
чтобы смотреть дашборд вне LAN. Перебрали три варианта на `ru-vps` (static
|
||||
key -> TLS peer-fingerprint p2p -> `server`-режим с `push route` и `<ca>`).
|
||||
На стороне ru-vps всё работало (тоннель вставал, TLS OK), но клиент
|
||||
«OpenVPN for Android» стабильно падал на «сборка конфигурации / Used 101
|
||||
tries to get current version of the profile». По решению пользователя всё
|
||||
откачено: `homelab-openvpn-phone`, `tun2`, правила UFW/NAT для 9444 и
|
||||
`10.80.0.0/29`, `/etc/openvpn/homelab-phone` сняты с `ru-vps`; `playbooks/
|
||||
openvpn-phone.yml`, Make-цель и `homelab_vpn_client_routes` удалены из
|
||||
репозитория. Сайт-тоннель `homelab-openvpn` (tun0) не затрагивался.
|
||||
|
||||
Крипто: **peer-fingerprint, без CA/PKI**. На ru-vps генерятся две
|
||||
самоподписанные EC-пары (`server.*`, `client.*`), стороны пинят друг друга
|
||||
по SHA256-отпечатку (`peer-fingerprint`), `data-ciphers AES-256-GCM`. Первая
|
||||
попытка была на static key (`--secret`) — Android-клиент несёт OpenVPN 2.7 и
|
||||
запускать её отказался («No tls-client or tls-server option»; 2.8 уберёт
|
||||
совсем). Клиент на Android — «OpenVPN for Android» (Arne Schwabe) или
|
||||
OpenVPN Connect: TLS-конфиг понимают оба.
|
||||
Если возвращаться: скорее всего проблема на стороне приложения (battery
|
||||
optimization / сохранение профиля), а не конфига; либо собрать полноценный
|
||||
PKI через `community.crypto` и `<ca>`+`remote-cert-tls server`, либо
|
||||
попробовать WireGuard.
|
||||
|
||||
Прогон идемпотентен (`changed=0` на повторе). Проверено: сервис active,
|
||||
OpenVPN 2.6.19 слушает 9444, `tun2` up, `Using certificate fingerprint to
|
||||
verify peer`, UFW 9444/tcp, NAT-правило на месте, с ru-vps
|
||||
`192.168.1.30:8082` достижим. Маршруты клиента вынесены в
|
||||
`homelab_vpn_client_routes` (`group_vars/all/main.yml`) — общий список с
|
||||
`openvpn-laptop.yml`, не весь `/24` (домашняя сеть телефона тоже
|
||||
192.168.1.0/24).
|
||||
|
||||
Побочно: в `openvpn-laptop.yml` и `openvpn-phone.yml` локальная запись
|
||||
профиля переведена с `become: false` на `vars: {ansible_connection: local,
|
||||
ansible_become: false}` — ключ `become: false` на `delegate_to: localhost`
|
||||
не подавлял унаследованный `ansible_become: true` (sudo password required).
|
||||
`openvpn-laptop.yml` по-прежнему на static key и на живом ru-vps не
|
||||
применялся — при реальном использовании ему нужен тот же перевод на TLS.
|
||||
Предсуществующий баг, замеченный по ходу и НЕ тронутый: в
|
||||
`openvpn-laptop.yml` (в проде не применялся) задачи с `delegate_to:
|
||||
localhost` используют ключ `become: false`, который не подавляет
|
||||
унаследованный `ansible_become: true` — при запуске упрётся в «sudo: a
|
||||
password is required». Чинится `vars: {ansible_connection: local,
|
||||
ansible_become: false}`.
|
||||
|
||||
### Дашборд-обзор инфраструктуры (Homepage)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user