ifscheme - scheme control for network interfaces
ifscheme [-v] [[-s] newscheme]
mapping <interface> script ifscheme-mapping
ifscheme allows you to change network configuraton schemes or query the
current scheme. It integrates with the ifup(8) command and
interfaces(5). For example, you might use this program to configure a
"home" scheme and a "work" scheme for a network device on a laptop.
When you move between home and work, a simple command can reconfigure
If you run the program with no parameters, it will tell what the
current network scheme is.
The ifscheme-mapping utility is used to tell the ifup and ifdown
utilities about the current scheme.
Run in verbose mode. This is passed in to the ifup and ifdown
programs as well.
--list list all schemes available/defined in /etc/network/interfaces.
Change to a new network configuration scheme. When the scheme
is changed, network interfaces that were using the old scheme
will be taken down and brought back up to use the new
configuration scheme. -s or --scheme are mandatory if newscheme
begins with a -.
To make the program do anything useful when a scheme is selected, you
must edit /etc/network/interfaces to add a mapping for the interface
(or interfaces) that can be controlled on a per-scheme basis. Suppose
you want to control eth0 in this way. You might have an existing eth0
configuraton in there, such as:
iface eth0 inet static
To change this so you can chose between static routing and dhcp,
replace it with the following (it helps to ifdown the interface first).
iface eth0-home inet static
iface eth0-work inet dhcp
Now if you run "ifscheme home" and ifup the interface, you'll get the
eth0-home configuration stanza. If you run "ifscheme work", it will be
changed to the eth0-work stanza. You can add additional stanzas as
desired, but the label must always be of the form <hardware
If you have a second interface (perhaps a wireless network card on
eth1), you can duplicate the above for that interface, changing the
eth0 and the configuration details as appropriate, but remember to add
an iface stanza for every scheme name for the second interface.
the interfaces definition file
the current scheme
a record of the current state of the interfaces, managed by ifup
All schemed interfaces will have the same scheme.
Any schemed interface which does not have an entry for the current
scheme and is not configured when the scheme is changed will not be
successfully configured when it is brought up.
interfaces(5) ifup(8) ifdown(8)
Redistribution is subject to the GNU public license.
Joey Hess <firstname.lastname@example.org>, Peter Wilson <email@example.com>