Hello, I was checking out the docs here Type: nic - Incus documentation and it seemed I could disable ipv6 for incus instances. I tried like this
eth0:
ipv4.address: 10.0.2.4
ipv6.address: none
network: dns
security.ipv4_filtering: "true"
security.ipv6_filtering: "true"
security.mac_filtering: "true"
security.port_isolation: "true"
type: nic
And when I try to start the instance
bmc@cube:~$ incus start dns-vpn
Error: Failed to start device "eth0": Error parsing IP address "[none]"
Try `incus info --show-log dns-vpn` for more info
I already tried “none“, none, “\none\”, both manually on the server itself using the incus CLI and through the terraform provider. Nothing works and I get the exact same error, if I try to remove the attribute completely it works when saving, but when I try to start the instance the same error shows
bmc@cube:~$ incus start dns-vpn
Error: Failed to start device "eth0": Error parsing IP address "[none]"
Try `incus info --show-log dns-vpn` for more info
bmc@cube:~$
I also tried setting a random private ipv6 address to then remove the attribute, but same error
I’m using incus version 6.22
Does anybody know what am I doing wrong? Now I’m terribly blocked because I can’t even remove the ipv6.address attribute on my instances
Here I set some random ipv6 address just to be able to start the machine
eth0:
ipv4.address: 10.0.2.4
ipv6.address: fd3d:fa72:bc13:89fa:ad24:115b:cc71:4321
network: dns
security.ipv4_filtering: "true"
security.ipv6_filtering: "true"
security.mac_filtering: "true"
security.port_isolation: "true"
It starts fine, but then when I try to remove the attribute, same error
bmc@cube:~$ incus config edit dns-vpn
Config parsing error: Failed to update device "eth0": Error parsing IP address "[none]"
Press enter to open the editor again or ctrl+c to abort change
stgraber
(Stéphane Graber)
July 19, 2026, 10:30pm
3
none is only a valid value for OCI containers that use static IP addressing.
For system containers, you should configure the network management tool inside the container to apply the desired IP configuration.
Interesting So far I just set random ipv6 addresses to my instances to be able to start them and disabled them on the network itself… But. Is there any way to remove the attribute once it is set?
stgraber
(Stéphane Graber)
July 19, 2026, 11:27pm
5
stgraber@vorash-d13:~$ incus list c1
+------+---------+------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+------+------+-----------+-----------+
| c1 | STOPPED | | | CONTAINER | 0 |
+------+---------+------+------+-----------+-----------+
stgraber@vorash-d13:~$ incus config show c1
architecture: aarch64
config:
image.architecture: arm64
image.description: Debian trixie arm64 (20260719_05:24)
image.os: Debian
image.release: trixie
image.serial: '20260719_05:24'
image.type: squashfs
image.variant: default
volatile.apply_template: create
volatile.base_image: b7e1c993c48888c374170683efa167647aa8ee9f346aee77f778dccb77f94027
volatile.cloud-init.instance-id: 2f8f8f38-22f7-4030-881c-7bdd30d3f6ac
volatile.eth0.host_name: vethf12c3cd0
volatile.eth0.hwaddr: 10:66:6a:2d:71:01
volatile.eth0.name: eth0
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.last_state.idmap: '[]'
volatile.uuid: dd748506-3f38-4b9c-af26-cbcc3d890a60
volatile.uuid.generation: dd748506-3f38-4b9c-af26-cbcc3d890a60
devices:
eth0:
ipv4.address: 10.80.1.4
ipv6.address: fd42:8b9f:58e4:b6ac:ad24:115b:cc71:4321
network: incusbr0
security.ipv4_filtering: "true"
security.ipv6_filtering: "true"
security.mac_filtering: "true"
security.port_isolation: "true"
type: nic
ephemeral: false
profiles:
- default
stateful: false
description: ""
stgraber@vorash-d13:~$ incus network show incusbr0
config:
ipv4.address: 10.80.1.1/24
ipv4.nat: "true"
ipv6.address: fd42:8b9f:58e4:b6ac::1/64
ipv6.nat: "true"
description: ""
name: incusbr0
type: bridge
used_by:
- /1.0/instances/c1
- /1.0/instances/incus-os
- /1.0/instances/my-nginx
- /1.0/instances/v1
- /1.0/profiles/default
managed: true
status: Created
locations:
- none
project: default
stgraber@vorash-d13:~$ incus start c1
stgraber@vorash-d13:~$ incus list c1
+------+---------+------------------+------------------------------------------------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+------------------+------------------------------------------------+-----------+-----------+
| c1 | RUNNING | 10.80.1.4 (eth0) | fd42:8b9f:58e4:b6ac:1266:6aff:fe2d:7101 (eth0) | CONTAINER | 0 |
+------+---------+------------------+------------------------------------------------+-----------+-----------+
stgraber@vorash-d13:~$ incus stop c1
stgraber@vorash-d13:~$ incus config device set c1 eth0 ipv6.address=
stgraber@vorash-d13:~$ incus config show c1
architecture: aarch64
config:
image.architecture: arm64
image.description: Debian trixie arm64 (20260719_05:24)
image.os: Debian
image.release: trixie
image.serial: '20260719_05:24'
image.type: squashfs
image.variant: default
volatile.base_image: b7e1c993c48888c374170683efa167647aa8ee9f346aee77f778dccb77f94027
volatile.cloud-init.instance-id: 2f8f8f38-22f7-4030-881c-7bdd30d3f6ac
volatile.eth0.hwaddr: 10:66:6a:2d:71:01
volatile.eth0.name: eth0
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
volatile.last_state.idmap: '[]'
volatile.last_state.power: STOPPED
volatile.last_state.ready: "false"
volatile.uuid: dd748506-3f38-4b9c-af26-cbcc3d890a60
volatile.uuid.generation: dd748506-3f38-4b9c-af26-cbcc3d890a60
devices:
eth0:
ipv4.address: 10.80.1.4
network: incusbr0
security.ipv4_filtering: "true"
security.ipv6_filtering: "true"
security.mac_filtering: "true"
security.port_isolation: "true"
type: nic
ephemeral: false
profiles:
- default
stateful: false
description: ""
stgraber@vorash-d13:~$ incus start c1
stgraber@vorash-d13:~$
stgraber
(Stéphane Graber)
July 19, 2026, 11:29pm
6
Oh, you’re on Incus 6.22, that’s not a supported version, you’ll want to update to either 7.0.1 or 7.2 for a supported version. We’ve done a bunch of changes to some of that NIC validation stuff because of OCI containers, so there’s a decent chance that things have changed.
1 Like
I upgraded to version 7.2 and all my homelab died
The problem was related to this issue Incus 7.0 Cgroup controller is missing - #8 by stgraber
After removing the swap stuff from my instances configuration, they could start but they couldn’t route anywhere and it was because I had set those random ipv6 addresses
Now setting the ipv6 to none works for the instance
eth0:
ipv4.address: 10.0.2.2
ipv6.address: none
network: dns
security.ipv4_filtering: "true"
security.ipv6_filtering: "true"
security.mac_filtering: "true"
security.port_isolation: "true"
type: nic
On the opentofu side it looks like this
device {
name = "eth0"
type = "nic"
properties = {
network = var.management_net.name
"ipv4.address" = "10.0.1.11"
"ipv6.address" = "none"
"security.ipv4_filtering" = true
"security.ipv6_filtering" = true
"security.mac_filtering" = true
}
}
Now there are no ipv6 assigned as expected
bmc@cube:~$ incus ls
+---------------+---------+------------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------------+---------+------------------------+------+-----------+-----------+
| automation | RUNNING | 10.0.1.11 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| bastion | RUNNING | 10.0.203.11 (wg_admin) | | CONTAINER | 0 |
| | | 10.0.1.10 (eth0) | | | |
+---------------+---------+------------------------+------+-----------+-----------+
| code | RUNNING | 10.0.0.15 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| dns-home | RUNNING | 10.0.2.2 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| dns-homelab | RUNNING | 10.0.2.5 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| dns-vpn | RUNNING | 10.0.2.4 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| monitoring | RUNNING | 10.88.0.1 (podman0) | | CONTAINER | 0 |
| | | 10.0.7.10 (eth0) | | | |
+---------------+---------+------------------------+------+-----------+-----------+
| registry | RUNNING | 10.0.0.14 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| reverse-proxy | RUNNING | 10.0.5.10 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| streaming | RUNNING | 10.0.0.13 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| torrent | RUNNING | 10.0.4.10 (eth0) | | CONTAINER | 0 |
+---------------+---------+------------------------+------+-----------+-----------+
| vpn-gateway | RUNNING | 10.0.7.20 (eth4) | | CONTAINER | 0 |
| | | 10.0.6.20 (eth0) | | | |
| | | 10.0.5.20 (eth2) | | | |
| | | 10.0.202.11 (wg_mgmt) | | | |
| | | 10.0.201.11 (wg_mon) | | | |
| | | 10.0.200.11 (wg_proxy) | | | |
| | | 10.0.1.20 (eth3) | | | |
| | | 10.0.0.20 (eth1) | | | |
+---------------+---------+------------------------+------+-----------+-----------+
Thank you