Problem with DHCP on public IP / eth0: No internet connection - missing network device

Linode Staff

My Linode stopped being accessible from the internet. According to the Cloud Manager, it seems like the Linode booted up and is working, but I cannot SSH or ping it. I issued a reboot via Cloud Manager, but it had no effect. The console shows issues with DHCP. How do I fix this if I cannot SSH into my Linode?

5 Replies

We’ve noticed a recent uptick in DHCP-related networking issues on Linodes running older distribution versions, often versions that have surpassed their End Of Life (EOL) date. Because these distributions are outdated, our Network Helper tool is not compatible. Below are steps you can take to restore networking and prevent this from happening again.

Error messages

The issues usually present themselves with messages similar to this:

Jun 31 06:21:41 randomnameforaserver dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
Jun 31 06:21:44 randomnameforaserver dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
Jun 31 06:21:52 randomnameforaserver dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14
Jun 31 06:22:06 randomnameforaserver dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 16
Jun 31 06:22:22 randomnameforaserver dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 20
Jun 31 06:22:42 randomnameforaserver dhclient: No DHCPOFFERS received.
Jun 31 06:22:42 randomnameforaserver dhclient: No working leases in persistent database - sleeping.

Or in the boot sequence as:

[FAILED] Failed to start Create list of required static devic...current kernel.
See 'systemctl status kmod-static-nodes.service' for details.

Connecting to your Linode

Regardless of how it presents itself on the Linode, you’ll find networking is broken and you are unable to access the Linode by normal means. Because of this, you’ll need to use Lish (Linode Shell), an out-of-band connection to your Linode that will allow you access to address any issues affecting network connectivity.

The fix

Once connected through Lish, you need to statically configure networking for your Linode. Our Linux Static IP Configuration guide covers the steps for varying distributions. You’ll need to edit configuration files and then apply those changes. If you’ve tried other solutions like using Network Helper, make sure that Network Helper for the Linode is disabled.

When you apply the static IP configuration, networking should return to your Linode. In some cases, we’ve seen iptables having trouble with checksum checks on the traffic. You’ll see the output in the console that looks like this:

dhcpcd[484]: eth0: soliciting an IPv6 router
dhcpcd[484]: eth0: soliciting a DHCP lease
dhcpcd[484]: eth0: checksum failure from 10.20.30.040
dhcpcd[484]: eth0: checksum failure from 10.20.30.040
dhcpcd[484]: eth0: checksum failure from 10.20.30.040
dhcpcd[484]: eth0: checksum failure from 10.20.30.040
dhcpcd[484]: eth0: Router Advertisement from fe80::76
dhcpcd[484]: eth0: adding address 2a01:fe80::fe80:fe80:1982:79b1/64
dhcpcd[484]: eth0: adding route to 2a01:fe80::/64 via fe80::76
dhcpcd[484]: eth0: adding default route via fe80::76
dhcpcd[484]: eth0: checksum failure from 10.20.30.040
dhcpcd[484]: eth0: checksum failure from 10.20.30.040
dhcpcd[484]: eth0: checksum failure from 10.20.30.040


If you have these checksum errors in the Lish console, this command will clear those out:
iptables -A POSTROUTING -t mangle -p udp --dport 67 -j CHECKSUM --checksum-fill

Prevention

Now, how to avoid this in the future?

To avoid this in the future, you’ll need to update the DHCP client on your Linode. This will depend on which client you have. For some Debian-derived distributions, there is a known issue with the isc-dhcp package, with updates available. Another DHCP client tool on Debian is DHCP_Client. Arch uses the dhcpcd DHCP client.

If you’re not sure if you’re Linode is running an EOL’d distribution, most distributions will publish EOL schedules. Here’s the schedule for two of the most popular Debian-based operating systems:

Debian: https://wiki.debian.org/DebianReleases
Ubuntu: https://ubuntu.com/about/release-cycle

While not Debian, we’ve also seen this on Linodes running old versions of Arch. Here is the Arch EOL schedule:

Arch: https://archlinux.org/releng/releases/

I am seeing this problem even after updating to the latest Debian release, the only way to get my server back running was to keep the static config. The DHCP Client info and links above are unhelpful, isc-dhcp-client is the default, and as far as I can tell, the only, standalone dhcp client for Debian, and the updated version reference there is only available in unstable.

This seems like something that really got broken on the Linode end in the last few days.

in my case (Ubuntu 10.04) the solution was in interfaces.
Only when I've added netmask parameter the problem disappeared.

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

auto eth0
iface eth0 inet static
address xxx.xx.xxx.xx/24
netmask 255.255.255.0
gateway xxx.xx.xxx.1

DNS resolvers for resolvconf. Can mix IPv4 and IPv6.

dns-nameservers 212.71.253.5 109.74.192.20 109.74.193.20
dns-options rotate

In my case, the Linode's Cloud Firewall is interfering with the DHCP's ability to attain the IP address when booting.

With Cloud Firewall off, it works.
With Cloud Firewall on, it failed.

Same here. Linode firewall on and ipv4 fails. ipv6 works. Linode Firewall off, and everything works.
I have 3 linodes behind this firewall but it only happens to one of them.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct