I’m having trouble getting an IP address via DHCP on my HP ProLiant DL380 Gen9 server running Debian. I’ve tried various troubleshooting steps, but nothing seems to work.
Error messages:
- “No DHCPOFFERS received”
- “No working leases in persistent database - sleeping”
- “Activation of network connection failed” (GNOME)
- “IP configuration unavailable” (Plasma)
Hardware:
- HP ProLiant DL380 Gen9 server
Software:
- Debian operating system
- GNOME and Plasma desktop environments
Troubleshooting steps:
- Checked network cable and ensured it’s properly connected
- Restarted network service
- Set /etc/NetworkManager/NetworkManager.conf managed=true
Additional information:
- Internet worked during the Debian installation process, but not after booting into the installed system.
- The problem occurs on both GNOME and Plasma desktop environments, but Plasma provides a slightly more helpful error message.
I’d appreciate any help or guidance on resolving this issue. Has anyone else experienced similar problems with DHCP on a HP ProLiant DL380 Gen9 server with Debian?
Try using
tcpdump -vvv port 67 or port 68
(add-i <interface name>
if you have more than one interface) to see what is being exchangedtcpdump: unknown command
Download the package (and probably libpcap) off another machine and install it locally on a usb key
deleted by creator
no network connection
You are missing the middle of your troubleshooting process.
Everything is physically plugged in, your dhcp device is doing its thing and the wire works.
But does your os see the card? Post the output of ip address show to find out!
If you wanna jump to the end, and I recommend you do not do that, your os has most likely recognized and automatically selected the fiber interface instead of the cat5 one.
ens6f1 looks to be your interface. I think you’re using networkd, sudo networkctl up ens6f1 ought to bring it up.
You can use systemctl enable to make it work every reboot.
The first command didn’t work as networkd wasn’t started, so I tried to start it with networkctl start networkd, but it said ‘failed to start networkd.service: Unit networkd.service not found’
Oh, you’re not using networkd. That’s no problem. ip link set ens6f1 up should do the same ish thing.
The first time I tried it it had the connected icon but no actual network connection, the second time it didn’t do anything
Okay. I didn’t realize you were using a graphical environment. Shouldn’t change anything.
When you say no actual network connection, can you show that with ip address show ens6f1?
It’s not doing what it was before now, now it’s just showing the ‘activation of network connection failed’ error. But before when I ran the up command it had the connected sign, and said it was connected in the GUI, but when I tried accessing any website it wasn’t able to, and I don’t have any firewall installed, so I assumed that the connection wasn’t working.
The result for ip address show ens6f1 is now the same as before
12: ens6f1: <BROADCAST, MULTICAST, UP, LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 14:02:ec:7d:52:f1 brd ff:ff:ff:ff:ff:ff
altname enp129s0f1
inet6 fe80::1602::ecff::fe7d::52f1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
You might have to bring this question over to the Debian Forum. I don’t work with servers, but as noted above this sounds like a situation where you need to install a newer version of the kernel.
You could try using the Testing ISO https://wiki.debian.org/DebianTesting
Not necessarily as that hardware is older. It is better to check to see what is in dmesg and ip a first.
Just to cover the obvious:
- Double check the cable is plugged in
- Double check that you have a green light on the NIC
If
ip a
shows your NIC, I’d recommend checking your networking settings (you can do this via GUI in your DE’s settings) to see if everything is set correctly e.g is automatic DHCP enabled? (It seems so, based on the error messages. That’s just an example.)I had a situation the other day where my laptop ethernet port was being assigned to an oddball subnet that had no network connection. As it turned out, I had set the port to share internet in order to set up a Google TV (my dorm network requires a MAC address, but the TV had an old version where you couldn’t get the MAC address until after TV setup, which required a network connect) and had never reversed the setting.
Yeh, something is borked with your network settings. The port that’s connected seems to be trying to connect over IPv6, but unless you’re doing something weird, it should be IPv4 It should be in your network settings GUI.
Proliant G9 is an EoL server that hasn’t been sold since 2018. Meanwhile, Debian bookworm released last year. I’d be surprised if the problem were that your installer gave you a kernel that’s too old.
What is the output of
ip addr show
?That doesn’t make sense. Anyway the Debian kernel isn’t really that old as Debian gets a new release every 2 years and the kernel gets ongoing maintenance while the release is supported.
does the dhcp server show anything? like incomplete offers? you can try setting a static, using an IP that isnt assigned by the dhcp server.
Sorry, I’m quite new to this, but how do I check that?
Do you know where your DHCP server is? What are you plugging your Debian server’s network cable into? I understand that networking apparently worked while you were installing Debian, and it’s unclear why that would have changed, but if I were in your position the first things I would suspect would be something with the DHCP server itself (like it stopped running or ran out of addresses), or a lack of connectivity between the Debian server and the DHCP server.
In other words, I’d start troubleshooting with your network, but it’s hard to suggest specifics because we don’t know anything about your network. One simple thing to try might be to restart your router. For most home networks, that’s where the DHCP server will be, and it should start up on boot.
I checked with my laptop, and the same cable provided internet there, which makes me think it’s something to do with the software on the server.
If you set a static ip can you get connectivity? Have you confirmed that your interface is still up via Ifconfig or ip link?
I wouldn’t know how to do that. Would I have to find out what specific IP to set it to, or would any random one work?
It has to be in the same subnet as your router.
You need an IP that is in the same subnet as the rest of the network. Take your gateway IP and then find the subnet mask. (It is probably a /24 which is 255.255.255.0)
Next pick a random ending number (x.x.x.67 for example). Try to ping it from a different device to make sure that it isn’t in use. Once you do that you can set it on the server. Go to network and then set it to manual. Set the IP, subnet mask and gateway IP. Then try to ping the gateway. If that fails you have a layer 1 problem (hardware)
I set the manual ipv4 to 192.168.0.72, and it says it’s connected - it doesn’t have any ‘activation of network connection failed’ error messages, but it doesn’t seem to actually have any internet either
That’s good. What’s your routers IP address?
62.49.7.152 is my public IP, if that’s what you mean. How do I use that information, other than allowing others to know my approximate location?
I’m looking for the private IP. (The one your router has on the inside network)
How do I find that? Is it written on the router somewhere, or is there a command to run to find it?
What is the output of
ip a
Do you have another NIC? Maybe the card died?
Immediately after I installed Debian and before I booted into it? I guess I could try installing it again to see if the installer has internet still
You seem to be doing everything right including software wise. I would try to see if the card is dead. If you can rule that out, then you can continue trouble shooting. I am just trying to rule out simple answers.
I believe the installer version of Debian uses a newer kernel than the one it installs later, that’s why your ethernet worked during installation. Sounds like a borked driver for the specific ethernet adapter and the older kernel. Get a usb-2-ethernet adapter, and retry to update the system, in case you get a newer kernel after updating it.
Thanks for the tip! So, just to clarify, you think that if I used an Ethernet female to USB2 male adapter, the drivers might work correctly? Might trying a different distro also work? I already tried Fedora and something else, maybe Manjaro? They didn’t even get to the install screen, but maybe I should try some others that have newer drivers. Any recommendations?
Instead of re-installing, just use a usb ethernet adapter and see if that works. Linux supports most of them, but do some checking regardless online for the most compatible ones. Then update the system, remove that usb adapter, rebot. Now see if the original ethernet works. If still not, then continue using the usb adapter as your main source for networking.
They could also install a newer kernel from backports
Have you verified the issue isn’t a problem upstream in the network? Try plugging in a different device.
I did do that, the same Ethernet cable gives internet to my other device, and it also worked while installing the OS on the same device, as I mentioned in the post.