1 | .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) |
1 | .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) |
2 | .\" |
2 | .\" |
3 | .\" Standard preamble: |
3 | .\" Standard preamble: |
4 | .\" ======================================================================== |
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) |
5 | .de Sp \" Vertical space (when we can't use .PP) |
14 | .if t .sp .5v |
6 | .if t .sp .5v |
15 | .if n .sp |
7 | .if n .sp |
16 | .. |
8 | .. |
17 | .de Vb \" Begin verbatim text |
9 | .de Vb \" Begin verbatim text |
… | |
… | |
51 | .\" Escape single quotes in literal strings from groff's Unicode transform. |
43 | .\" Escape single quotes in literal strings from groff's Unicode transform. |
52 | .ie \n(.g .ds Aq \(aq |
44 | .ie \n(.g .ds Aq \(aq |
53 | .el .ds Aq ' |
45 | .el .ds Aq ' |
54 | .\" |
46 | .\" |
55 | .\" If the F register is turned on, we'll generate index entries on stderr for |
47 | .\" 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 |
48 | .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index |
57 | .\" entries marked with X<> in POD. Of course, you'll have to process the |
49 | .\" entries marked with X<> in POD. Of course, you'll have to process the |
58 | .\" output yourself in some meaningful fashion. |
50 | .\" output yourself in some meaningful fashion. |
59 | .ie \nF \{\ |
51 | .ie \nF \{\ |
60 | . de IX |
52 | . de IX |
61 | . tm Index:\\$1\t\\n%\t"\\$2" |
53 | . tm Index:\\$1\t\\n%\t"\\$2" |
… | |
… | |
130 | .\} |
122 | .\} |
131 | .rm #[ #] #H #V #F C |
123 | .rm #[ #] #H #V #F C |
132 | .\" ======================================================================== |
124 | .\" ======================================================================== |
133 | .\" |
125 | .\" |
134 | .IX Title "GVPE.CONF 5" |
126 | .IX Title "GVPE.CONF 5" |
135 | .TH GVPE.CONF 5 "2009-06-01" "2.22" "GNU Virtual Private Ethernet" |
127 | .TH GVPE.CONF 5 "2013-07-17" "2.25" "GNU Virtual Private Ethernet" |
136 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
128 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes |
137 | .\" way too many mistakes in technical documents. |
129 | .\" way too many mistakes in technical documents. |
138 | .if n .ad l |
130 | .if n .ad l |
139 | .nh |
131 | .nh |
140 | .SH "NAME" |
132 | .SH "NAME" |
… | |
… | |
166 | = value\*(C'\fR pairs. Empty lines are ignored. Comments start with a \f(CW\*(C`#\*(C'\fR and |
158 | = value\*(C'\fR pairs. Empty lines are ignored. Comments start with a \f(CW\*(C`#\*(C'\fR and |
167 | extend to the end of the line. They can be used on their own lines, or |
159 | extend to the end of the line. They can be used on their own lines, or |
168 | after any directives. Whitespace is allowed around the \f(CW\*(C`=\*(C'\fR sign or after |
160 | after any directives. Whitespace is allowed around the \f(CW\*(C`=\*(C'\fR sign or after |
169 | values, but not within the variable names or values themselves. |
161 | values, but not within the variable names or values themselves. |
170 | .PP |
162 | .PP |
171 | The only exception to the above is the \*(L"on\*(R" directive that can prefix any |
163 | All settings are applied \*(L"in order\*(R", that is, later settings of the same |
172 | \&\f(CW\*(C`name = value\*(C'\fR setting and will only \*(L"execute\*(R" it on the named node, or |
164 | variable overwrite earlier ones. |
173 | (if the nodename starts with \*(L"!\*(R") on all nodes except the named one. |
|
|
174 | .PP |
165 | .PP |
|
|
166 | The only exceptions to the above are the following directives: |
|
|
167 | .IP "node nodename" 4 |
|
|
168 | .IX Item "node nodename" |
|
|
169 | Introduces a node section. The nodename is used to select the right |
|
|
170 | configuration section and is the same string as is passed as an argument |
|
|
171 | to the gvpe daemon. |
|
|
172 | .Sp |
|
|
173 | Multiple \f(CW\*(C`node\*(C'\fR statements with the same node name are supported and will |
|
|
174 | be merged together. |
|
|
175 | .IP "global" 4 |
|
|
176 | .IX Item "global" |
|
|
177 | This statement switches back to the global section, which is mainly |
|
|
178 | useful if you want to include a second config file, e..g for local |
|
|
179 | customisations. To do that, simply include this at the very end of your |
|
|
180 | config file: |
|
|
181 | .Sp |
|
|
182 | .Vb 2 |
|
|
183 | \& global |
|
|
184 | \& include local.conf |
|
|
185 | .Ve |
|
|
186 | .IP "on nodename ..." 4 |
|
|
187 | .IX Item "on nodename ..." |
|
|
188 | .PD 0 |
|
|
189 | .IP "on !nodename ..." 4 |
|
|
190 | .IX Item "on !nodename ..." |
|
|
191 | .PD |
|
|
192 | You can prefix any configuration directive with \f(CW\*(C`on\*(C'\fR and a nodename. \s-1GVPE\s0 |
|
|
193 | will will only \*(L"execute\*(R" it on the named node, or (if the nodename starts |
|
|
194 | with \f(CW\*(C`!\*(C'\fR) on all nodes except the named one. |
|
|
195 | .Sp |
175 | For example, set the \s-1MTU\s0 to \f(CW1450\fR everywhere, loglevel to \f(CW\*(C`noise\*(C'\fR on |
196 | Example: set the \s-1MTU\s0 to \f(CW1450\fR everywhere, \f(CW\*(C`loglevel\*(C'\fR to \f(CW\*(C`noise\*(C'\fR on |
176 | branch1, and connect to \f(CW\*(C`ondemand\*(C'\fR everywhere but on branch2: |
197 | \&\f(CW\*(C`branch1\*(C'\fR, and \f(CW\*(C`connect\*(C'\fR to \f(CW\*(C`ondemand\*(C'\fR everywhere but on branch2. |
177 | .PP |
198 | .Sp |
178 | .Vb 3 |
199 | .Vb 3 |
179 | \& mtu = 1450 |
200 | \& mtu = 1450 |
180 | \& on branch1 loglevel = noise |
201 | \& on branch1 loglevel = noise |
181 | \& on !branch2 connect = ondemand |
202 | \& on !branch2 connect = ondemand |
182 | .Ve |
203 | .Ve |
183 | .PP |
204 | .IP "include relative-or-absolute-path" 4 |
184 | All settings are applied \*(L"in order\*(R", that is, later settings of the same |
205 | .IX Item "include relative-or-absolute-path" |
185 | variable overwrite earlier ones. |
206 | Reads the specified file (the path must not contain whitespace or \f(CW\*(C`=\*(C'\fR |
|
|
207 | characters) and evaluate all config directives in it as if they were |
|
|
208 | spelled out in place of the \f(CW\*(C`include\*(C'\fR directive. |
|
|
209 | .Sp |
|
|
210 | The path is a printf format string, that is, you must escape any \f(CW\*(C`%\*(C'\fR |
|
|
211 | by doubling it, and you can have a single \f(CW%s\fR inside, which will be |
|
|
212 | replaced by the current nodename. |
|
|
213 | .Sp |
|
|
214 | Relative paths are interpreted relative to the \s-1GVPE\s0 config directory. |
|
|
215 | .Sp |
|
|
216 | Example: include the file \fIlocal.conf\fR in the config directory on every |
|
|
217 | node. |
|
|
218 | .Sp |
|
|
219 | .Vb 1 |
|
|
220 | \& include local.conf |
|
|
221 | .Ve |
|
|
222 | .Sp |
|
|
223 | Example: include a file \fIconf/\fRnodename\fI.conf\fR |
|
|
224 | .Sp |
|
|
225 | .Vb 1 |
|
|
226 | \& include conf/%s.conf |
|
|
227 | .Ve |
186 | .SH "ANATOMY OF A CONFIG FILE" |
228 | .SH "ANATOMY OF A CONFIG FILE" |
187 | .IX Header "ANATOMY OF A CONFIG FILE" |
229 | .IX Header "ANATOMY OF A CONFIG FILE" |
188 | Usually, a config file starts with a few global settings (like the \s-1UDP\s0 |
230 | Usually, a config file starts with a few global settings (like the \s-1UDP\s0 |
189 | port to listen on), followed by node-specific sections that begin with a |
231 | port to listen on), followed by node-specific sections that begin with a |
190 | \&\f(CW\*(C`node = nickname\*(C'\fR line. |
232 | \&\f(CW\*(C`node = nickname\*(C'\fR line. |
… | |
… | |
196 | .PP |
238 | .PP |
197 | Node-specific settings can be used at any time. If used before the first |
239 | Node-specific settings can be used at any time. If used before the first |
198 | node section they will set the default values for all following nodes. |
240 | node section they will set the default values for all following nodes. |
199 | .SH "CONFIG VARIABLES" |
241 | .SH "CONFIG VARIABLES" |
200 | .IX Header "CONFIG VARIABLES" |
242 | .IX Header "CONFIG VARIABLES" |
201 | .Sh "\s-1GLOBAL\s0 \s-1SETTINGS\s0" |
243 | .SS "\s-1GLOBAL\s0 \s-1SETTINGS\s0" |
202 | .IX Subsection "GLOBAL SETTINGS" |
244 | .IX Subsection "GLOBAL SETTINGS" |
203 | Global settings will affect the behaviour of the running gvpe daemon, that |
245 | Global settings will affect the behaviour of the running gvpe daemon, that |
204 | is, they are in some sense node-specific (config files can set different |
246 | is, they are in some sense node-specific (config files can set different |
205 | values on different nodes using \f(CW\*(C`on\*(C'\fR), but will affect the behaviour of |
247 | values on different nodes using \f(CW\*(C`on\*(C'\fR), but will affect the behaviour of |
206 | the gvpe daemon and all connections it creates. |
248 | the gvpe daemon and all connections it creates. |
|
|
249 | .IP "chroot = path or /" 4 |
|
|
250 | .IX Item "chroot = path or /" |
|
|
251 | Tells \s-1GVPE\s0 to \fIchroot\fR\|(2) to the specified path after reading all necessary |
|
|
252 | files, binding to sockets and running the \f(CW\*(C`if\-up\*(C'\fR script, but before |
|
|
253 | running \f(CW\*(C`node\-up\*(C'\fR or any other scripts. |
|
|
254 | .Sp |
|
|
255 | The special path \fI/\fR instructs \s-1GVPE\s0 to create (and remove) an empty |
|
|
256 | temporary directory to use as new root. This is most secure, but makes it |
|
|
257 | impossible to use any scripts other than the \f(CW\*(C`if\-up\*(C'\fR one. |
|
|
258 | .IP "chuid = numerical-uid" 4 |
|
|
259 | .IX Item "chuid = numerical-uid" |
|
|
260 | .PD 0 |
|
|
261 | .IP "chgid = numerical-gid" 4 |
|
|
262 | .IX Item "chgid = numerical-gid" |
|
|
263 | .PD |
|
|
264 | These two options tell \s-1GVPE\s0 to change to the given user and/or group id |
|
|
265 | after reading all necessary files, binding to sockets and running the |
|
|
266 | \&\f(CW\*(C`if\-up\*(C'\fR script. |
|
|
267 | .Sp |
|
|
268 | Other scripts, such as \f(CW\*(C`node\-up\*(C'\fR, are run with the new user id or group id. |
|
|
269 | .IP "chuser = username" 4 |
|
|
270 | .IX Item "chuser = username" |
|
|
271 | Alternative to \f(CW\*(C`chuid\*(C'\fR and \f(CW\*(C`chgid\*(C'\fR: Sets both \f(CW\*(C`chuid\*(C'\fR and \f(CW\*(C`chgid\*(C'\fR |
|
|
272 | to the user and (primary) group ids of the specified user (for example, |
|
|
273 | \&\f(CW\*(C`nobody\*(C'\fR). |
207 | .IP "dns-forw-host = hostname/ip" 4 |
274 | .IP "dns-forw-host = hostname/ip" 4 |
208 | .IX Item "dns-forw-host = hostname/ip" |
275 | .IX Item "dns-forw-host = hostname/ip" |
209 | The \s-1DNS\s0 server to forward \s-1DNS\s0 requests to for the \s-1DNS\s0 tunnel protocol |
276 | The \s-1DNS\s0 server to forward \s-1DNS\s0 requests to for the \s-1DNS\s0 tunnel protocol |
210 | (default: \f(CW127.0.0.1\fR, changing it is highly recommended). |
277 | (default: \f(CW127.0.0.1\fR, changing it is highly recommended). |
211 | .IP "dns-forw-port = port-number" 4 |
278 | .IP "dns-forw-port = port-number" 4 |
212 | .IX Item "dns-forw-port = port-number" |
279 | .IX Item "dns-forw-port = port-number" |
213 | The port where the \f(CW\*(C`dns\-forw\-host\*(C'\fR is to be contacted (default: \f(CW53\fR, |
280 | The port where the \f(CW\*(C`dns\-forw\-host\*(C'\fR is to be contacted (default: \f(CW53\fR, |
214 | which is fine in most cases). |
281 | which is fine in most cases). |
|
|
282 | .IP "dns-case-preserving = yes|true|on | no|false|off" 4 |
|
|
283 | .IX Item "dns-case-preserving = yes|true|on | no|false|off" |
|
|
284 | Sets whether the \s-1DNS\s0 transport forwarding server preserves case (\s-1DNS\s0 |
|
|
285 | servers have to, but some access systems are even more broken than others) |
|
|
286 | (default: true). |
|
|
287 | .Sp |
|
|
288 | Normally, when the forwarding server changes the case of domain names then |
|
|
289 | \&\s-1GVPE\s0 will automatically set this to false. |
215 | .IP "dns-max-outstanding = integer-number-of-requests" 4 |
290 | .IP "dns-max-outstanding = integer-number-of-requests" 4 |
216 | .IX Item "dns-max-outstanding = integer-number-of-requests" |
291 | .IX Item "dns-max-outstanding = integer-number-of-requests" |
217 | The maximum number of outstanding \s-1DNS\s0 transport requests |
292 | The maximum number of outstanding \s-1DNS\s0 transport requests |
218 | (default: \f(CW100\fR). \s-1GVPE\s0 will never issue more requests then the given |
293 | (default: \f(CW100\fR). \s-1GVPE\s0 will never issue more requests then the given |
219 | limit without receiving replies. In heavily overloaded situations it might |
294 | limit without receiving replies. In heavily overloaded situations it might |
… | |
… | |
356 | other programs. |
431 | other programs. |
357 | .Sp |
432 | .Sp |
358 | The default is 47 (\s-1GRE\s0), which has a good chance of tunneling |
433 | The default is 47 (\s-1GRE\s0), which has a good chance of tunneling |
359 | through firewalls (but note that gvpe's rawip protocol is not \s-1GRE\s0 |
434 | through firewalls (but note that gvpe's rawip protocol is not \s-1GRE\s0 |
360 | compatible). Other common choices are 50 (\s-1IPSEC\s0, \s-1ESP\s0), 51 (\s-1IPSEC\s0, \s-1AH\s0), 4 |
435 | compatible). Other common choices are 50 (\s-1IPSEC\s0, \s-1ESP\s0), 51 (\s-1IPSEC\s0, \s-1AH\s0), 4 |
361 | (\s-1IPIP\s0 tunnels) or 98 (\s-1ENCAP\s0, rfc1241) |
436 | (\s-1IPIP\s0 tunnels) or 98 (\s-1ENCAP\s0, rfc1241). |
|
|
437 | .Sp |
|
|
438 | Many versions of Linux seem to have a bug that causes them to reorder |
|
|
439 | packets for some ip protocols (\s-1GRE\s0, \s-1ESP\s0) but not for others (\s-1AH\s0), so |
|
|
440 | choose wisely (that is, use 51, \s-1AH\s0). |
362 | .IP "http-proxy-host = hostname/ip" 4 |
441 | .IP "http-proxy-host = hostname/ip" 4 |
363 | .IX Item "http-proxy-host = hostname/ip" |
442 | .IX Item "http-proxy-host = hostname/ip" |
364 | The \f(CW\*(C`http\-proxy\-*\*(C'\fR family of options are only available if gvpe was |
443 | The \f(CW\*(C`http\-proxy\-*\*(C'\fR family of options are only available if gvpe was |
365 | compiled with the \f(CW\*(C`\-\-enable\-http\-proxy\*(C'\fR option and enable tunneling of |
444 | compiled with the \f(CW\*(C`\-\-enable\-http\-proxy\*(C'\fR option and enable tunneling of |
366 | tcp connections through a http proxy server. |
445 | tcp connections through a http proxy server. |
… | |
… | |
397 | currently supported. |
476 | currently supported. |
398 | .IP "keepalive = seconds" 4 |
477 | .IP "keepalive = seconds" 4 |
399 | .IX Item "keepalive = seconds" |
478 | .IX Item "keepalive = seconds" |
400 | Sets the keepalive probe interval in seconds (default: \f(CW60\fR). After this |
479 | Sets the keepalive probe interval in seconds (default: \f(CW60\fR). After this |
401 | many seconds of inactivity the daemon will start to send keepalive probe |
480 | many seconds of inactivity the daemon will start to send keepalive probe |
402 | every 3 seconds until it receives a reply from the other end. If no reply |
481 | every 3 seconds until it receives a reply from the other end. If no reply |
403 | is received within 15 seconds, the peer is considered unreachable and the |
482 | is received within 15 seconds, the peer is considered unreachable and the |
404 | connection is closed. |
483 | connection is closed. |
405 | .IP "loglevel = noise|trace|debug|info|notice|warn|error|critical" 4 |
484 | .IP "loglevel = noise|trace|debug|info|notice|warn|error|critical" 4 |
406 | .IX Item "loglevel = noise|trace|debug|info|notice|warn|error|critical" |
485 | .IX Item "loglevel = noise|trace|debug|info|notice|warn|error|critical" |
407 | Set the logging level. Connection established messages are logged at level |
486 | Set the logging level. Connection established messages are logged at level |
… | |
… | |
414 | this information to the \f(CW\*(C`if\-up\*(C'\fR script. |
493 | this information to the \f(CW\*(C`if\-up\*(C'\fR script. |
415 | .Sp |
494 | .Sp |
416 | Recommended values are 1500 (ethernet), 1492 (pppoe), 1472 (pptp). |
495 | Recommended values are 1500 (ethernet), 1492 (pppoe), 1472 (pptp). |
417 | .Sp |
496 | .Sp |
418 | This value must be the minimum of the \s-1MTU\s0 values of all nodes. |
497 | This value must be the minimum of the \s-1MTU\s0 values of all nodes. |
419 | .IP "node = nickname" 4 |
498 | .IP "nfmark = integer" 4 |
420 | .IX Item "node = nickname" |
499 | .IX Item "nfmark = integer" |
421 | Not really a config setting but introduces a node section. The nickname is |
500 | This advanced option, when set to a nonzero value (default: \f(CW0\fR), tries |
422 | used to select the right configuration section and must be passed as an |
501 | to set the netfilter mark (or fwmark) value on all sockets gvpe uses to |
423 | argument to the gvpe daemon. |
502 | send packets. |
|
|
503 | .Sp |
|
|
504 | This can be used to make gvpe use a different set of routing rules. For |
|
|
505 | example, on GNU/Linux, the \f(CW\*(C`if\-up\*(C'\fR could set \f(CW\*(C`nfmark\*(C'\fR to 1000 and then |
|
|
506 | put all routing rules into table \f(CW99\fR and then use an ip rule to make |
|
|
507 | gvpe traffic avoid that routing table, in effect routing normal traffic |
|
|
508 | via gvpe and gvpe traffic via the normal system routing tables: |
|
|
509 | .Sp |
|
|
510 | .Vb 1 |
|
|
511 | \& ip rule add not fwmark 1000 lookup 99 |
|
|
512 | .Ve |
424 | .IP "node-up = relative-or-absolute-path" 4 |
513 | .IP "node-up = relative-or-absolute-path" 4 |
425 | .IX Item "node-up = relative-or-absolute-path" |
514 | .IX Item "node-up = relative-or-absolute-path" |
426 | Sets a command (default: none) that should be called whenever a connection |
515 | Sets a command (default: none) that should be called whenever a connection |
427 | is established (even on rekeying operations). Note that node\-up/down |
516 | is established (even on rekeying operations). Note that node\-up/down |
428 | scripts will be run asynchronously, but execution is serialised, so there |
517 | scripts will be run asynchronously, but execution is serialised, so there |
… | |
… | |
461 | .Vb 6 |
550 | .Vb 6 |
462 | \& #!/bin/sh |
551 | \& #!/bin/sh |
463 | \& { |
552 | \& { |
464 | \& echo update delete $DESTNODE.lowttl.example.net. a |
553 | \& echo update delete $DESTNODE.lowttl.example.net. a |
465 | \& echo update add $DESTNODE.lowttl.example.net. 1 in a $DESTIP |
554 | \& echo update add $DESTNODE.lowttl.example.net. 1 in a $DESTIP |
466 | \& echo |
555 | \& echo |
467 | \& } | nsupdate \-d \-k $CONFBASE:key.example.net. |
556 | \& } | nsupdate \-d \-k $CONFBASE:key.example.net. |
468 | .Ve |
557 | .Ve |
469 | .RE |
558 | .RE |
470 | .IP "node-change = relative-or-absolute-path" 4 |
559 | .IP "node-change = relative-or-absolute-path" 4 |
471 | .IX Item "node-change = relative-or-absolute-path" |
560 | .IX Item "node-change = relative-or-absolute-path" |
… | |
… | |
475 | .IX Item "node-down = relative-or-absolute-path" |
564 | .IX Item "node-down = relative-or-absolute-path" |
476 | Same as \f(CW\*(C`node\-up\*(C'\fR, but gets called whenever a connection is lost. |
565 | Same as \f(CW\*(C`node\-up\*(C'\fR, but gets called whenever a connection is lost. |
477 | .IP "pid-file = path" 4 |
566 | .IP "pid-file = path" 4 |
478 | .IX Item "pid-file = path" |
567 | .IX Item "pid-file = path" |
479 | The path to the pid file to check and create |
568 | The path to the pid file to check and create |
480 | (default: \f(CW\*(C`LOCALSTATEDIR/run/gvpe.pid\*(C'\fR). |
569 | (default: \f(CW\*(C`LOCALSTATEDIR/run/gvpe.pid\*(C'\fR). The first \f(CW%s\fR is replaced by |
|
|
570 | the nodename \- any other use of \f(CW\*(C`%\*(C'\fR must be written as \f(CW\*(C`%%\*(C'\fR. |
481 | .IP "private-key = relative-path-to-key" 4 |
571 | .IP "private-key = relative-path-to-key" 4 |
482 | .IX Item "private-key = relative-path-to-key" |
572 | .IX Item "private-key = relative-path-to-key" |
483 | Sets the path (relative to the config directory) to the private key |
573 | Sets the path (relative to the config directory) to the private key |
484 | (default: \f(CW\*(C`hostkey\*(C'\fR). This is a printf format string so every \f(CW\*(C`%\*(C'\fR must |
574 | (default: \f(CW\*(C`hostkey\*(C'\fR). This is a printf format string so every \f(CW\*(C`%\*(C'\fR must |
485 | be doubled. A single \f(CW%s\fR is replaced by the hostname, so you could |
575 | be doubled. A single \f(CW%s\fR is replaced by the hostname, so you could |
… | |
… | |
489 | Since only the private key file of the current node is used and the |
579 | Since only the private key file of the current node is used and the |
490 | private key file should be kept secret per-node to avoid spoofing, it is |
580 | private key file should be kept secret per-node to avoid spoofing, it is |
491 | not recommended to use this feature. |
581 | not recommended to use this feature. |
492 | .IP "rekey = seconds" 4 |
582 | .IP "rekey = seconds" 4 |
493 | .IX Item "rekey = seconds" |
583 | .IX Item "rekey = seconds" |
494 | Sets the rekeying interval in seconds (default: \f(CW3600\fR). Connections are |
584 | Sets the rekeying interval in seconds (default: \f(CW3607\fR). Connections are |
495 | reestablished every \f(CW\*(C`rekey\*(C'\fR seconds, making them use a new encryption |
585 | reestablished every \f(CW\*(C`rekey\*(C'\fR seconds, making them use a new encryption |
496 | key. |
586 | key. |
497 | .IP "nfmark = integer" 4 |
587 | .IP "seed-device = path" 4 |
498 | .IX Item "nfmark = integer" |
588 | .IX Item "seed-device = path" |
499 | This advanced option, when set to a nonzero value (default: \f(CW0\fR), tries |
589 | The random device used to initially and regularly seed the random |
500 | to set the netfilter mark (or fwmark) value on all sockets gvpe uses to |
590 | number generator (default: \fI/dev/urandom\fR). Randomness is of paramount |
501 | send packets. |
591 | importance to the security of the algorithms used in gvpe. |
502 | .Sp |
592 | .Sp |
503 | This can be used to make gvpe use a different set of routing rules. For |
593 | On program start and every seed-interval, gvpe will read 64 octets. |
504 | example, on GNU/Linux, the \f(CW\*(C`if\-up\*(C'\fR could set \f(CW\*(C`nfmark\*(C'\fR to 1000 and then |
|
|
505 | put all routing rules into table \f(CW99\fR and then use an ip rule to make |
|
|
506 | gvpe traffic avoid that routing table, in effect routing normal traffic |
|
|
507 | via gvpe and gvpe traffic via the normal system routing tables: |
|
|
508 | .Sp |
594 | .Sp |
509 | .Vb 1 |
595 | Setting this path to the empty string will disable this functionality |
510 | \& ip rule add not fwmark 1000 lookup 99 |
596 | completely (the underlying crypto library will likely look for entropy |
511 | .Ve |
597 | sources on it's own though, so not all is lost). |
|
|
598 | .IP "seed-interval = seconds" 4 |
|
|
599 | .IX Item "seed-interval = seconds" |
|
|
600 | The number of seconds between reseeds of the random number generator |
|
|
601 | (default: \f(CW3613\fR). A value of \f(CW0\fR disables this regular reseeding. |
512 | .Sh "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" |
602 | .SS "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" |
513 | .IX Subsection "NODE SPECIFIC SETTINGS" |
603 | .IX Subsection "NODE SPECIFIC SETTINGS" |
514 | The following settings are node-specific, that is, every node can have |
604 | The following settings are node-specific, that is, every node can have |
515 | different settings, even within the same gvpe instance. Settings that are |
605 | different settings, even within the same gvpe instance. Settings that are |
516 | set before the first node section set the defaults, settings that are |
606 | set before the first node section set the defaults, settings that are |
517 | set within a node section only apply to the given node. |
607 | set within a node section only apply to the given node. |
518 | .IP "allow-direct = nodename" 4 |
608 | .IP "allow-direct = nodename" 4 |
519 | .IX Item "allow-direct = nodename" |
609 | .IX Item "allow-direct = nodename" |
520 | Allow direct connections to this node. See \f(CW\*(C`deny\-direct\*(C'\fR for more info. |
610 | Allow direct connections to this node. See \f(CW\*(C`deny\-direct\*(C'\fR for more info. |
521 | .IP "compress = yes|true|on | no|false|off" 4 |
611 | .IP "compress = yes|true|on | no|false|off" 4 |
522 | .IX Item "compress = yes|true|on | no|false|off" |
612 | .IX Item "compress = yes|true|on | no|false|off" |
|
|
613 | For the current node, this specified whether it will accept compressed |
|
|
614 | packets, and for all other nodes, this specifies whether to try to |
523 | Wether to compress data packets sent to this node (default: \f(CW\*(C`yes\*(C'\fR). |
615 | compress data packets sent to this node (default: \f(CW\*(C`yes\*(C'\fR). Compression is |
524 | Compression is really cheap even on slow computers and has no size |
616 | really cheap even on slow computers, has no size overhead at all and will |
525 | overhead at all, so enabling this is often a good idea. |
617 | only be used when the other side supports compression, so enabling this is |
|
|
618 | often a good idea. |
526 | .IP "connect = ondemand | never | always | disabled" 4 |
619 | .IP "connect = ondemand | never | always | disabled" 4 |
527 | .IX Item "connect = ondemand | never | always | disabled" |
620 | .IX Item "connect = ondemand | never | always | disabled" |
528 | Sets the connect mode (default: \f(CW\*(C`always\*(C'\fR). It can be \f(CW\*(C`always\*(C'\fR (always |
621 | Sets the connect mode (default: \f(CW\*(C`always\*(C'\fR). It can be \f(CW\*(C`always\*(C'\fR (always |
529 | try to establish and keep a connection to the given node), \f(CW\*(C`never\*(C'\fR |
622 | try to establish and keep a connection to the given node), \f(CW\*(C`never\*(C'\fR |
530 | (never initiate a connection to the given host, but accept connections), |
623 | (never initiate a connection to the given host, but accept connections), |
… | |
… | |
615 | when gvpe was compiled using the \f(CW\*(C`\-\-enable\-tcp\*(C'\fR option. |
708 | when gvpe was compiled using the \f(CW\*(C`\-\-enable\-tcp\*(C'\fR option. |
616 | .IP "enable-udp = yes|true|on | no|false|off" 4 |
709 | .IP "enable-udp = yes|true|on | no|false|off" 4 |
617 | .IX Item "enable-udp = yes|true|on | no|false|off" |
710 | .IX Item "enable-udp = yes|true|on | no|false|off" |
618 | See \fIgvpe.protocol\fR\|(7) for a description of the \s-1UDP\s0 transport protocol. |
711 | See \fIgvpe.protocol\fR\|(7) for a description of the \s-1UDP\s0 transport protocol. |
619 | .Sp |
712 | .Sp |
620 | Enable the UDPv4 transport using the \f(CW\*(C`udp\-port\*(C'\fR port (default: \f(CW\*(C`no\*(C'\fR, |
713 | Enable the UDPv4 transport using the \f(CW\*(C`udp\-port\*(C'\fR port (default: \f(CW\*(C`no\*(C'\fR). |
621 | unless no other protocol is enabled for a node, in which case this |
|
|
622 | protocol is enabled automatically). |
|
|
623 | .Sp |
|
|
624 | \&\s-1NOTE:\s0 Please specify \f(CW\*(C`enable\-udp = yes\*(C'\fR if you want to use it even though |
|
|
625 | it might get switched on automatically, as some future version might |
|
|
626 | default to another default protocol. |
|
|
627 | .IP "hostname = hostname | ip [can not be defaulted]" 4 |
714 | .IP "hostname = hostname | ip [can not be defaulted]" 4 |
628 | .IX Item "hostname = hostname | ip [can not be defaulted]" |
715 | .IX Item "hostname = hostname | ip [can not be defaulted]" |
629 | Forces the address of this node to be set to the given \s-1DNS\s0 hostname or \s-1IP\s0 |
716 | Forces the address of this node to be set to the given \s-1DNS\s0 hostname or \s-1IP\s0 |
630 | address. It will be resolved before each connect request, so dyndns should |
717 | address. It will be resolved before each connect request, so dyndns should |
631 | work fine. If this setting is not specified and a router is available, |
718 | work fine. If this setting is not specified and a router is available, |
… | |
… | |
646 | .IX Item "if-up-data = value" |
733 | .IX Item "if-up-data = value" |
647 | The value specified using this directive will be passed to the \f(CW\*(C`if\-up\*(C'\fR |
734 | The value specified using this directive will be passed to the \f(CW\*(C`if\-up\*(C'\fR |
648 | script in the environment variable \f(CW\*(C`IFUPDATA\*(C'\fR. |
735 | script in the environment variable \f(CW\*(C`IFUPDATA\*(C'\fR. |
649 | .IP "inherit-tos = yes|true|on | no|false|off" 4 |
736 | .IP "inherit-tos = yes|true|on | no|false|off" 4 |
650 | .IX Item "inherit-tos = yes|true|on | no|false|off" |
737 | .IX Item "inherit-tos = yes|true|on | no|false|off" |
651 | Wether to inherit the \s-1TOS\s0 settings of packets sent to the tunnel when |
738 | Whether to inherit the \s-1TOS\s0 settings of packets sent to the tunnel when |
652 | sending packets to this node (default: \f(CW\*(C`yes\*(C'\fR). If set to \f(CW\*(C`yes\*(C'\fR then |
739 | sending packets to this node (default: \f(CW\*(C`yes\*(C'\fR). If set to \f(CW\*(C`yes\*(C'\fR then |
653 | outgoing tunnel packets will have the same \s-1TOS\s0 setting as the packets sent |
740 | outgoing tunnel packets will have the same \s-1TOS\s0 setting as the packets sent |
654 | to the tunnel device, which is usually what you want. |
741 | to the tunnel device, which is usually what you want. |
655 | .IP "max-retry = positive-number" 4 |
742 | .IP "max-retry = positive-number" 4 |
656 | .IX Item "max-retry = positive-number" |
743 | .IX Item "max-retry = positive-number" |
… | |
… | |
718 | .IP "node-up, node-down" 4 |
805 | .IP "node-up, node-down" 4 |
719 | .IX Item "node-up, node-down" |
806 | .IX Item "node-up, node-down" |
720 | If used the node up or node-down scripts. |
807 | If used the node up or node-down scripts. |
721 | .IP "hostkey" 4 |
808 | .IP "hostkey" 4 |
722 | .IX Item "hostkey" |
809 | .IX Item "hostkey" |
723 | The private key (taken from \f(CW\*(C`hostkeys/nodename\*(C'\fR) of the current host. |
810 | The (default path of the) private key of the current host. |
724 | .IP "pubkey/nodename" 4 |
811 | .IP "pubkey/nodename" 4 |
725 | .IX Item "pubkey/nodename" |
812 | .IX Item "pubkey/nodename" |
726 | The public keys of the other nodes, one file per node. |
813 | The public keys of the other nodes, one file per node. |
727 | .SH "SEE ALSO" |
814 | .SH "SEE ALSO" |
728 | .IX Header "SEE ALSO" |
815 | .IX Header "SEE ALSO" |