Raspberry PIs have become somewhat of a standard in home automation setups. But if you have recently upgraded to the latest Raspbian image you may have been caught out with one of the latest changes (especially if you don’t use DHCP on your network).
The network used to be configured in the file /etc/network/interfaces, and changing from DCHP to static addresses used to involve finding the line:
iface eth0 inet dhcp
and changing it to
iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1
where the values in italics change according to your network.
However if you look at the interfaces file now, you will see that the entry for eth0 has been changed to “manual”. You can still make the old changes, but these will be ignored.
There are a couple of ways to fix this.
The new behaviour is caused by the new DHCP client, which is in a package dhcpcd5, you can remove this by typing
sudo apt-get remove dhcpcd5
You will also need to add the line
before the iface command in /etc/network/interfaces
However this removes DHCP for all interfaces (which you may not want to do), so an alternative is to just change the (new) DHCP config.
Editing the file /etc/dhcpcd.conf and adding to the bottom:
interface eth0 static ip_address=192.168.1.2/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
Will force a static IP address for that interface (while leaving the others free).