For setting a static IP for the Raspberry Pi 2 on the latest Raspbian release available at this time (20150505 through NOOBS v1.4.1), the old method modifying the /etc/network/interfaces file isn’t so efficiency as before. In fact, if you modify the /etc/network/interfaces by setting eth0 to static instead of manual (the default setting) your Raspberry Pi will get two IP adresses for the same eth0 interface. This sucks.
The “faulty” is the dhcpcd daemon, which is a DHCP client that seems to be run before the parsing of the /etc/network/interfaces file.
So you have 3 options there:
- Setting like before in /etc/network/interfaces then disabling the dhcpcd daemon, with the sudo update-rc.d -f dhcpcd remove command (you can revert back with sudo update-rc.d dhcpcd defaults). But really, don’t do this;
- Add a static DHCP entry for your Raspberry Pi in your router/gateway configuration;
- Force the dhcpcd daemon to get the IP you like. It’s really the best solution for me.
To implement the latest solution, just sudo nano /etc/dhcpcd.conf then at the end of the file, add the following:
# Custom static IP address for eth0.
Of course, adjust the IP as you wish. the 192.168.0.1 IP address is referring to my ISP router.
After this modification, restart the network interface or just perform a reboot. Now, your Raspberry Pi will have only one static address!
Note: For those that dislike to set a hard-coded IP, the second solution is the best of course.