/etc/network/interfaces
The /etc/network/interfaces file is used to configure network interfaces on Debian-based Linux distributions (such as Ubuntu, Debian, and others). This file contains network settings that define how each interface is configured, whether through static IP, DHCP, or manual configuration.
Structure of /etc/network/interfaces
/etc/network/interfacesThe file is made up of sections that define the configuration for individual network interfaces. Each section can include settings such as IP addresses, netmasks, gateways, and other network options.
Here are the key configuration options commonly used in the /etc/network/interfaces file:
Common Directives
iface: This defines a network interface and its associated configuration.
iface <interface> <method>: The interface (<interface>) is configured using the specified method (<method>).
auto: Automatically brings up the network interface during boot.
allow-hotplug: Brings up the interface when it's detected (without waiting for boot).
address: Specifies the static IP address.
netmask: Specifies the subnet mask.
gateway: Specifies the default gateway.
dns-nameservers: Specifies the DNS server addresses.
dns-search: Specifies the DNS search domain.
dhcp: Indicates that the interface should use DHCP for obtaining network settings automatically.
bridge_ports: Defines the interfaces to be added to a bridge.
bridge_stp: Enables or disables Spanning Tree Protocol (STP) on the bridge.
vlan-raw-device: Associates a VLAN interface with a physical network interface.
Example Configuration
Static IP Configuration
This example configures an interface
eth0with a static IP address.# /etc/network/interfaces # Loopback interface auto lo iface lo inet loopback # Ethernet interface with static IP auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4The
eth0interface is set with the static IP192.168.1.100, netmask255.255.255.0, and gateway192.168.1.1. DNS servers are set to Google's8.8.8.8and8.8.4.4.
DHCP Configuration
This example configures the interface
eth0to obtain its IP address via DHCP.# /etc/network/interfaces # Loopback interface auto lo iface lo inet loopback # Ethernet interface using DHCP auto eth0 iface eth0 inet dhcpThe
eth0interface is set to use DHCP to automatically obtain an IP address.
Multiple Interfaces with Static IPs
You can configure multiple interfaces with static IP addresses.
# /etc/network/interfaces # Loopback interface auto lo iface lo inet loopback # First Ethernet interface auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 # Second Ethernet interface auto eth1 iface eth1 inet static address 192.168.2.100 netmask 255.255.255.0The system has two interfaces:
eth0andeth1, each with a static IP.
Bridge Configuration
If you're using network bridging, you can configure a bridge interface like this:
# /etc/network/interfaces # Loopback interface auto lo iface lo inet loopback # Bridge interface (br0) auto br0 iface br0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports eth0 eth1 bridge_stp offThe bridge interface
br0is created by combiningeth0andeth1and is assigned a static IP.
VLAN Configuration
If you're using VLANs, you can create a VLAN interface as follows:
# /etc/network/interfaces # Loopback interface auto lo iface lo inet loopback # VLAN configuration auto vlan10 iface vlan10 inet static address 192.168.10.100 netmask 255.255.255.0 vlan-raw-device eth0This configuration creates a VLAN interface
vlan10oneth0with a static IP.
Allow Hotplugging an Interface
If you want an interface to be automatically brought up when it's plugged in (e.g., for USB network devices), you can use
allow-hotplug.# /etc/network/interfaces # Loopback interface auto lo iface lo inet loopback # Hotplugging an interface (e.g., eth0) allow-hotplug eth0 iface eth0 inet dhcpThe interface
eth0is configured to automatically come up when it is detected and use DHCP.
Managing Network Interfaces
After making changes to /etc/network/interfaces, you can apply them using the following commands:
Restart the networking service to apply the changes:
sudo systemctl restart networkingBring up an interface manually:
sudo ifup eth0Bring down an interface manually:
sudo ifdown eth0Check the interface status:
ip a show eth0
Conclusion
The /etc/network/interfaces file is a key configuration file for network interfaces on Debian-based Linux systems. It allows you to configure interfaces for static IPs, DHCP, bridges, VLANs, and hotplugging. After editing this file, network changes can be applied by restarting the networking service or bringing interfaces up/down manually.
Last updated