| 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 ;). |