Hi,
I have incus setup om my laptop with a few containers. All of them have
been migrated from lxd 5 to Incus 6.0.1 from Debian backports using the
lxd-to-incus tool. The problem I have is similar, if not identical, to the one
I had with lxd.
incus ls
-----------+---------+------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-----------+---------+------+------+-----------+-----------+
| almadev | RUNNING | | | CONTAINER | 3 |
+-----------+---------+------+------+-----------+-----------+
| debiandev | STOPPED | | | CONTAINER | 3 |
+-----------+---------+------+------+-----------+-----------+
| fedoradev | STOPPED | | | CONTAINER | 5 |
+-----------+---------+------+------+-----------+-----------+
| rockydev | STOPPED | | | CONTAINER | 1 |
+-----------+---------+------+------+-----------+-----------+
I can start the containers and they work well except that they are
not assigned an IP and thus cannot access the network or
the internet. I have tried starting all containers the issue is
the same for all of them.
The network bride, lxdbr0, looks like it should work to me:
incus network info lxdbr0
Name: lxdbr0
MAC address: 00:16:3e:8f:49:c6
MTU: 1500
State: up
Type: broadcast
IP addresses:
inet 10.122.68.1/24 (global)
inet6 fd42:75e0:e025:3ad7::1/64 (global)
inet6 fe80::216:3eff:fe8f:49c6/64 (link)
Network usage:
Bytes received: 10.79kB
Bytes sent: 780B
Packets received: 85
Packets sent: 10
Bridge:
ID: 8000.00163e8f49c6
STP: false
Forward delay: 1500
Default VLAN ID: 1
VLAN filtering: true
Upper devices:
It also looks like apparmor is blocking the container operations,
at least partially:
sudo dmesg
41.024614] audit: type=1400 audit(1722343081.668:20): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default" pid=2591 comm="apparmor_parser"
[ 41.024622] audit: type=1400 audit(1722343081.668:21): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-cgns" pid=2591 comm="apparmor_parser"
[ 41.024625] audit: type=1400 audit(1722343081.668:22): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-mounting" pid=2591 comm="apparmor_parser"
[ 41.024628] audit: type=1400 audit(1722343081.668:23): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-nesting" pid=2591 comm="apparmor_parser"
[ 41.075087] NET: Registered PF_VSOCK protocol family
[ 65.398636] audit: type=1400 audit(1722343106.293:24): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default" pid=2661 comm="apparmor_parser"
[ 65.398647] audit: type=1400 audit(1722343106.293:25): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-cgns" pid=2661 comm="apparmor_parser"
[ 65.398652] audit: type=1400 audit(1722343106.293:26): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-mounting" pid=2661 comm="apparmor_parser"
[ 65.398671] audit: type=1400 audit(1722343106.293:27): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-nesting" pid=2661 comm="apparmor_parser"
[ 65.897585] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 65.942587] audit: type=1400 audit(1722343106.837:28): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lxd_dnsmasq-lxdbr0_</var/lib/lxd>" pid=2727 comm="apparmor_parser"
[ 67.876182] audit: type=1400 audit(1722343108.772:29): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default" pid=2775 comm="apparmor_parser"
[ 67.876192] audit: type=1400 audit(1722343108.772:30): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-cgns" pid=2775 comm="apparmor_parser"
[ 67.876196] audit: type=1400 audit(1722343108.772:31): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-mounting" pid=2775 comm="apparmor_parser"
[ 67.876200] audit: type=1400 audit(1722343108.772:32): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-nesting" pid=2775 comm="apparmor_parser"
[ 68.321143] audit: type=1400 audit(1722343109.220:33): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxd_dnsmasq-lxdbr0_</var/lib/lxd>" pid=2826 comm="apparmor_parser"
[ 198.599578] audit: type=1400 audit(1722343239.510:34): apparmor="STATUS" operation="profile_remove" profile="unconfined" name="lxd_dnsmasq-lxdbr0_</var/lib/lxd>" pid=3411 comm="apparmor_parser"
[ 198.933460] audit: type=1400 audit(1722343239.842:35): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default" pid=3427 comm="apparmor_parser"
[ 198.933470] audit: type=1400 audit(1722343239.842:36): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-cgns" pid=3427 comm="apparmor_parser"
[ 198.933474] audit: type=1400 audit(1722343239.842:37): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-mounting" pid=3427 comm="apparmor_parser"
[ 198.933478] audit: type=1400 audit(1722343239.842:38): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-nesting" pid=3427 comm="apparmor_parser"
[ 199.672785] audit: type=1400 audit(1722343240.582:39): apparmor="STATUS" operation="profile_load" profile="unconfined" name="incus_dnsmasq-lxdbr0_</var/lib/incus>" pid=3494 comm="apparmor_parser"
[ 269.934398] lxdbr0: port 1(veth035f7020) entered blocking state
[ 269.934404] lxdbr0: port 1(veth035f7020) entered disabled state
[ 269.936918] device veth035f7020 entered promiscuous mode
[ 270.197663] audit: type=1400 audit(1722343311.112:40): apparmor="STATUS" operation="profile_load" profile="unconfined" name="incus-almadev_</var/lib/incus>" pid=5898 comm="apparmor_parser"
[ 270.280867] physXdIa0r: renamed from veth1adcd8dd
[ 270.297438] eth0: renamed from physXdIa0r
[ 270.333177] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 270.333227] lxdbr0: port 1(veth035f7020) entered blocking state
[ 270.333233] lxdbr0: port 1(veth035f7020) entered forwarding state
[ 270.333333] IPv6: ADDRCONF(NETDEV_CHANGE): lxdbr0: link becomes ready
[ 270.419005] audit: type=1400 audit(1722343311.332:41): apparmor="STATUS" operation="profile_load" profile="unconfined" name="incus_forkproxy-Waylandsocket_almadev_</var/lib/incus>" pid=5930 comm="apparmor_parser"
[ 270.869524] lxdbr0: port 1(veth035f7020) entered disabled state
[ 270.965021] audit: type=1400 audit(1722343311.880:42): apparmor="DENIED" operation="file_lock" profile="incus-almadev_</var/lib/incus>" pid=6065 comm="(ostnamed)" family="unix" sock_type="dgram" protocol=0 requested_mask="send"
[ 270.965034] audit: type=1400 audit(1722343311.880:43): apparmor="DENIED" operation="file_lock" profile="incus-almadev_</var/lib/incus>" pid=6065 comm="(ostnamed)" family="unix" sock_type="dgram" protocol=0 requested_mask="send"
[ 270.980686] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 270.980713] lxdbr0: port 1(veth035f7020) entered blocking state
[ 270.980716] lxdbr0: port 1(veth035f7020) entered forwarding state
[ 290.246824] audit: type=1400 audit(1722343331.161:44): apparmor="DENIED" operation="file_lock" profile="incus-almadev_</var/lib/incus>" pid=6161 comm="(ostnamed)" family="unix" sock_type="dgram" protocol=0 requested_mask="send"
[ 290.246830] audit: type=1400 audit(1722343331.161:45): apparmor="DENIED" operation="file_lock" profile="incus-almadev_</var/lib/incus>" pid=6161 comm="(ostnamed)" family="unix" sock_type="dgram" protocol=0 requested_mask="send"
[ 388.766309] physXdIa0r: renamed from eth0
[ 388.781787] lxdbr0: port 1(veth035f7020) entered disabled state
[ 388.790325] veth1adcd8dd: renamed from physXdIa0r
[ 388.839163] IPv6: ADDRCONF(NETDEV_CHANGE): veth1adcd8dd: link becomes ready
[ 388.839291] lxdbr0: port 1(veth035f7020) entered blocking state
[ 388.839298] lxdbr0: port 1(veth035f7020) entered forwarding state
[ 388.893814] device veth035f7020 left promiscuous mode
[ 388.893868] lxdbr0: port 1(veth035f7020) entered disabled state
[ 389.668868] audit: type=1400 audit(1722343430.583:46): apparmor="STATUS" operation="profile_remove" profile="unconfined" name="incus_forkproxy-Waylandsocket_almadev_</var/lib/incus>" pid=6467 comm="apparmor_parser"
[ 389.834561] audit: type=1400 audit(1722343430.751:47): apparmor="STATUS" operation="profile_remove" profile="unconfined" name="incus-almadev_</var/lib/incus>" pid=6469 comm="apparmor_parser"
The containers used to have internet access so I guess a software
update might have interfered with the containers. I am using the MullvadVPN
app which is my prime suspect, though I am pretty new to Incus and have
difficulties with debugging the issue.
My firewall is firewalld and I have and it looks like the lxdbr0 bridge has
been properly added to the trusted zone:
sudo firewall-cmd --get-active-zones
home
interfaces: wlp0s20f3
trusted
interfaces: lxdbr0
EDIT:
I have also verified that Incus own firewall is disabled:
incus network show lxdbr0
config:
ipv4.address: 10.122.68.1/24
ipv4.firewall: "false"
ipv4.nat: "true"
ipv6.address: fd42:75e0:e025:3ad7::1/64
ipv6.firewall: "false"
ipv6.nat: "true"
description: ""
name: lxdbr0
type: bridge
used_by:
- /1.0/instances/almadev
- /1.0/instances/debiandev
- /1.0/instances/fedoradev
- /1.0/instances/rockydev
- /1.0/profiles/default
managed: true
status: Created
locations:
- none
project: default
Any help with debugging this issue would be highly appreciated.