diff --git a/web/templates/knowledge.html b/web/templates/knowledge.html deleted file mode 100644 index 55564aa..0000000 --- a/web/templates/knowledge.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - База знаний — {{ app_name }} - - - -
- {% include "_sidebar.html" %} - -
-
-
-
База знаний
-
Документация Virtuality, боевые заметки, сетевые схемы и чек-листы
-
-
- user: {{ user }} - ← Дашборд -
-
-
- -
-
-
Фокус
-
VM / сеть / SSL
-
-
-
Статус
-
Наполняется
-
-
-
Правило
-
SSL-ready
-
-
-
Версия раздела
-
0.8.56
-
-
- -
-
-

Главное правило: SSL-ready by default

- Let’s Encrypt / HTTP-01 -
-
При настройке VM и пробросов Virtuality должна сразу учитывать выпуск SSL-сертификатов. Для Let’s Encrypt критичен внешний доступ к HTTP-01 challenge на TCP 80.
-
-
DNSA-запись домена должна указывать на реальный внешний IP сервера или роутера.
-
WAN 80/443Порты не должны быть заняты веб-интерфейсом роутера, FastPanel на хосте или другой службой.
-
FirewallKeenetic, внешний firewall и UFW/nftables должны пропускать TCP 80 и TCP 443.
-
Проверка снаружиПеред certbot надо проверять curl с мобильной сети или внешнего хоста, а не только из локальной Wi-Fi сети.
-
-
curl -I http://domain.ru
-
-# Хорошо: ответил nginx, допустимы 200 / 301 / 404
-# Плохо: timeout, connection refused или ответ админки роутера
-
- -
-
-
-

Bridge VM

- br0 / LAN node -
-

Если VM подключена к bridge и имеет полноценный LAN IP, самый чистый путь — пробрасывать WAN-порты роутера напрямую на IP VM.

-
WAN 80  → IP_VM:80
-WAN 443 → IP_VM:443
-
Для сайтов и FastPanel внутри bridge VM этот вариант проще и надёжнее: меньше NAT-слоёв, меньше магии, меньше боли.
-
- -
-
-

NAT VM

- Virtuality DNAT -
-

Если VM находится во внутренней NAT-сети Virtuality, внешний роутер должен вести трафик на хост Virtuality, а дальше Virtuality DNAT отправит его в VM.

-
WAN 80/443 → HOST:80/443
-HOST DNAT  → IP_VM:80/443
-
Для NAT-сценария правила Virtuality должны быть применены и проверены через /network и tcpdump.
-
-
- -
-
-

Ключевые директории

- filesystem -
- - - - - - - - - - - - -
ПутьНазначение
/opt/virtuality/sourceИсходники GitHub-репозитория Virtuality.
/opt/virtuality/webУстановленная web-панель, которую запускает systemd.
/opt/virtuality/venvPython virtualenv панели.
/var/lib/virtuality/isoISO-образы для установки VM.
/var/lib/virtuality/imagesqcow2-диски виртуальных машин.
/var/lib/virtuality/disk-imagesЗагруженные готовые .img/.raw/.qcow2 образы и распакованные архивы.
/var/lib/virtuality/networkПравила пробросов портов и ручные IP VM.
/var/log/virtualityЛоги установки, операций и диагностики.
-
- -
-
-
-

Обновление панели

- GitHub → install -
-
cd /opt/virtuality/source
-sudo git fetch --all
-sudo git reset --hard origin/main
-sudo git clean -fd
-sudo bash scripts/install_web_panel.sh
-sudo systemctl restart virtuality-web
-
- -
-
-

Быстрая диагностика

- host / VM / network -
-
sudo vhealth
-sudo systemctl status virtuality-web --no-pager
-sudo journalctl -u virtuality-web -n 120 --no-pager
-virsh list --all
-virsh net-list --all
-ip route
-sudo nft list ruleset | grep -A120 virtuality
-
-
- -
-
-

Проверка проброса к VM

- tcpdump -
-

Если certbot или внешний сайт не открывается, сначала надо понять, где теряется пакет: на роутере, на хосте Virtuality или уже внутри VM.

-
# На хосте Virtuality
-sudo tcpdump -ni br0 'tcp port 80 or tcp port 443'
-
-# На VM
-sudo ss -tulpn | grep -E ':80|:443'
-sudo nginx -t
-
- -
-
-

Правила версионирования

- release discipline -
-
-
+0.0.1Мелкий фикс, безопасное уточнение, диагностика, маленький UI-патч.
-
+0.1.0Заметная функция или новый раздел панели.
-
+1.0.0Архитектурный разрыв или несовместимое изменение.
-
КоммитыСообщения коммитов — на русском, в прошедшем времени, без инфинитива.
-
-
-
-
- - -