IPv4 Duplicate Address Detection
It appears that IPv4 DAD is enabled in NetworkManager connections now by default.
NetworkManager Changelog
What Could be a Problem With That?
In a situation where you want the same IP address on multiple interfaces at the same time the second interface is prevent to go online as long as the first interface has already assigned the desired IP address. A real life example for that circumstance is when you want a fixed IP address on your laptop and your network connection should switch seamlessly between Wi-Fi and Ethernet.
Sharing IP over Wi-Fi and Ethernet
By default the metric for wired connections is lower than for Wi-Fi connections so that wired connections are priorized in the routing table.
Disable DAD for Dedicated Connections
Unfortunately this option is at the time writing this article not available in the NetworkManager GUI so we need to use the nmcli
command.
Show Configured Connections
user@host:~$ nmcli connection show
NAME UUID TYPE DEVICE
wifi 27328bfa-cd5b-4bde-965f-24d46f7078df wifi wlo1
Wired connection 1 74f9dedd-6ea2-3882-8c62-162d637f39b9 ethernet enx030ec4e054c6
lo 0b43a56d-ca15-4fe2-b0e7-36s5eea7c311 loopback lo
Disable DAD for Wi-Fi and Ethernet Connection
user@host:~$ nmcli connection show wifi | grep dad
ipv4.dad-timeout: -1 (default)
user@host:~$ nmcli connection modify wifi ipv4.dad-timeout 0
user@host:~$ nmcli connection show wifi | grep dad
ipv4.dad-timeout: 0 (off)
user@host:~$ nmcli connection show Wired\ connection\ 1 | grep dad
ipv4.dad-timeout: -1 (default)
user@host:~$ nmcli connection modify Wired\ connection\ 1 ipv4.dad-timeout 0
user@host:~$ nmcli connection show Wired\ connection\ 1 | grep dad
ipv4.dad-timeout: 0 (off)
These changes are persistent and you can find them in the connection files after the commands have been applied. Be aware that since Ubuntu 24.04 these files are located in /etc/netplan
.
The modified connections have to be re-connected to take changes in affect.