Hello, fellow Arch users!
I'm using Arch on a bunch of RasPi's centrally managed using Ansible. When I require "advanced networking" on the remote nodes, i.e. anything different than a wired ethernet connection (WiFi and 3G), I install and use NetworkManager and nmcli (and Modem Manager) for its "opportunistic networking capabilities. The RasPi's phone home through an OpenVPN tunnel.
So far so good, this had been working merrily for some time (only using NetworkManager on the nodes requiring 3G modems). Then I experienced nodes dropping off the network in my test environment, I found this was caused by several nodes "sharing" the same IP i.e. conflicting IP's on the local network.
I've tried hooking the nodes to different networks (suspecting a router/dhcp server bug/issue), and each time was able to reproduce the problem. It really struck me that something trivial as a getting an ordinary DHCP lease on the fixed network is not working properly.
This is what `ip a` gets me right after installing and starting NetworkManager:
ip a on Node 1
$this->bbcode_second_pass_code('', '
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b8:27:eb:98:19:b1 brd ff:ff:ff:ff:ff:ff
inet 10.135.10.193/24 brd 10.135.10.255 scope global dynamic eth0
valid_lft 545sec preferred_lft 545sec
inet 10.135.10.90/24 brd 10.135.10.255 scope global secondary dynamic eth0
valid_lft 544sec preferred_lft 544sec
')
ip a on Node 2
$this->bbcode_second_pass_code('', '
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b8:27:eb:16:3d:b2 brd ff:ff:ff:ff:ff:ff
inet 10.135.10.193/24 brd 10.135.10.255 scope global dynamic eth0
valid_lft 545sec preferred_lft 545sec
inet 10.135.10.61/24 brd 10.135.10.255 scope global secondary dynamic eth0
valid_lft 542sec preferred_lft 542sec
')
In the above output there are still 2 IP's assigned on the interface, one is coming from systemd-networkd, after a reboot the secondary addresses are gone and only the conflicting ones (10.135.10.193 in this case) are left.
How is it possible the two boxes are assigned the same IP by the DHCP server? Am I overlooking something? Or could this be a NetworkManager bug?
Ps I don't apply any specific configuration to the eth0 wired interface in NetworkManager and just take what it gets me by default.
Hope anyone can shed some light on this seemingly trivial problem.. !