1 |
pcg |
1.11 |
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) |
2 |
pcg |
1.1 |
.\" |
3 |
|
|
.\" Standard preamble: |
4 |
|
|
.\" ======================================================================== |
5 |
|
|
.de Sh \" Subsection heading |
6 |
|
|
.br |
7 |
|
|
.if t .Sp |
8 |
|
|
.ne 5 |
9 |
|
|
.PP |
10 |
|
|
\fB\\$1\fR |
11 |
|
|
.PP |
12 |
|
|
.. |
13 |
|
|
.de Sp \" Vertical space (when we can't use .PP) |
14 |
|
|
.if t .sp .5v |
15 |
|
|
.if n .sp |
16 |
|
|
.. |
17 |
|
|
.de Vb \" Begin verbatim text |
18 |
|
|
.ft CW |
19 |
|
|
.nf |
20 |
|
|
.ne \\$1 |
21 |
|
|
.. |
22 |
|
|
.de Ve \" End verbatim text |
23 |
|
|
.ft R |
24 |
|
|
.fi |
25 |
|
|
.. |
26 |
|
|
.\" Set up some character translations and predefined strings. \*(-- will |
27 |
|
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
28 |
pcg |
1.11 |
.\" double quote, and \*(R" will give a right double quote. \*(C+ will |
29 |
|
|
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and |
30 |
|
|
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, |
31 |
|
|
.\" nothing in troff, for use with C<>. |
32 |
|
|
.tr \(*W- |
33 |
pcg |
1.1 |
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
34 |
|
|
.ie n \{\ |
35 |
|
|
. ds -- \(*W- |
36 |
|
|
. ds PI pi |
37 |
|
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
38 |
|
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
39 |
|
|
. ds L" "" |
40 |
|
|
. ds R" "" |
41 |
|
|
. ds C` |
42 |
|
|
. ds C' |
43 |
|
|
'br\} |
44 |
|
|
.el\{\ |
45 |
|
|
. ds -- \|\(em\| |
46 |
|
|
. ds PI \(*p |
47 |
|
|
. ds L" `` |
48 |
|
|
. ds R" '' |
49 |
|
|
'br\} |
50 |
|
|
.\" |
51 |
pcg |
1.11 |
.\" Escape single quotes in literal strings from groff's Unicode transform. |
52 |
|
|
.ie \n(.g .ds Aq \(aq |
53 |
|
|
.el .ds Aq ' |
54 |
|
|
.\" |
55 |
pcg |
1.1 |
.\" If the F register is turned on, we'll generate index entries on stderr for |
56 |
|
|
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index |
57 |
|
|
.\" entries marked with X<> in POD. Of course, you'll have to process the |
58 |
|
|
.\" output yourself in some meaningful fashion. |
59 |
pcg |
1.11 |
.ie \nF \{\ |
60 |
pcg |
1.1 |
. de IX |
61 |
|
|
. tm Index:\\$1\t\\n%\t"\\$2" |
62 |
|
|
.. |
63 |
|
|
. nr % 0 |
64 |
|
|
. rr F |
65 |
|
|
.\} |
66 |
pcg |
1.11 |
.el \{\ |
67 |
|
|
. de IX |
68 |
|
|
.. |
69 |
|
|
.\} |
70 |
pcg |
1.1 |
.\" |
71 |
|
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
72 |
|
|
.\" Fear. Run. Save yourself. No user-serviceable parts. |
73 |
|
|
. \" fudge factors for nroff and troff |
74 |
|
|
.if n \{\ |
75 |
|
|
. ds #H 0 |
76 |
|
|
. ds #V .8m |
77 |
|
|
. ds #F .3m |
78 |
|
|
. ds #[ \f1 |
79 |
|
|
. ds #] \fP |
80 |
|
|
.\} |
81 |
|
|
.if t \{\ |
82 |
|
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
83 |
|
|
. ds #V .6m |
84 |
|
|
. ds #F 0 |
85 |
|
|
. ds #[ \& |
86 |
|
|
. ds #] \& |
87 |
|
|
.\} |
88 |
|
|
. \" simple accents for nroff and troff |
89 |
|
|
.if n \{\ |
90 |
|
|
. ds ' \& |
91 |
|
|
. ds ` \& |
92 |
|
|
. ds ^ \& |
93 |
|
|
. ds , \& |
94 |
|
|
. ds ~ ~ |
95 |
|
|
. ds / |
96 |
|
|
.\} |
97 |
|
|
.if t \{\ |
98 |
|
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
99 |
|
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
100 |
|
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
101 |
|
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
102 |
|
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
103 |
|
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
104 |
|
|
.\} |
105 |
|
|
. \" troff and (daisy-wheel) nroff accents |
106 |
|
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
107 |
|
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
108 |
|
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
109 |
|
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
110 |
|
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
111 |
|
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
112 |
|
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
113 |
|
|
.ds ae a\h'-(\w'a'u*4/10)'e |
114 |
|
|
.ds Ae A\h'-(\w'A'u*4/10)'E |
115 |
|
|
. \" corrections for vroff |
116 |
|
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
117 |
|
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
118 |
|
|
. \" for low resolution devices (crt and lpr) |
119 |
|
|
.if \n(.H>23 .if \n(.V>19 \ |
120 |
|
|
\{\ |
121 |
|
|
. ds : e |
122 |
|
|
. ds 8 ss |
123 |
|
|
. ds o a |
124 |
|
|
. ds d- d\h'-1'\(ga |
125 |
|
|
. ds D- D\h'-1'\(hy |
126 |
|
|
. ds th \o'bp' |
127 |
|
|
. ds Th \o'LP' |
128 |
|
|
. ds ae ae |
129 |
|
|
. ds Ae AE |
130 |
|
|
.\} |
131 |
|
|
.rm #[ #] #H #V #F C |
132 |
|
|
.\" ======================================================================== |
133 |
|
|
.\" |
134 |
|
|
.IX Title "GVPE 8" |
135 |
pcg |
1.11 |
.TH GVPE 8 "2008-09-01" "2.2" "GNU Virtual Private Ethernet" |
136 |
|
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes |
137 |
|
|
.\" way too many mistakes in technical documents. |
138 |
|
|
.if n .ad l |
139 |
|
|
.nh |
140 |
pcg |
1.1 |
.SH "NAME" |
141 |
pcg |
1.11 |
\&\f(CW\*(C`gvpe\*(C'\fR \- \s-1GNU\s0 Virtual Private Ethernet Daemon |
142 |
pcg |
1.3 |
.SH "SYNOPSIS" |
143 |
|
|
.IX Header "SYNOPSIS" |
144 |
|
|
\&\f(CW\*(C`gvpe\*(C'\fR [\fB\-cDlL\fR] [\fB\-\-config=\fR\fI\s-1DIR\s0\fR] [\fB\-\-no\-detach\fR] [\fB\-l=\fR\fI\s-1LEVEL\s0]\fR] |
145 |
|
|
[\fB\-\-kill\fR[\fB=\fR\fI\s-1SIGNAL\s0\fR]] [\fB\-\-mlock\fR] [\fB\-\-help\fR] [\fB\-\-version\fR] |
146 |
pcg |
1.9 |
\&\fI\s-1NODENAME\s0\fR [\fIoption...\fR] |
147 |
pcg |
1.1 |
.SH "DESCRIPTION" |
148 |
|
|
.IX Header "DESCRIPTION" |
149 |
pcg |
1.12 |
See the \fIgvpe\fR\|(5) man page for an introduction to the gvpe suite. |
150 |
pcg |
1.1 |
.PP |
151 |
|
|
This is the manual page for gvpe, the virtual private ethernet daemon. |
152 |
|
|
When started, \f(CW\*(C`gvpe\*(C'\fR will read it's configuration file to determine the |
153 |
|
|
network topology, and other configuration information, assuming the role |
154 |
pcg |
1.11 |
of node \fI\s-1NODENAME\s0\fR |
155 |
|
|
.PP |
156 |
|
|
It will then create/connect to the tun/tap device and set up a socket for |
157 |
|
|
incoming connections. Then a \f(CW\*(C`if\-up\*(C'\fR script will be executed to further |
158 |
|
|
configure the virtual network device. If that succeeds, it will detach |
159 |
pcg |
1.1 |
from the controlling terminal and continue in the background, accepting |
160 |
|
|
and setting up connections to other gvpe daemons that are part of the |
161 |
pcg |
1.11 |
same virtual private ethernet. |
162 |
pcg |
1.9 |
.PP |
163 |
|
|
The optional arguments after the node name have to be of the form: |
164 |
|
|
.PP |
165 |
|
|
.Vb 1 |
166 |
|
|
\& [I<nodename>.]var=value |
167 |
|
|
.Ve |
168 |
|
|
.PP |
169 |
|
|
If the argument has a prefix of \f(CW\*(C`nodename.\*(C'\fR |
170 |
|
|
(i.e. \f(CW\*(C`laptop.enable\-dns=yes\*(C'\fR) then it will be parsed after all the |
171 |
pcg |
1.11 |
config directives for that node, if not, it is parsed before the first |
172 |
pcg |
1.9 |
node directive in the config file, and can be used to set global options |
173 |
|
|
or default variables. |
174 |
|
|
.PP |
175 |
|
|
For example, to start \f(CW\*(C`gvpe\*(C'\fR in the foreground, with log-level \f(CW\*(C`info\*(C'\fR on |
176 |
|
|
the node \f(CW\*(C`laptop\*(C'\fR, with \s-1TCP\s0 enabled and HTTP-Proxy host and Port set, use |
177 |
|
|
this: |
178 |
|
|
.PP |
179 |
|
|
.Vb 3 |
180 |
pcg |
1.11 |
\& gvpe \-D \-l info laptop \e |
181 |
|
|
\& http\-proxy\-host=10.0.0.18 http\-proxy\-port=3128 \e |
182 |
|
|
\& laptop.enable\-tcp=yes |
183 |
pcg |
1.9 |
.Ve |
184 |
pcg |
1.1 |
.SH "OPTIONS" |
185 |
|
|
.IX Header "OPTIONS" |
186 |
|
|
.IP "\fB\-c\fR, \fB\-\-config=\fR\fI\s-1DIR\s0\fR" 4 |
187 |
|
|
.IX Item "-c, --config=DIR" |
188 |
|
|
Read configuration options from \fI\s-1DIR\s0\fR |
189 |
|
|
.IP "\fB\-d\fR, \fB\-\-l=\fR\fI\s-1LEVEL\s0\fR" 4 |
190 |
|
|
.IX Item "-d, --l=LEVEL" |
191 |
|
|
Set logging level to \fI\s-1LEVEL\s0\fR (one of: noise, trace, debug, info, notice, |
192 |
|
|
warn, error, critical). |
193 |
|
|
.IP "\fB\-\-help\fR" 4 |
194 |
|
|
.IX Item "--help" |
195 |
|
|
Display short list of options. |
196 |
|
|
.IP "\fB\-D\fR, \fB\-\-no\-detach\fR" 4 |
197 |
|
|
.IX Item "-D, --no-detach" |
198 |
|
|
Don't fork and detach but stay in foreground and log messages to stderr in |
199 |
|
|
addition to syslog. |
200 |
|
|
.IP "\fB\-L\fR, \fB\-\-mlock\fR" 4 |
201 |
|
|
.IX Item "-L, --mlock" |
202 |
pcg |
1.12 |
Lock \f(CW\*(C`gvpe\*(C'\fR into main memory. This will prevent sensitive data like |
203 |
pcg |
1.1 |
shared private keys to be written to the system swap files/partitions. |
204 |
|
|
.IP "\fB\-\-version\fR" 4 |
205 |
|
|
.IX Item "--version" |
206 |
|
|
Output version information and exit. |
207 |
|
|
.SH "SIGNALS" |
208 |
|
|
.IX Header "SIGNALS" |
209 |
|
|
.IP "\s-1HUP\s0" 4 |
210 |
|
|
.IX Item "HUP" |
211 |
|
|
Closes/resets all connections, resets the retry time and will start connecting |
212 |
|
|
again (it will \s-1NOT\s0 re-read the config file). This is useful e.g. in a |
213 |
|
|
\&\f(CW\*(C`/etc/ppp/if\-up\*(C'\fR script. |
214 |
|
|
.IP "\s-1TERM\s0" 4 |
215 |
|
|
.IX Item "TERM" |
216 |
|
|
Closes/resets all connections and exits. |
217 |
|
|
.IP "\s-1USR1\s0" 4 |
218 |
|
|
.IX Item "USR1" |
219 |
|
|
Dump current network status into the syslog (at loglevel \f(CW\*(C`notice\*(C'\fR, so make |
220 |
|
|
sure your loglevel allows this). |
221 |
|
|
.SH "FILES" |
222 |
|
|
.IX Header "FILES" |
223 |
|
|
.ie n .IP "\*(C`/etc/gvpe/gvpe.conf\*(C'" 4 |
224 |
|
|
.el .IP "\f(CW\*(C`/etc/gvpe/gvpe.conf\*(C'\fR" 4 |
225 |
|
|
.IX Item "/etc/gvpe/gvpe.conf" |
226 |
|
|
The configuration file for \f(CW\*(C`gvpe\*(C'\fR. |
227 |
|
|
.ie n .IP "\*(C`/etc/gvpe/if\-up\*(C'" 4 |
228 |
|
|
.el .IP "\f(CW\*(C`/etc/gvpe/if\-up\*(C'\fR" 4 |
229 |
|
|
.IX Item "/etc/gvpe/if-up" |
230 |
|
|
Script which is executed as soon as the virtual network device has been |
231 |
|
|
allocated. Purpose is to further configure that device. |
232 |
|
|
.ie n .IP "\*(C`/etc/gvpe/node\-up\*(C'" 4 |
233 |
|
|
.el .IP "\f(CW\*(C`/etc/gvpe/node\-up\*(C'\fR" 4 |
234 |
|
|
.IX Item "/etc/gvpe/node-up" |
235 |
|
|
Script which is executed whenever a node connects to this node. This can |
236 |
|
|
be used for example to run nsupdate. |
237 |
|
|
.ie n .IP "\*(C`/etc/gvpe/node\-down\*(C'" 4 |
238 |
|
|
.el .IP "\f(CW\*(C`/etc/gvpe/node\-down\*(C'\fR" 4 |
239 |
|
|
.IX Item "/etc/gvpe/node-down" |
240 |
pcg |
1.2 |
Script which is executed whenever a connection to another node is lost. |
241 |
pcg |
1.1 |
for example to run nsupdate. |
242 |
|
|
.ie n .IP "\*(C`/etc/gvpe/pubkey/*\*(C'" 4 |
243 |
|
|
.el .IP "\f(CW\*(C`/etc/gvpe/pubkey/*\*(C'\fR" 4 |
244 |
|
|
.IX Item "/etc/gvpe/pubkey/*" |
245 |
|
|
The directory containing the public keys for every node, usually |
246 |
|
|
autogenerated by executing \f(CW\*(C`gvpectrl \-\-generate\-keys\*(C'\fR. |
247 |
|
|
.ie n .IP "\*(C`/var/run/gvpe.pid\*(C'" 4 |
248 |
|
|
.el .IP "\f(CW\*(C`/var/run/gvpe.pid\*(C'\fR" 4 |
249 |
|
|
.IX Item "/var/run/gvpe.pid" |
250 |
|
|
The \s-1PID\s0 of the currently running \f(CW\*(C`gvpe\*(C'\fR is stored in this file. |
251 |
|
|
.SH "BUGS" |
252 |
|
|
.IX Header "BUGS" |
253 |
|
|
The cryptography in gvpe has not been thoroughly checked by many people |
254 |
|
|
yet. Use it at your own risk! |
255 |
|
|
.PP |
256 |
pcg |
1.10 |
If you find any bugs, report them to \f(CW\*(C`gvpe@schmorp.de\*(C'\fR. |
257 |
pcg |
1.1 |
.SH "SEE ALSO" |
258 |
|
|
.IX Header "SEE ALSO" |
259 |
|
|
\&\fIgvpe\fR\|(5) for an introduction, \fIgvpe.conf\fR\|(5), \fIgvpectrl\fR\|(8). |
260 |
|
|
.PP |
261 |
pcg |
1.6 |
The \s-1GVPE\s0 mailing list, at <http://lists.schmorp.de/> or |
262 |
|
|
\&\f(CW\*(C`gvpe@lists.schmorp.de\*(C'\fR. |
263 |
pcg |
1.5 |
.PP |
264 |
pcg |
1.12 |
\&\s-1GVPE\s0 comes with \s-1ABSOLUTELY\s0 \s-1NO\s0 \s-1WARRANTY\s0. This is free software, and you are |
265 |
pcg |
1.1 |
welcome to redistribute it under certain conditions; see the file \s-1COPYING\s0 |
266 |
|
|
for details. |
267 |
pcg |
1.4 |
.SH "AUTHOR" |
268 |
|
|
.IX Header "AUTHOR" |
269 |
pcg |
1.10 |
Marc Lehmann \f(CW\*(C`<gvpe@schmorp.de>\*(C'\fR. |
270 |
pcg |
1.1 |
.PP |
271 |
|
|
And thanks to many others for their contributions to gvpe, especially the |
272 |
|
|
tincd authors, who inspired me to write this program (after scavenging |
273 |
pcg |
1.12 |
their source code ;). |