I've moved house and internet provider + router, so this may be the source of the problem. My pi was working fine prior to this.

My pi (running raspian) has a static IP (on eth0), and I can ssh fine from within my network. However, I can't connect to the internet (i.e. ping google). Can someone point me to where to go from here?


pi@raspberrypi:~ $ ping
connect: Network is unreachable

pi@raspberrypi:~ $ ip r dev eth0 proto dhcp scope link src metric 202

pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION="10 (buster)"

pi@raspberrypi:~ $ cat /etc/dhcpcd.conf
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.

# Use the hardware address of the interface for the Client ID.
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.

# Persist interface configuration when dhcpcd exits.

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# Most distributions have NTP support.
#option ntp_servers

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
# OR generate Stable Private IPv6 Addresses based from the DUID
slaac private

# Example static IP configuration:
interface eth0
static ip_address=
interface wlan0
static ip_address=
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=
static domain_name_servers=

# It is possible to fall back to a static IP if DHCP fails:
# define static profile
#profile static_eth0
#static ip_address=
#static routers=
#static domain_name_servers=

# fallback to static profile on eth0
#interface eth0
#fallback static_eth0

  • Try ping which will tell you whether the problem is routing or DNS. Try ip r to be sure the gateway the Pi is using actually points to your new router. Please edit the results from this test into your question rather than replaying as a comment. – Bob Brown Apr 2 at 13:35
  • It would also help to know the version of Raspbian (things changed between Jessie and Stretch) and a copy of the /etc/dhcpcd.conf file if using Stretch and Buster (though the ip r command will give the router settings). – Andyroo Apr 2 at 17:14

You have discovered one of the drawbacks of setting a Static IP address - You need to change it each time you change networks.

If you let the router do its job and assign via DHCP it would work automatically.

I recommend restoring normal network settings - See How to set up networking/WiFi

If REALLY must set a Static IP address you need to configure it from scratch for each new router. See How to set up Static IP Address

NOTE your original dhcpcd.conf is incomplete - you have not set a gateway for Ethernet.

To set a static gateway specify like the following, but use the values derived from your network, as described in the How to set up Static IP Address link.

   interface eth0
   static ip_address=
   static routers=
   static domain_name_servers=

To restore to DHCP routing just remove (or comment out) ALL interface… entries i.e. containing static etc.

| improve this answer | |
  • Thanks for this. Are you able to provide some extra guidance on setting this back to normal? I've tried to set things back to default - commenting out everything in /etc/dhcpcd.conf. I'm finding I can now ping but not google.com. My resolv.conf is: ``` pi@raspberrypi:~ $ cat /etc/resolv.conf # Generated by resolvconf search hub nameserver 2405:6e00:268c:e0a8:22b0:1ff:fe9b:8ea2 ``` Also, how should I set the gateway for ethernet, if that is missing? Cheers – Albatross Apr 3 at 8:55
  • Do NOT put detail in Comments, edit your Question. It appears your router is using IPv6. I can't tell you what your router settings are. – Milliways Apr 3 at 10:04

It looks like your dhcpd.conf is just like it was delivered, so I wonder how you set that static IP.

In any case, my scientific wild guess is that your new gateway router has a different address than at your old home. If you haven't done much customization of Raspbian, just flash a new copy onto your SD card. I think it'll work.

If you have done a bunch of customizing, undo what you did to set the static address, including specifically anything that refers to a gateway address. (If you have an extra SD card, perform the first test first, just to give yourself confidence that undoing the static address will work.)

| improve this answer | |
  • I have the following in the dhcpd.conf: ``` interface eth0 static ip_address= interface wlan0 static ip_address= #static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers= static domain_name_servers= ``` My new router actually has the same gateway address I'd rather not go for the nuke and start again option. Whilst I haven't done a heap of customizing, there's still other things I've setup I'd rather not have to redo – Albatross Apr 3 at 1:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.