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?

  • wildbus8979
    arrow-up
    5
    arrow-down
    0
    ·
    9 days ago
    edit-2
    9 days ago
    link
    fedilink

    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 exchanged

  • bloodfart
    arrow-up
    3
    arrow-down
    0
    ·
    8 days ago
    link
    fedilink

    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.

      • bloodfart
        arrow-up
        2
        arrow-down
        0
        ·
        6 days ago
        link
        fedilink

        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.

        • JackGreenEarthOPEnglish
          arrow-up
          1
          arrow-down
          0
          ·
          6 days ago
          link
          fedilink

          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’

          • bloodfart
            arrow-up
            2
            arrow-down
            0
            ·
            6 days ago
            link
            fedilink

            Oh, you’re not using networkd. That’s no problem. ip link set ens6f1 up should do the same ish thing.

            • JackGreenEarthOPEnglish
              arrow-up
              1
              arrow-down
              0
              ·
              6 days ago
              link
              fedilink

              The first time I tried it it had the connected icon but no actual network connection, the second time it didn’t do anything

              • bloodfart
                arrow-up
                2
                arrow-down
                0
                ·
                6 days ago
                link
                fedilink

                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?

                • JackGreenEarthOPEnglish
                  arrow-up
                  1
                  arrow-down
                  0
                  ·
                  6 days ago
                  link
                  fedilink

                  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

  • False
    arrow-up
    3
    arrow-down
    0
    ·
    8 days ago
    link
    fedilink

    Just to cover the obvious:

    1. Double check the cable is plugged in
    2. Double check that you have a green light on the NIC
  • bbbhltz
    arrow-up
    3
    arrow-down
    0
    ·
    9 days ago
    link
    fedilink

    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

    • Possibly linuxEnglish
      arrow-up
      3
      arrow-down
      0
      ·
      8 days ago
      link
      fedilink

      Not necessarily as that hardware is older. It is better to check to see what is in dmesg and ip a first.

  • giacomo
    arrow-up
    2
    arrow-down
    0
    ·
    9 days ago
    link
    fedilink

    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.

    • JackGreenEarthOPEnglish
      arrow-up
      1
      arrow-down
      0
      ·
      9 days ago
      link
      fedilink

      Sorry, I’m quite new to this, but how do I check that?

      • redpotatoesEnglish
        arrow-up
        3
        arrow-down
        0
        ·
        8 days ago
        link
        fedilink

        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.

        • JackGreenEarthOPEnglish
          arrow-up
          1
          arrow-down
          0
          ·
          6 days ago
          link
          fedilink

          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.

  • data1701d (He/Him)English
    arrow-up
    2
    arrow-down
    0
    ·
    7 days ago
    link
    fedilink

    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.

  • hungover_pilot
    arrow-up
    2
    arrow-down
    0
    ·
    9 days ago
    link
    fedilink

    If you set a static ip can you get connectivity? Have you confirmed that your interface is still up via Ifconfig or ip link?

    • JackGreenEarthOPEnglish
      arrow-up
      1
      arrow-down
      0
      ·
      9 days ago
      link
      fedilink

      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?

      • False
        arrow-up
        2
        arrow-down
        0
        ·
        8 days ago
        link
        fedilink

        It has to be in the same subnet as your router.

      • Possibly linuxEnglish
        arrow-up
        2
        arrow-down
        0
        ·
        8 days ago
        link
        fedilink

        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)

        • JackGreenEarthOPEnglish
          arrow-up
          1
          arrow-down
          0
          ·
          6 days ago
          link
          fedilink

          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

            • JackGreenEarthOPEnglish
              arrow-up
              1
              arrow-down
              0
              ·
              6 days ago
              link
              fedilink

              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?

              • Possibly linuxEnglish
                arrow-up
                2
                arrow-down
                0
                ·
                6 days ago
                link
                fedilink

                I’m looking for the private IP. (The one your router has on the inside network)

                • JackGreenEarthOPEnglish
                  arrow-up
                  1
                  arrow-down
                  0
                  ·
                  6 days ago
                  link
                  fedilink

                  How do I find that? Is it written on the router somewhere, or is there a command to run to find it?

  • OneCardboardBoxEnglish
    arrow-up
    2
    arrow-down
    1
    ·
    8 days ago
    link
    fedilink

    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?

  • IllNess
    arrow-up
    1
    arrow-down
    0
    ·
    9 days ago
    link
    fedilink

    Do you have another NIC? Maybe the card died?

    • JackGreenEarthOPEnglish
      arrow-up
      1
      arrow-down
      0
      ·
      9 days ago
      link
      fedilink

      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

      • IllNess
        arrow-up
        3
        arrow-down
        1
        ·
        9 days ago
        link
        fedilink

        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.

  • EugeniaEnglish
    arrow-up
    3
    arrow-down
    2
    ·
    9 days ago
    edit-2
    9 days ago
    link
    fedilink

    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.

    • JackGreenEarthOPEnglish
      arrow-up
      1
      arrow-down
      0
      ·
      9 days ago
      link
      fedilink

      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?

      • EugeniaEnglish
        arrow-up
        4
        arrow-down
        0
        ·
        9 days ago
        link
        fedilink

        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.

        • Possibly linuxEnglish
          arrow-up
          1
          arrow-down
          0
          ·
          8 days ago
          link
          fedilink

          They could also install a newer kernel from backports

  • Possibly linuxEnglish
    arrow-up
    1
    arrow-down
    0
    ·
    8 days ago
    link
    fedilink

    Have you verified the issue isn’t a problem upstream in the network? Try plugging in a different device.

    • JackGreenEarthOPEnglish
      arrow-up
      2
      arrow-down
      0
      ·
      8 days ago
      link
      fedilink

      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.