Главное правило: SSL-ready by default
- Let’s Encrypt / HTTP-01 -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-
NAT VM
- Virtuality DNAT -Если VM находится во внутренней NAT-сети Virtuality, внешний роутер должен вести трафик на хост Virtuality, а дальше Virtuality DNAT отправит его в VM.
-WAN 80/443 → HOST:80/443 -HOST DNAT → IP_VM:80/443-
Ключевые директории
- filesystem -| Путь | Назначение |
|---|---|
| /opt/virtuality/source | Исходники GitHub-репозитория Virtuality. |
| /opt/virtuality/web | Установленная web-панель, которую запускает systemd. |
| /opt/virtuality/venv | Python virtualenv панели. |
| /var/lib/virtuality/iso | ISO-образы для установки VM. |
| /var/lib/virtuality/images | qcow2-диски виртуальных машин. |
| /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-