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