Raspberry Pi Setting a Static IP

The Raspberry Pi is automatically set to obtain an IP address from your wired or wireless network.  Why does the Raspberry Pi need an IP address?  This address is needed so that any traffic destined for your Raspberry Pi will be able to find it on the network.

This is method of obtaining an IP address is called DHCP or Dynamic Host Configuration Protocol.  It is sometimes referred to as a dynamic IP.  Your router will normally distribute these IP addresses but it isn’t guaranteed that it will get the same IP address every time.  This can cause problems if you are trying to connect to your Raspberry Pi remotely.

The big book of raspberry pi Raspberry Pi Books

So how do you set a static IP address?

Login and enter the following command

cat /etc/network/interfaces

The line below is referring to the eth0 interface and that is should use DHCP.

iface eth0 inet dhcp

To change this line to a static IP address, enter the following command to retrieve your existing IP address and network information.

sudo ifconfig

Make a note of your current IP address, the broadcast IP and the Mask.  This is represented by the

inet addr: [CHANGE]
Bcast: [CHANGE]

One last thing that is required is the gateway.  This is in most cases your routers internal IP address.

Enter the following

sudo route -nee

Make a note of Gateway address.

Next you need to edit the interfaces file to set this static information.  Enter the following command.

sudo nano /etc/network/interfaces

Remove the line that reads

iface eth0 inet dhcp

Add the following

iface eth0 inet static

Save the file by pressing CTRL-X and select Y to save the changes.

When the raspberry Pi reads this file when booting up, it will look at the interface eth0 and set it to a static IP address.  I will set the IP address to, the network to, the broadcast address and the gateway address so that it can find its way out of the network.

Reboot your Raspberry Pi with the following command

sudo reboot

Login back in and enter the following.

ping -c5

This will ping your gateway address or router and will return :

64 bytes from icmp_req=1 ttl=255 time=2.18
64 bytes from icmp_req=2 ttl=255 time=2.43
64 bytes from icmp_req=3 ttl=255 time=3.24
64 bytes from icmp_req=4 ttl=255 time=2.20
64 bytes from icmp_req=5 ttl=255 time=3.37

One last thing that needs to be modified is the /etc/resolv.conf file.  This file contains information of DNS name resolvers that allow your raspberry pi to resolve names to IP addresses.  For example, if you ping www.suntimebox.com the raspberry pi will have to determine the IP address of www.suntimebox.com.

Enter the following command to edit the resolv.conf file.

sudo nano /etc/resolv.conf

Enter the follow Google public dns server IP address.

name server

Press CTRL-X to exit but remember to save the file by accepting the changes.

If you prefer, you can always make a reservation on your router or server.  For this you will have to make a note of the hardware address when you enter the

sudo ifconfig

command.  The hardware address is represent as the HWaddr: 08:00:22:ef:65:bc.  Note that your hardware address will be different.

Please let me know if I have missed anything or you want to add something that will benefit someone or a comment saying thank you would be nice.  It makes it all worthwhile knowing that I helped someone and if I didn’t, let me know where I went wrong.

Please Donate. We have issues.

The information on this site has been created by volunteers in their own time because they have a passion to learn and to teach others. If you find this information useful please consider contributing something so that they know their efforts are appreciated.


Next Raspberry Pi Week 4 - Overview >>