Если UFW активен - он блокирует forwarding трафика от/через incusbr0.

Incus (как и LXD) требует явных правил в UFW для managed bridge, иначе forwarding не проходит.

Решение (самое простое и безопасное)

Выполни на хосте эти команды:

sudo ufw allow in on incusbr0
sudo ufw route allow in on incusbr0
sudo ufw route allow out on incusbr0
sudo ufw reload
  • allow in on incusbr0 — разрешает входящий трафик на bridge (DHCP, DNS от контейнеров к хосту).
  • route allow in/out on incusbr0 — разрешает форвардинг (роутинг) трафика через bridge в обе стороны (это критично для выхода в интернет).

После этого:

incus restart my-debian   # или incus network restart incusbr0

Зайди в контейнер и проверь:

incus exec my-debian -- bash
ping -c 4 10.115.187.1   # bridge IP хоста — должен работать
ping -c 4 8.8.8.8
ping -c 4 google.com     # теперь DNS тоже должен резолвиться
apt update

Если всё заработает — можно сделать правила более строгими (например, только для нужных портов), но для начала это стандартный фикс.

Почему именно так

  • UFW по умолчанию дропает неизвестный forwarding (policy drop в FORWARD).
  • Incus добавляет masquerade и accept в свои цепочки, но UFW "оборачивает" FORWARD своими jump'ами (ufw-before-forward и т.д.), и если нет allow для интерфейса — пакеты не доходят до incus-правил.
  • Это задокументировано в Incus: https://linuxcontainers.org/incus/docs/main/howto/network_bridge_firewalld/ (раздел UFW: Add rules for the bridge).

Если после этих команд интернет появится — отлично.