1 | .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3 |
1 | .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 |
2 | .\" |
2 | .\" |
3 | .\" Standard preamble: |
3 | .\" Standard preamble: |
4 | .\" ======================================================================== |
4 | .\" ======================================================================== |
5 | .de Sh \" Subsection heading |
5 | .de Sh \" Subsection heading |
6 | .br |
6 | .br |
… | |
… | |
23 | .ft R |
23 | .ft R |
24 | .fi |
24 | .fi |
25 | .. |
25 | .. |
26 | .\" Set up some character translations and predefined strings. \*(-- will |
26 | .\" Set up some character translations and predefined strings. \*(-- will |
27 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
27 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
28 | .\" double quote, and \*(R" will give a right double quote. | will give a |
28 | .\" double quote, and \*(R" will give a right double quote. \*(C+ will |
29 | .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to |
29 | .\" give a nicer C++. Capital omega is used to do unbreakable dashes and |
30 | .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' |
30 | .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, |
31 | .\" expand to `' in nroff, nothing in troff, for use with C<>. |
31 | .\" nothing in troff, for use with C<>. |
32 | .tr \(*W-|\(bv\*(Tr |
32 | .tr \(*W- |
33 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
33 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
34 | .ie n \{\ |
34 | .ie n \{\ |
35 | . ds -- \(*W- |
35 | . ds -- \(*W- |
36 | . ds PI pi |
36 | . ds PI pi |
37 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
37 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
… | |
… | |
127 | .\} |
127 | .\} |
128 | .rm #[ #] #H #V #F C |
128 | .rm #[ #] #H #V #F C |
129 | .\" ======================================================================== |
129 | .\" ======================================================================== |
130 | .\" |
130 | .\" |
131 | .IX Title "GVPE.CONF 5" |
131 | .IX Title "GVPE.CONF 5" |
132 | .TH GVPE.CONF 5 "2005-06-21" "1.9" "GNU Virtual Private Ethernet" |
132 | .TH GVPE.CONF 5 "2008-08-10" "2.2" "GNU Virtual Private Ethernet" |
133 | .SH "NAME" |
133 | .SH "NAME" |
134 | gvpe.conf \- configuration file for the GNU VPE daemon |
134 | gvpe.conf \- configuration file for the GNU VPE daemon |
135 | .SH "SYNOPSIS" |
135 | .SH "SYNOPSIS" |
136 | .IX Header "SYNOPSIS" |
136 | .IX Header "SYNOPSIS" |
137 | .Vb 3 |
137 | .Vb 3 |
138 | \& udp-port = 407 |
138 | \& udp\-port = 407 |
139 | \& mtu = 1492 |
139 | \& mtu = 1492 |
140 | \& ifname = vpn0 |
140 | \& ifname = vpn0 |
141 | .Ve |
141 | .Ve |
142 | .PP |
142 | .PP |
143 | .Vb 2 |
143 | .Vb 2 |
… | |
… | |
146 | .Ve |
146 | .Ve |
147 | .PP |
147 | .PP |
148 | .Vb 3 |
148 | .Vb 3 |
149 | \& node = branch2 |
149 | \& node = branch2 |
150 | \& hostname = www.example.net |
150 | \& hostname = www.example.net |
151 | \& udp-port = 500 # this host uses a different udp-port |
151 | \& udp\-port = 500 # this host uses a different udp\-port |
152 | .Ve |
152 | .Ve |
153 | .PP |
153 | .PP |
154 | .Vb 2 |
154 | .Vb 2 |
155 | \& node = branch3 |
155 | \& node = branch3 |
156 | \& connect = ondemand |
156 | \& connect = ondemand |
… | |
… | |
181 | listen on), followed by node-specific sections that begin with a \f(CW\*(C`node = |
181 | listen on), followed by node-specific sections that begin with a \f(CW\*(C`node = |
182 | nickname\*(C'\fR line. |
182 | nickname\*(C'\fR line. |
183 | .PP |
183 | .PP |
184 | Every node that is part of the network must have a section that starts |
184 | Every node that is part of the network must have a section that starts |
185 | with \f(CW\*(C`node = nickname\*(C'\fR. The number and order of the nodes is important |
185 | with \f(CW\*(C`node = nickname\*(C'\fR. The number and order of the nodes is important |
186 | and must be the same on all hosts. It is not uncommon for node sections to |
186 | and must be the same on all nodes. It is not uncommon for node sections to |
187 | be completely empty \- if the default values are right. |
187 | be completely empty \- if the default values are right. |
188 | .PP |
188 | .PP |
189 | Node-specific settings can be used at any time. If used before the first |
189 | Node-specific settings can be used at any time. If used before the first |
190 | node section they will set the default values for all following nodes. |
190 | node section they will set the default values for all following nodes. |
191 | .SH "CONFIG VARIABLES" |
191 | .SH "CONFIG VARIABLES" |
… | |
… | |
245 | get request timeouts. The default of \f(CW8\fR means that the \s-1DNS\s0 transport |
245 | get request timeouts. The default of \f(CW8\fR means that the \s-1DNS\s0 transport |
246 | will resend the request when no reply has been received for longer than |
246 | will resend the request when no reply has been received for longer than |
247 | eight times the minimum (= expected) latency, assuming the request or |
247 | eight times the minimum (= expected) latency, assuming the request or |
248 | reply has been lost. |
248 | reply has been lost. |
249 | .Sp |
249 | .Sp |
250 | For congested links a higher value might be necessary (e.g. \f(CW30\fR). If the |
250 | For congested links a higher value might be necessary (e.g. \f(CW30\fR). If |
251 | link is very stable lower values (e.g. \f(CW2\fR) might work nicely. Values |
251 | the link is very stable lower values (e.g. \f(CW2\fR) might work |
252 | near or below \f(CW1\fR makes no sense whatsoever. |
252 | nicely. Values near or below \f(CW1\fR makes no sense whatsoever. |
253 | .Sp |
253 | .Sp |
254 | The default should be working ok for most links. |
254 | The default should be working ok for most links but will result in low |
|
|
255 | throughput if packet loss is high. |
255 | .IP "if-up = relative-or-absolute-path" 4 |
256 | .IP "if-up = relative-or-absolute-path" 4 |
256 | .IX Item "if-up = relative-or-absolute-path" |
257 | .IX Item "if-up = relative-or-absolute-path" |
257 | Sets the path of a script that should be called immediately after the |
258 | Sets the path of a script that should be called immediately after the |
258 | network interface is initialized (but not neccessarily up). The following |
259 | network interface is initialized (but not neccessarily up). The following |
259 | environment variables are passed to it (the values are just examples). |
260 | environment variables are passed to it (the values are just examples). |
… | |
… | |
276 | \&\s-1OS\s0 name in lowercase) that this \s-1GVPE\s0 was configured for. Can be used to |
277 | \&\s-1OS\s0 name in lowercase) that this \s-1GVPE\s0 was configured for. Can be used to |
277 | select the correct syntax to use for network-related commands. |
278 | select the correct syntax to use for network-related commands. |
278 | .IP "MTU=1436" 4 |
279 | .IP "MTU=1436" 4 |
279 | .IX Item "MTU=1436" |
280 | .IX Item "MTU=1436" |
280 | The \s-1MTU\s0 to set the interface to. You can use lower values (if done |
281 | The \s-1MTU\s0 to set the interface to. You can use lower values (if done |
281 | consistently on all hosts), but this is usually ineffective. |
282 | consistently on all nodes), but this is usually either inefficient or |
|
|
283 | simply ineffective. |
282 | .IP "NODES=5" 4 |
284 | .IP "NODES=5" 4 |
283 | .IX Item "NODES=5" |
285 | .IX Item "NODES=5" |
284 | The number of nodes in this \s-1GVPE\s0 network. |
286 | The number of nodes in this \s-1GVPE\s0 network. |
285 | .RE |
287 | .RE |
286 | .RS 4 |
288 | .RS 4 |
… | |
… | |
338 | the local node, try to set this to \f(CW\*(C`off\*(C'\fR and do an ifconfig down on the |
340 | the local node, try to set this to \f(CW\*(C`off\*(C'\fR and do an ifconfig down on the |
339 | device. |
341 | device. |
340 | .IP "ip-proto = numerical-ip-protocol" 4 |
342 | .IP "ip-proto = numerical-ip-protocol" 4 |
341 | .IX Item "ip-proto = numerical-ip-protocol" |
343 | .IX Item "ip-proto = numerical-ip-protocol" |
342 | Sets the protocol number to be used for the rawip protocol. This is a |
344 | Sets the protocol number to be used for the rawip protocol. This is a |
343 | global option because all hosts must use the same protocol, and since |
345 | global option because all nodes must use the same protocol, and since |
344 | there are no port numbers, you cannot easily run more than one gvpe |
346 | there are no port numbers, you cannot easily run more than one gvpe |
345 | instance using the same protocol, nor can you share the protocol with |
347 | instance using the same protocol, nor can you share the protocol with |
346 | other programs. |
348 | other programs. |
347 | .Sp |
349 | .Sp |
348 | The default is 47 (\s-1GRE\s0), which has a good chance of tunneling through |
350 | The default is 47 (\s-1GRE\s0), which has a good chance of tunneling through |
… | |
… | |
362 | Please note that gvpe will still try to resolve all hostnames in the |
364 | Please note that gvpe will still try to resolve all hostnames in the |
363 | configuration file, so if you are behind a proxy without access to a dns |
365 | configuration file, so if you are behind a proxy without access to a dns |
364 | server better use numerical \s-1IP\s0 addresses. |
366 | server better use numerical \s-1IP\s0 addresses. |
365 | .Sp |
367 | .Sp |
366 | To make best use of this option disable all protocols except tcp in your |
368 | To make best use of this option disable all protocols except tcp in your |
367 | config file and make sure your routers (or all other hosts) are listening |
369 | config file and make sure your routers (or all other nodes) are listening |
368 | on a port that the proxy allows (443, https, is a common choice). |
370 | on a port that the proxy allows (443, https, is a common choice). |
369 | .Sp |
371 | .Sp |
370 | If you have a router, connecting to it will suffice. Otherwise tcp must be |
372 | If you have a router, connecting to it will suffice. Otherwise tcp must be |
371 | enabled on all hosts. |
373 | enabled on all nodes. |
372 | .Sp |
374 | .Sp |
373 | Example: |
375 | Example: |
374 | .Sp |
376 | .Sp |
375 | .Vb 3 |
377 | .Vb 3 |
376 | \& http-proxy-host = proxy.example.com |
378 | \& http\-proxy\-host = proxy.example.com |
377 | \& http-proxy-port = 3128 # 8080 is another common choice |
379 | \& http\-proxy\-port = 3128 # 8080 is another common choice |
378 | \& http-proxy-auth = schmorp:grumbeere |
380 | \& http\-proxy\-auth = schmorp:grumbeere |
379 | .Ve |
381 | .Ve |
380 | .IP "http-proxy-port = proxy-tcp-port" 4 |
382 | .IP "http-proxy-port = proxy-tcp-port" 4 |
381 | .IX Item "http-proxy-port = proxy-tcp-port" |
383 | .IX Item "http-proxy-port = proxy-tcp-port" |
382 | The port where your proxy server listens. |
384 | The port where your proxy server listens. |
383 | .IP "http-proxy-auth = login:password" 4 |
385 | .IP "http-proxy-auth = login:password" 4 |
… | |
… | |
403 | maximum overhead (e.g. udp header size, encryption blocksize...) and pass |
405 | maximum overhead (e.g. udp header size, encryption blocksize...) and pass |
404 | this information to the \f(CW\*(C`if\-up\*(C'\fR script. |
406 | this information to the \f(CW\*(C`if\-up\*(C'\fR script. |
405 | .Sp |
407 | .Sp |
406 | Recommended values are 1500 (ethernet), 1492 (pppoe), 1472 (pptp). |
408 | Recommended values are 1500 (ethernet), 1492 (pppoe), 1472 (pptp). |
407 | .Sp |
409 | .Sp |
408 | This value must be the minimum of the mtu values of all hosts. |
410 | This value must be the minimum of the mtu values of all nodes. |
409 | .IP "node = nickname" 4 |
411 | .IP "node = nickname" 4 |
410 | .IX Item "node = nickname" |
412 | .IX Item "node = nickname" |
411 | Not really a config setting but introduces a node section. The nickname is |
413 | Not really a config setting but introduces a node section. The nickname is |
412 | used to select the right configuration section and must be passed as an |
414 | used to select the right configuration section and must be passed as an |
413 | argument to the gvpe daemon. |
415 | argument to the gvpe daemon. |
414 | .IP "node-up = relative-or-absolute-path" 4 |
416 | .IP "node-up = relative-or-absolute-path" 4 |
415 | .IX Item "node-up = relative-or-absolute-path" |
417 | .IX Item "node-up = relative-or-absolute-path" |
416 | Sets a command (default: no script) that should be called whenever a |
418 | Sets a command (default: none) that should be called whenever a connection |
417 | connection is established (even on rekeying operations). In addition to |
419 | is established (even on rekeying operations). Note that node\-up/down |
|
|
420 | scripts will be run asynchronously, but execution is serialised, so there |
|
|
421 | will only ever be one such script running. |
|
|
422 | .Sp |
418 | all the variables passed to \f(CW\*(C`if\-up\*(C'\fR scripts, the following environment |
423 | In addition to all the variables passed to \f(CW\*(C`if\-up\*(C'\fR scripts, the following |
419 | variables will be set: |
424 | environment variables will be set: |
420 | .RS 4 |
425 | .RS 4 |
421 | .IP "DESTNODE=branch2" 4 |
426 | .IP "DESTNODE=branch2" 4 |
422 | .IX Item "DESTNODE=branch2" |
427 | .IX Item "DESTNODE=branch2" |
423 | The name of the remote node. |
428 | The name of the remote node. |
424 | .IP "DESTID=2" 4 |
429 | .IP "DESTID=2" 4 |
425 | .IX Item "DESTID=2" |
430 | .IX Item "DESTID=2" |
426 | The node id of the remote node. |
431 | The node id of the remote node. |
427 | .IP "DESTIP=188.13.66.8" 4 |
432 | .IP "DESTIP=188.13.66.8" 4 |
428 | .IX Item "DESTIP=188.13.66.8" |
433 | .IX Item "DESTIP=188.13.66.8" |
429 | The numerical \s-1IP\s0 address of the remote host (gvpe accepts connections from |
434 | The numerical \s-1IP\s0 address of the remote node (gvpe accepts connections from |
430 | everywhere, as long as the other host can authenticate itself). |
435 | everywhere, as long as the other node can authenticate itself). |
431 | .IP "DESTPORT=655 # deprecated" 4 |
436 | .IP "DESTPORT=655 # deprecated" 4 |
432 | .IX Item "DESTPORT=655 # deprecated" |
437 | .IX Item "DESTPORT=655 # deprecated" |
433 | The \s-1UDP\s0 port used by the other side. |
438 | The \s-1UDP\s0 port used by the other side. |
434 | .IP "STATE=UP" 4 |
439 | .IP "STATE=UP" 4 |
435 | .IX Item "STATE=UP" |
440 | .IX Item "STATE=UP" |
… | |
… | |
445 | \& #!/bin/sh |
450 | \& #!/bin/sh |
446 | \& { |
451 | \& { |
447 | \& echo update delete $DESTNODE.lowttl.example.net. a |
452 | \& echo update delete $DESTNODE.lowttl.example.net. a |
448 | \& echo update add $DESTNODE.lowttl.example.net. 1 in a $DESTIP |
453 | \& echo update add $DESTNODE.lowttl.example.net. 1 in a $DESTIP |
449 | \& echo |
454 | \& echo |
450 | \& } | nsupdate -d -k $CONFBASE:key.example.net. |
455 | \& } | nsupdate \-d \-k $CONFBASE:key.example.net. |
451 | .Ve |
456 | .Ve |
452 | .RE |
457 | .RE |
453 | .IP "node-down = relative-or-absolute-path" 4 |
458 | .IP "node-down = relative-or-absolute-path" 4 |
454 | .IX Item "node-down = relative-or-absolute-path" |
459 | .IX Item "node-down = relative-or-absolute-path" |
455 | Same as \f(CW\*(C`node\-up\*(C'\fR, but gets called whenever a connection is lost. |
460 | Same as \f(CW\*(C`node\-up\*(C'\fR, but gets called whenever a connection is lost. |
… | |
… | |
464 | be doubled. A single \f(CW%s\fR is replaced by the hostname, so you could |
469 | be doubled. A single \f(CW%s\fR is replaced by the hostname, so you could |
465 | use paths like \f(CW\*(C`hostkeys/%s\*(C'\fR to fetch the files at the location where |
470 | use paths like \f(CW\*(C`hostkeys/%s\*(C'\fR to fetch the files at the location where |
466 | \&\f(CW\*(C`gvpectrl\*(C'\fR puts them. |
471 | \&\f(CW\*(C`gvpectrl\*(C'\fR puts them. |
467 | .Sp |
472 | .Sp |
468 | Since only the private key file of the current node is used and the |
473 | Since only the private key file of the current node is used and the |
469 | private key file should be kept secret per-host to avoid spoofings, it is |
474 | private key file should be kept secret per-node to avoid spoofings, it is |
470 | not recommended to use this feature. |
475 | not recommended to use this feature. |
471 | .IP "rekey = seconds" 4 |
476 | .IP "rekey = seconds" 4 |
472 | .IX Item "rekey = seconds" |
477 | .IX Item "rekey = seconds" |
473 | Sets the rekeying interval in seconds (default: \f(CW3600\fR). Connections are |
478 | Sets the rekeying interval in seconds (default: \f(CW3600\fR). Connections are |
474 | reestablished every \f(CW\*(C`rekey\*(C'\fR seconds. |
479 | reestablished every \f(CW\*(C`rekey\*(C'\fR seconds. |
475 | .Sh "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" |
480 | .Sh "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" |
476 | .IX Subsection "NODE SPECIFIC SETTINGS" |
481 | .IX Subsection "NODE SPECIFIC SETTINGS" |
477 | The following settings are node\-specific, that is, every node can have |
482 | The following settings are node\-specific, that is, every node can have |
478 | different settings, even within the same gvpe instance. Settings that are |
483 | different settings, even within the same gvpe instance. Settings that are |
479 | executed before the first node section set the defaults, settings that are |
484 | set before the first node section set the defaults, settings that are |
480 | executed within a node section only apply to the given node. |
485 | set within a node section only apply to the given node. |
|
|
486 | .IP "allow-direct = nodename" 4 |
|
|
487 | .IX Item "allow-direct = nodename" |
|
|
488 | Allow direct connections to this node. See \f(CW\*(C`deny\-direct\*(C'\fR for more info. |
481 | .IP "compress = yes|true|on | no|false|off" 4 |
489 | .IP "compress = yes|true|on | no|false|off" 4 |
482 | .IX Item "compress = yes|true|on | no|false|off" |
490 | .IX Item "compress = yes|true|on | no|false|off" |
483 | Wether to compress data packets sent to this host (default: \f(CW\*(C`yes\*(C'\fR). |
491 | Wether to compress data packets sent to this node (default: \f(CW\*(C`yes\*(C'\fR). |
484 | Compression is really cheap even on slow computers and has no size |
492 | Compression is really cheap even on slow computers and has no size |
485 | overhead at all, so enabling this is a good idea. |
493 | overhead at all, so enabling this is a good idea. |
486 | .IP "connect = ondemand | never | always | disabled" 4 |
494 | .IP "connect = ondemand | never | always | disabled" 4 |
487 | .IX Item "connect = ondemand | never | always | disabled" |
495 | .IX Item "connect = ondemand | never | always | disabled" |
488 | Sets the connect mode (default: \f(CW\*(C`always\*(C'\fR). It can be \f(CW\*(C`always\*(C'\fR (always |
496 | Sets the connect mode (default: \f(CW\*(C`always\*(C'\fR). It can be \f(CW\*(C`always\*(C'\fR (always |
489 | try to establish and keep a connection to the given host), \f(CW\*(C`never\*(C'\fR |
497 | try to establish and keep a connection to the given node), \f(CW\*(C`never\*(C'\fR |
490 | (never initiate a connection to the given host, but accept connections), |
498 | (never initiate a connection to the given host, but accept connections), |
491 | \&\f(CW\*(C`ondemand\*(C'\fR (try to establish a connection on the first packet sent, and |
499 | \&\f(CW\*(C`ondemand\*(C'\fR (try to establish a connection when there are outstanding |
492 | take it down after the keepalive interval) or \f(CW\*(C`disabled\*(C'\fR (node is bad, |
500 | packets in the queue and take it down after the keepalive interval) or |
493 | don't talk to it). |
501 | \&\f(CW\*(C`disabled\*(C'\fR (node is bad, don't talk to it). |
|
|
502 | .Sp |
|
|
503 | Routers will automatically be forced to \f(CW\*(C`always\*(C'\fR unless they are |
|
|
504 | \&\f(CW\*(C`disabled\*(C'\fR, to ensure all nodes can talk to each other. |
|
|
505 | .IP "deny-direct = nodename | *" 4 |
|
|
506 | .IX Item "deny-direct = nodename | *" |
|
|
507 | Deny direct connections to the specified node (or all nodes when \f(CW\*(C`*\*(C'\fR |
|
|
508 | is given). Only one node can be specified, but you can use multiple |
|
|
509 | \&\f(CW\*(C`allow\-direct\*(C'\fR and \f(CW\*(C`deny\-direct\*(C'\fR statements. This only makes sense in |
|
|
510 | networks with routers, as routers are required for indirect connections. |
|
|
511 | .Sp |
|
|
512 | Sometimes, a node cannot reach some other nodes for reasons of network |
|
|
513 | connectivity. For example, a node behind a firewall that only allows |
|
|
514 | conenctions to/from a single other node in the network. In this case one |
|
|
515 | should specify \f(CW\*(C`deny\-direct = *\*(C'\fR and \f(CW\*(C`allow\-direct = othernodename\*(C'\fR (the other |
|
|
516 | node \fImust\fR be a router for this to work). |
|
|
517 | .Sp |
|
|
518 | The algorithm to check wether a connection may be direct is as follows: |
|
|
519 | .Sp |
|
|
520 | 1. Other node mentioned in a \f(CW\*(C`allow\-direct\*(C'\fR? If yes, allow the connection. |
|
|
521 | .Sp |
|
|
522 | 2. Other node mentioned in a \f(CW\*(C`deny\-direct\*(C'\fR? If yes, deny direct connections. |
|
|
523 | .Sp |
|
|
524 | 3. Allow the connection. |
|
|
525 | .Sp |
|
|
526 | That is, \f(CW\*(C`allow\-direct\*(C'\fR takes precedence over \f(CW\*(C`deny\-direct\*(C'\fR. |
|
|
527 | .Sp |
|
|
528 | The check is done in both directions, i.e. both nodes must allow a direct |
|
|
529 | connection before one is attempted, so you only need to specify connect |
|
|
530 | limitations on one node. |
494 | .IP "dns-domain = domain-suffix" 4 |
531 | .IP "dns-domain = domain-suffix" 4 |
495 | .IX Item "dns-domain = domain-suffix" |
532 | .IX Item "dns-domain = domain-suffix" |
496 | The \s-1DNS\s0 domain suffix that points to the \s-1DNS\s0 tunnel server for this node. |
533 | The \s-1DNS\s0 domain suffix that points to the \s-1DNS\s0 tunnel server for this node. |
497 | .Sp |
534 | .Sp |
498 | The domain must point to a \s-1NS\s0 record that points to the \fIdns-hostname\fR, |
535 | The domain must point to a \s-1NS\s0 record that points to the \fIdns-hostname\fR, |
499 | i.e. |
536 | i.e. |
500 | .Sp |
537 | .Sp |
501 | .Vb 2 |
538 | .Vb 2 |
502 | \& dns-domainname = tunnel.example.net |
539 | \& dns\-domainname = tunnel.example.net |
503 | \& dns-hostname = tunnel-server.example.net |
540 | \& dns\-hostname = tunnel\-server.example.net |
504 | .Ve |
541 | .Ve |
505 | .Sp |
542 | .Sp |
506 | Corresponds to the following \s-1DNS\s0 entries in the \f(CW\*(C`example.net\*(C'\fR domain: |
543 | Corresponds to the following \s-1DNS\s0 entries in the \f(CW\*(C`example.net\*(C'\fR domain: |
507 | .Sp |
544 | .Sp |
508 | .Vb 2 |
545 | .Vb 2 |
509 | \& tunnel.example.net. NS tunnel-server.example.net. |
546 | \& tunnel.example.net. NS tunnel\-server.example.net. |
510 | \& tunnel-server.example.net. A 13.13.13.13 |
547 | \& tunnel\-server.example.net. A 13.13.13.13 |
511 | .Ve |
548 | .Ve |
512 | .IP "dns-hostname = hostname/ip" 4 |
549 | .IP "dns-hostname = hostname/ip" 4 |
513 | .IX Item "dns-hostname = hostname/ip" |
550 | .IX Item "dns-hostname = hostname/ip" |
514 | The address to bind the \s-1DNS\s0 tunnel socket to, similar to the \f(CW\*(C`hostname\*(C'\fR, |
551 | The address to bind the \s-1DNS\s0 tunnel socket to, similar to the \f(CW\*(C`hostname\*(C'\fR, |
515 | but for the \s-1DNS\s0 tunnel protocol only. Default: \f(CW0.0.0.0\fR, but that might |
552 | but for the \s-1DNS\s0 tunnel protocol only. Default: \f(CW0.0.0.0\fR, but that might |
… | |
… | |
553 | protocol is enabled automatically). |
590 | protocol is enabled automatically). |
554 | .Sp |
591 | .Sp |
555 | \&\s-1NOTE:\s0 Please specify \f(CW\*(C`enable\-udp = yes\*(C'\fR if you want t use it even though |
592 | \&\s-1NOTE:\s0 Please specify \f(CW\*(C`enable\-udp = yes\*(C'\fR if you want t use it even though |
556 | it might get switched on automatically, as some future version might |
593 | it might get switched on automatically, as some future version might |
557 | default to another default protocol. |
594 | default to another default protocol. |
|
|
595 | .IP "hostname = hostname | ip [can not be defaulted]" 4 |
|
|
596 | .IX Item "hostname = hostname | ip [can not be defaulted]" |
|
|
597 | Forces the address of this node to be set to the given dns hostname or ip |
|
|
598 | address. It will be resolved before each connect request, so dyndns should |
|
|
599 | work fine. If this setting is not specified and a router is available, |
|
|
600 | then the router will be queried for the address of this node. Otherwise, |
|
|
601 | the connection attempt will fail. |
558 | .IP "icmp-type = integer" 4 |
602 | .IP "icmp-type = integer" 4 |
559 | .IX Item "icmp-type = integer" |
603 | .IX Item "icmp-type = integer" |
560 | Sets the type value to be used for outgoing (and incoming) packets sent |
604 | Sets the type value to be used for outgoing (and incoming) packets sent |
561 | via the \s-1ICMP\s0 transport. |
605 | via the \s-1ICMP\s0 transport. |
562 | .Sp |
606 | .Sp |
… | |
… | |
579 | retries to establish a connection to this node. When a connection cannot |
623 | retries to establish a connection to this node. When a connection cannot |
580 | be established, gvpe uses exponential backoff capped at this value. It's |
624 | be established, gvpe uses exponential backoff capped at this value. It's |
581 | sometimes useful to set this to a much lower value (e.g. \f(CW120\fR) on |
625 | sometimes useful to set this to a much lower value (e.g. \f(CW120\fR) on |
582 | connections to routers that usually are stable but sometimes are down, to |
626 | connections to routers that usually are stable but sometimes are down, to |
583 | assure quick reconnections even after longer downtimes. |
627 | assure quick reconnections even after longer downtimes. |
|
|
628 | .IP "max-ttl = seconds" 4 |
|
|
629 | .IX Item "max-ttl = seconds" |
|
|
630 | Expire packets that couldn't be sent after this many seconds |
|
|
631 | (default: \f(CW60\fR). Gvpe will normally queue packets for a node without an |
|
|
632 | active connection, in the hope of establishing a connection soon. This |
|
|
633 | value specifies the maximum lifetime a packet will stay in the queue, if a |
|
|
634 | packet gets older, it will be thrown away. |
|
|
635 | .IP "max-queue = positive\-number>=1" 4 |
|
|
636 | .IX Item "max-queue = positive-number>=1" |
|
|
637 | The maximum number of packets that will be queued (default: \f(CW512\fR) |
|
|
638 | for this node. If more packets are sent then earlier packets will be |
|
|
639 | expired. See \f(CW\*(C`max\-ttl\*(C'\fR, above. |
584 | .IP "router-priority = 0 | 1 | positive\-number>=2" 4 |
640 | .IP "router-priority = 0 | 1 | positive\-number>=2" 4 |
585 | .IX Item "router-priority = 0 | 1 | positive-number>=2" |
641 | .IX Item "router-priority = 0 | 1 | positive-number>=2" |
586 | Sets the router priority of the given host (default: \f(CW0\fR, disabled). If |
642 | Sets the router priority of the given node (default: \f(CW0\fR, disabled). |
587 | some host tries to connect to another host without a hostname, it asks |
|
|
588 | the router host for it's \s-1IP\s0 address. The router host is the one with the |
|
|
589 | highest priority larger than \f(CW1\fR that is currently reachable. |
|
|
590 | .Sp |
643 | .Sp |
591 | Make sure all hosts always connect (\f(CW\*(C`connect = always\*(C'\fR) to the router |
644 | If some node tries to connect to another node but it doesn't have a |
592 | hosts, otherwise connecting to them might be impossible. |
645 | hostname, it asks a router node for it's \s-1IP\s0 address. The router node |
|
|
646 | chosen is the one with the highest priority larger than \f(CW1\fR that is |
|
|
647 | currently reachable. This is called a \fImediated\fR connection, as the |
|
|
648 | connection itself will still be direct, but it uses another node to |
|
|
649 | mediate between the two nodes. |
|
|
650 | .Sp |
|
|
651 | The value \f(CW0\fR disables routing, that means if the node receives a packet |
|
|
652 | not for itself it will not forward it but instead drop it. |
593 | .Sp |
653 | .Sp |
594 | The special value \f(CW1\fR allows other hosts to route through the router |
654 | The special value \f(CW1\fR allows other hosts to route through the router |
595 | host, but they will never route through it by default. The value \f(CW0\fR |
655 | host, but they will never route through it by default (i.e. the config |
596 | disables routing. The idea behind this is that some hosts can, if |
656 | file of another node needs to specify a router priority higher than one |
|
|
657 | to choose such a node for routing). |
|
|
658 | .Sp |
|
|
659 | The idea behind this is that some hosts can, if required, bump the |
597 | required, bump the \f(CW\*(C`router\-priority\*(C'\fR setting to higher than \f(CW1\fR in their |
660 | \&\f(CW\*(C`router\-priority\*(C'\fR setting to higher than \f(CW1\fR in their local config to |
598 | local config to route through specific hosts. If \f(CW\*(C`router\-priority\*(C'\fR is |
661 | route through specific hosts. If \f(CW\*(C`router\-priority\*(C'\fR is \f(CW0\fR, then routing |
599 | \&\f(CW0\fR, then routing will be refused, so \f(CW1\fR serves as a \*(L"enable, but do |
662 | will be refused, so \f(CW1\fR serves as a \*(L"enable, but do not use by default\*(R" |
600 | not use by default\*(R" switch. |
663 | switch. |
|
|
664 | .Sp |
|
|
665 | Nodes with \f(CW\*(C`router\-priority\*(C'\fR set to \f(CW2\fR or higher will always be forced |
|
|
666 | to \f(CW\*(C`connect\*(C'\fR = \f(CW\*(C`always\*(C'\fR (unless they are \f(CW\*(C`disabled\*(C'\fR). |
601 | .IP "tcp-port = port-number" 4 |
667 | .IP "tcp-port = port-number" 4 |
602 | .IX Item "tcp-port = port-number" |
668 | .IX Item "tcp-port = port-number" |
603 | Similar to \f(CW\*(C`udp\-port\*(C'\fR (default: \f(CW655\fR), but sets the \s-1TCP\s0 port number. |
669 | Similar to \f(CW\*(C`udp\-port\*(C'\fR (default: \f(CW655\fR), but sets the \s-1TCP\s0 port number. |
604 | .IP "udp-port = port-number" 4 |
670 | .IP "udp-port = port-number" 4 |
605 | .IX Item "udp-port = port-number" |
671 | .IX Item "udp-port = port-number" |