File: ifscheme.8

package info (click to toggle)
ifscheme 1.7-6
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 240 kB
  • sloc: sh: 925; makefile: 5
file content (107 lines) | stat: -rw-r--r-- 3,347 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
.TH IFSCHEME 8 "" "" "Commands"
.SH NAME
ifscheme \- scheme control for network interfaces
.SH SYNOPSIS
.B ifscheme [\fI-v\fP] [[\fI-s\fP] newscheme]
.TP
.B mapping <interface> script ifscheme-mapping
.SH DESCRIPTION
.I ifscheme
allows you to change network configuraton schemes or query the current
scheme. It integrates with the
.BR ifup (8)
command and
.BR 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 your networking.
.P
If you run the program with no parameters, it will tell what the current
network scheme is. 
.P
The ifscheme-mapping utility is used to tell the ifup and ifdown utilities
about the current scheme.
.SH OPTIONS
.TP
.B -v
.TP
.B --verbose
Run in verbose mode. This is passed in to the ifup and ifdown programs as
well.
.TP
.B -l
.TP
.B --list
list all schemes available/defined in /etc/network/interfaces.
.TP
.B newscheme
.TP
.B -s newscheme
.TP
.B --scheme newscheme
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 \-.
.SH CONFIGURATION
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:
.P
  auto eth0
  
  iface eth0 inet static
  	address 192.168.1.5
  	netmask 255.255.255.0
  	gateway 192.168.1.1
.P
To change this so you can chose between static routing and dhcp, replace it
with the following (it helps to ifdown the interface first).
.P
  auto eth0
  
  mapping eth0
  	script ifscheme-mapping

  iface eth0-home inet static
  	address 192.168.1.5
  	netmask 255.255.255.0
  	gateway 192.168.1.1
  
  iface eth0-work inet dhcp
.P
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 interface>-<scheme name>.
.P
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.
.SH FILES
.TP
.I /etc/network/interfaces
the interfaces definition file
.TP
.I /etc/network/run/scheme
the current scheme
.TP
.I /etc/network/run/ifstate
a record of the current state of the interfaces, managed by ifup and ifdown
.SH BUGS
All schemed interfaces will have the same scheme.
.P
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.
.SH "SEE ALSO"
.BR interfaces (5)
.BR ifup (8)
.BR ifdown (8)
.SH DISTRIBUTION
Redistribution is subject to the GNU public license.
.SH AUTHORS
Joey Hess <joey@kitenet.net>,
Peter Wilson <pwilson@cs.hmc.edu>