Objective
The objective is to configure a static IP address on Debian Linux server.Please note that for Desktop installations it is recommended to use GUI tools, such as
network-manager
. If you wish to configure your network interfaces directly via /etc/network/interfaces
file on your Desktop, make sure you disable any other possibly interfering network configuration daemons. For example, the below commands will disable network-manager
:# systemctl stop NetworkManager.service # systemctl disable NetworkManager.service
Operating System and Software Versions
- Operating System: - Debian 9 (Stretch)
Requirements
Privileged access to your Debian Linux system is required.Difficulty
EASYConventions
- # - requires given linux commands to be executed with root privileges either directly as a root user or by use of
sudo
command - $ - requires given linux commands to be executed as a regular non-privileged user
Instructions
Enable Static IP
By default you will find the following configuration within the/etc/network/interfaces
network config file:source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcpUpdate the
iface eth0 inet dhcp
to iface eth0 inet static
. The resulting content of /etc/network/interfaces
network config file should look similar to the one below:source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static
Configure IP Address
At this stage, we have two choices on how to configure a static IP address for oureth0
network interface. The first option is to add IP address configuration directly into /etc/network/interfaces
file. Append the following line to your existing /etc/network/interfaces
:address 10.1.1.125 netmask 255.0.0.0 gateway 10.1.1.1The resulting content
/etc/network/interfaces
file should look like the one below. Update your IP address, netmask and gateway as necessary:source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 10.1.1.125 netmask 255.0.0.0 gateway 10.1.1.1The second and recommended option is to define your network interfaces separately within
/etc/network/interfaces.d/
directory. During the
networking
daemon initiation the /etc/network/interfaces.d/
directory is searched for network interface configurations. Any found network configuration is included as part of the /etc/network/interfaces
. Create a new network configuration file with any arbitrary file name eg.
eth0
and include the eth0
IP address configuration shown below. To do this use your preferred text editor for example vim:# cat /etc/network/interfaces.d/eth0 iface eth0 inet static address 10.1.1.125 netmask 255.0.0.0 gateway 10.1.1.1Now, remove the above lines stated from
/etc/network/interfaces
so you will end up with:# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0
Static DNS server
To configure a static DNS edit/etc/resolv.conf
file, and include the IP address of your preferred nameserver
eg:nameserver 8.8.8.8Alternatively, add the following line into your
/etc/network/interfaces
network config file:dns-nameservers 8.8.8.8 8.8.4.4
Apply Changes
To apply changes restart your network daemon:# service networking restart