User:Lzhang45/sandbox

ifupdown (network interface manager) introduction
Ifupdown is a network interface manager for Linux. The ifupdown package provides a standardized framework for the high level network configuration.

Features
The tool configures network by setting configuration files to make this job simple and automatic. By editing system file "/etc/network/interfaces", users can easily change network configuration.

Ifupdown also provides useful softwares ifup and ifdown. They offer high level network configuration dictated by the configuration file "/etc/network/interfaces". Ifup is for bringing a network interface up and ifdown is for taking a network interface down.

Ifupdown can be used to set up various interfaces, such as loopback network interface, network interface served by the DHCP, wireless LAN interface and so on.

history
The first version ifuodown 0.6.4-4.8 was published in 2006 and was applied by Ubuntu system. Up to 2016, this tool has published 199 versions on Ubuntu and 99 versions on Debian. The latest version is ifupdown 0.8. An updated tool ifupdown2 is available to improve the limitations of existing network interface configuration.

Basic Usage
A basic way to configure network is, first edit file "/etc/network/interfaces", then use basic ifup/ifdown command to bring up or take down a interface.

Basic syntax of file "/etc/network/interfaces"
Start interface  upon start of the system. Start interface  when the kernel detects a hotplug event from the interface. Define the network configuration . Define mapping value of  for the matching . Ignore as comments (end-of-line comments are not supported). Extend the configuration to the next line.
 * auto 
 * allow-hotplug 
 * Lines started with "iface  ..."
 * Lines started with "mapping "
 * A line starting with a hash "#"
 * A line ending with a backslash "\"

Basic network configuration commands
Bring up a network interface  with the configuration  if "iface " stanza exists in file "/etc/network/interfaces". Take down a network interface  with the configuration  if "iface " stanza exists in file "/etc/network/interfaces".
 * ifup 
 * ifup <interface_name>

Basic Usage Example
Here is an example of file "/etc/network/interfaces" in Debian operating system.

There are two interfaces configured in this example: eth0 interface and loopback network interface.

Updated Version
An updated version of ifupdown is Ifupdown2, which is for Cumulus Linux 2.1 and later uses. There are some notable differences between the two versions. However, the Ifupdown2 is backward compatible with ifupdown. Some commands are different in ifupdown2.

Ifupdown2 is introducing to solve existing shortcomings when applied to network switches.
 * The lack of ability to handle interface dependencies.
 * Incremental updates to interface configuration without disruption.
 * Interface configuration validation.