Hi all :)
Apologies for the long writeup, but I’m not sure if the background is important or not.
I’ve got a media server currently running Xubuntu (getting ready to be transitioned to a proper server OS before anyone asks), and I’ve been having a problem with static IP addresses.
About a year ago I was having a problem with the ethernet card switching from a static IP to DHCP, and screwing up the services that depended on the IP address. It appeared to be a problem with my ISP router (BT SmartHub 2). I thought I’d fixed it, and didn’t have any trouble for a while.
I added a second ethernet card to split my traffic. My VPN doesn’t allow split tunneling on Linux, and I wanted some traffic to go through the VPN while some bypassed it. I hadn’t set anything up for that yet, but did give the second ethernet card a static IP address. I changed the DNS servers on both to go through my AdGuard installation on the same machine, and some other ad blocking DNS servers.
When I first installed the second ethernet card I had a few problems, but my network switch died at the same time, and replacing it appeared to cure the issues. The issues were similar to before, in that I couldn’t get a static IP to stick.
To now - Last night we were having some power issues in the area, power surges and brownouts. In the time that it took me to get to my PC and log in to the media server to shut it down, it had rebooted at least three times. I shut everything down successfully, and after I turned everything back on this morning, the services like Plex that don’t need the IP all seemed to be working properly.
After my kid went to bed, I tried to log onto the server to check it. Nothing that needed the IP address would work. I tried the second IP address and that was the same. I managed to log in with NoMachine and saw that there were two new ethernet connections, both set to DHCP, and they were being used instead of the previous connections. The previous connections apparently haven’t been used for the last six days.
I tried deleting one of the new connections to see if it would force Xubuntu to use the old ones, and it seemed to work, but deleting the second one cut off the network connections completely. After connecting a monitor and peripherals to the server, I could see an option for an Auto Connection in the network dropdown menu, and that let me connect again.
My previous connections are still in the network manager with all the static IP settings, but there are two new Auto Ethernet connections too, using DHCP.
Can anyone give me a clue as to what’s happened here please? I thought it was a problem caused by the power problems, but it’s apparently been going on for almost a week.
Apologies in advance if I’m slow to reply for the next few days, and thank you in advance for any help :)
No worries, sometimes I end up replying days or a week later myself haha
I couldn’t see anything obvious, but I noticed something else
I noticed last night that the ethernet adapters changed, and the static profiles didn’t update to match. The adapters were named something like enp6so, but used to be enp2so, for example.
The DHCP profiles matched the new device names, and the static profiles were stuck on the old names.
Changing the static profiles to match the updated device names and deleting the DHCP profiles seems to have worked for now, but I don’t know why they changed in the first place.
Glad that helped you, they shouldn’t be changing since the names are based on their location in the PCI bus instead of being generic (eth0, eth1, etc…). IIRC you can specify udev rules to name the devices what you want using UUIDs or something that way you’ll always know what they’re called. I’d suggest reading about Ethernet device naming in Linux if you want to know more.
I’ve always dealt with names like eth0 and eth1 in the past, but now I’m only getting enp2s0 and enp5s0. I assumed that it was something that had changed over the last few years that I hadn’t noticed, but I’ll look into it further. Thanks :)
Yeah,Persistent Device Naming became mainstream a few years back.
Glad that helped you, they shouldn’t be changing since the names are based on their location in the PCI bus instead of being generic (eth0, eth1, etc…). IIRC you can specify udev rules to name the devices what you want using UUIDs or something that way you’ll always know what they’re called. I’d suggest reading about Ethernet device naming in Linux if you want to know more.