1 | .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 |
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 |
… | |
… | |
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-03-23" "1.8" "GNU Virtual Private Ethernet" |
132 | .TH GVPE.CONF 5 "2006-08-02" "2.0" "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 |
… | |
… | |
158 | .SH "DESCRIPTION" |
158 | .SH "DESCRIPTION" |
159 | .IX Header "DESCRIPTION" |
159 | .IX Header "DESCRIPTION" |
160 | The gvpe config file consists of a series of lines that contain \f(CW\*(C`variable |
160 | The gvpe config file consists of a series of lines that contain \f(CW\*(C`variable |
161 | = value\*(C'\fR pairs. Empty lines are ignored. Comments start with a \f(CW\*(C`#\*(C'\fR and |
161 | = value\*(C'\fR pairs. Empty lines are ignored. Comments start with a \f(CW\*(C`#\*(C'\fR and |
162 | extend to the end of the line. They can be used on their own lines, or |
162 | extend to the end of the line. They can be used on their own lines, or |
163 | after any directives. Spaces are allowed before or after the \f(CW\*(C`=\*(C'\fR sign or |
163 | after any directives. Whitespace is allowed around the \f(CW\*(C`=\*(C'\fR sign or after |
164 | after values, but not within the variable names or values themselves. |
164 | values, but not within the variable names or values themselves. |
165 | .PP |
165 | .PP |
166 | The only exception to the above is the \*(L"on\*(R" directive that can prefix any |
166 | The only exception to the above is the \*(L"on\*(R" directive that can prefix any |
167 | \&\f(CW\*(C`name = value\*(C'\fR setting and will only \*(L"execute\*(R" it on the named node, or |
167 | \&\f(CW\*(C`name = value\*(C'\fR setting and will only \*(L"execute\*(R" it on the named node, or |
168 | (if the nodename starts with \*(L"!\*(R") on all nodes except the named one. |
168 | (if the nodename starts with \*(L"!\*(R") on all nodes except the named one. |
169 | .PP |
169 | .PP |
… | |
… | |
254 | The default should be working ok for most links. |
254 | The default should be working ok for most links. |
255 | .IP "if-up = relative-or-absolute-path" 4 |
255 | .IP "if-up = relative-or-absolute-path" 4 |
256 | .IX Item "if-up = relative-or-absolute-path" |
256 | .IX Item "if-up = relative-or-absolute-path" |
257 | Sets the path of a script that should be called immediately after the |
257 | Sets the path of a script that should be called immediately after the |
258 | network interface is initialized (but not neccessarily up). The following |
258 | network interface is initialized (but not neccessarily up). The following |
259 | environment variables are passed to it (the values are just examples): |
259 | environment variables are passed to it (the values are just examples). |
|
|
260 | .Sp |
|
|
261 | Variables that have the same value on all nodes: |
260 | .RS 4 |
262 | .RS 4 |
261 | .IP "CONFBASE=/etc/gvpe" 4 |
263 | .IP "CONFBASE=/etc/gvpe" 4 |
262 | .IX Item "CONFBASE=/etc/gvpe" |
264 | .IX Item "CONFBASE=/etc/gvpe" |
263 | The configuration base directory. |
265 | The configuration base directory. |
264 | .IP "IFNAME=vpn0" 4 |
266 | .IP "IFNAME=vpn0" 4 |
265 | .IX Item "IFNAME=vpn0" |
267 | .IX Item "IFNAME=vpn0" |
266 | The interface to initialize. |
268 | The network interface to initialize. |
267 | .IP "MTU=1436" 4 |
|
|
268 | .IX Item "MTU=1436" |
|
|
269 | The \s-1MTU\s0 to set the interface to. You can use lower values (if done |
|
|
270 | consistently on all hosts), but this is usually ineffective. |
|
|
271 | .IP "MAC=fe:fd:80:00:00:01" 4 |
|
|
272 | .IX Item "MAC=fe:fd:80:00:00:01" |
|
|
273 | The \s-1MAC\s0 address to set the interface to. The script *must* set the |
|
|
274 | interface \s-1MAC\s0 to this value. You will most likely use one of these: |
|
|
275 | .Sp |
|
|
276 | .Vb 2 |
|
|
277 | \& ip link set $IFNAME address $MAC mtu $MTU up # GNU/Linux |
|
|
278 | \& ifconfig $IFNAME ether $MAC mtu $MTU up # FreeBSD |
|
|
279 | .Ve |
|
|
280 | .Sp |
|
|
281 | Please see the \f(CW\*(C`gvpe.osdep(5)\*(C'\fR manpage for platform-specific information. |
|
|
282 | .IP "IFTYPE=native # or tincd" 4 |
269 | .IP "IFTYPE=native # or tincd" 4 |
283 | .IX Item "IFTYPE=native # or tincd" |
270 | .IX Item "IFTYPE=native # or tincd" |
284 | .PD 0 |
271 | .PD 0 |
285 | .IP "IFSUBTYPE=linux # or freebsd, darwin etc.." 4 |
272 | .IP "IFSUBTYPE=linux # or freebsd, darwin etc.." 4 |
286 | .IX Item "IFSUBTYPE=linux # or freebsd, darwin etc.." |
273 | .IX Item "IFSUBTYPE=linux # or freebsd, darwin etc.." |
287 | .PD |
274 | .PD |
288 | The interface type (\f(CW\*(C`native\*(C'\fR or \f(CW\*(C`tincd\*(C'\fR) and the subtype (usually the os |
275 | The interface type (\f(CW\*(C`native\*(C'\fR or \f(CW\*(C`tincd\*(C'\fR) and the subtype (usually the |
289 | name in lowercase) that this gvpe was configured for. Can be used to select |
276 | \&\s-1OS\s0 name in lowercase) that this \s-1GVPE\s0 was configured for. Can be used to |
290 | the correct syntax to use for network-related commands. |
277 | select the correct syntax to use for network-related commands. |
|
|
278 | .IP "MTU=1436" 4 |
|
|
279 | .IX Item "MTU=1436" |
|
|
280 | 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 | .IP "NODES=5" 4 |
|
|
283 | .IX Item "NODES=5" |
|
|
284 | The number of nodes in this \s-1GVPE\s0 network. |
|
|
285 | .RE |
|
|
286 | .RS 4 |
|
|
287 | .Sp |
|
|
288 | Variables that are node-specific and with values pertaining to the node |
|
|
289 | running this \s-1GVPE:\s0 |
|
|
290 | .IP "IFUPDATA=string" 4 |
|
|
291 | .IX Item "IFUPDATA=string" |
|
|
292 | The value of the configuration directive \f(CW\*(C`if\-up\-data\*(C'\fR. |
|
|
293 | .IP "MAC=fe:fd:80:00:00:01" 4 |
|
|
294 | .IX Item "MAC=fe:fd:80:00:00:01" |
|
|
295 | The \s-1MAC\s0 address the network interface has to use. |
|
|
296 | .Sp |
|
|
297 | Might be used to initialize interfaces on platforms where \s-1GVPE\s0 does not |
|
|
298 | do this automatically. Please see the \f(CW\*(C`gvpe.osdep(5)\*(C'\fR manpage for |
|
|
299 | platform-specific information. |
291 | .IP "NODENAME=branch1" 4 |
300 | .IP "NODENAME=branch1" 4 |
292 | .IX Item "NODENAME=branch1" |
301 | .IX Item "NODENAME=branch1" |
293 | The nickname of the current node, as passed to the gvpe daemon. |
302 | The nickname of the node. |
294 | .IP "NODEID=1" 4 |
303 | .IP "NODEID=1" 4 |
295 | .IX Item "NODEID=1" |
304 | .IX Item "NODEID=1" |
296 | The numerical node id of the current node. The first node mentioned in the |
305 | The numerical node \s-1ID\s0 of the node running this instance of \s-1GVPE\s0. The first |
297 | config file gets \s-1ID\s0 1, the second \s-1ID\s0 2 and so on. |
306 | node mentioned in the config file gets \s-1ID\s0 1, the second \s-1ID\s0 2 and so on. |
298 | .RE |
307 | .RE |
299 | .RS 4 |
308 | .RS 4 |
300 | .Sp |
309 | .Sp |
|
|
310 | In addition, all node-specific variables (except \f(CW\*(C`NODEID\*(C'\fR) will be |
|
|
311 | available with a postfix of \f(CW\*(C`_nodeid\*(C'\fR, which contains the value for that |
|
|
312 | node, e.g. the \f(CW\*(C`MAC_1\*(C'\fR variable contains the \s-1MAC\s0 address of node #1, while |
|
|
313 | the \f(CW\*(C`NODENAME_22\*(C'\fR variable contains the name of node #22. |
|
|
314 | .Sp |
301 | Here is a simple if-up script: |
315 | Here is a simple if-up script: |
302 | .Sp |
316 | .Sp |
303 | .Vb 5 |
317 | .Vb 5 |
304 | \& #!/bin/sh |
318 | \& #!/bin/sh |
305 | \& ip link set $IFNAME address $MAC mtu $MTU up |
319 | \& ip link set $IFNAME up |
306 | \& [ $NODENAME = branch1 ] && ip addr add 10.0.0.1 dev $IFNAME |
320 | \& [ $NODENAME = branch1 ] && ip addr add 10.0.0.1 dev $IFNAME |
307 | \& [ $NODENAME = branch2 ] && ip addr add 10.1.0.1 dev $IFNAME |
321 | \& [ $NODENAME = branch2 ] && ip addr add 10.1.0.1 dev $IFNAME |
308 | \& ip route add 10.0.0.0/8 dev $IFNAME |
322 | \& ip route add 10.0.0.0/8 dev $IFNAME |
309 | .Ve |
323 | .Ve |
310 | .Sp |
324 | .Sp |
… | |
… | |
398 | used to select the right configuration section and must be passed as an |
412 | used to select the right configuration section and must be passed as an |
399 | argument to the gvpe daemon. |
413 | argument to the gvpe daemon. |
400 | .IP "node-up = relative-or-absolute-path" 4 |
414 | .IP "node-up = relative-or-absolute-path" 4 |
401 | .IX Item "node-up = relative-or-absolute-path" |
415 | .IX Item "node-up = relative-or-absolute-path" |
402 | Sets a command (default: no script) that should be called whenever a |
416 | Sets a command (default: no script) that should be called whenever a |
403 | connection is established (even on rekeying operations). In addition |
417 | connection is established (even on rekeying operations). In addition to |
404 | to the variables passed to \f(CW\*(C`if\-up\*(C'\fR scripts, the following environment |
418 | all the variables passed to \f(CW\*(C`if\-up\*(C'\fR scripts, the following environment |
405 | variables will be set: |
419 | variables will be set: |
406 | .RS 4 |
420 | .RS 4 |
407 | .IP "DESTNODE=branch2" 4 |
421 | .IP "DESTNODE=branch2" 4 |
408 | .IX Item "DESTNODE=branch2" |
422 | .IX Item "DESTNODE=branch2" |
409 | The name of the remote node. |
423 | The name of the remote node. |
… | |
… | |
460 | reestablished every \f(CW\*(C`rekey\*(C'\fR seconds. |
474 | reestablished every \f(CW\*(C`rekey\*(C'\fR seconds. |
461 | .Sh "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" |
475 | .Sh "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" |
462 | .IX Subsection "NODE SPECIFIC SETTINGS" |
476 | .IX Subsection "NODE SPECIFIC SETTINGS" |
463 | The following settings are node\-specific, that is, every node can have |
477 | The following settings are node\-specific, that is, every node can have |
464 | different settings, even within the same gvpe instance. Settings that are |
478 | different settings, even within the same gvpe instance. Settings that are |
465 | executed before the first node section set the defaults, settings that are |
479 | set before the first node section set the defaults, settings that are |
466 | executed within a node section only apply to the given node. |
480 | set within a node section only apply to the given node. |
|
|
481 | .IP "allow-direct = nodename" 4 |
|
|
482 | .IX Item "allow-direct = nodename" |
|
|
483 | Allow direct connections to this node. See \f(CW\*(C`deny\-direct\*(C'\fR for more info. |
467 | .IP "compress = yes|true|on | no|false|off" 4 |
484 | .IP "compress = yes|true|on | no|false|off" 4 |
468 | .IX Item "compress = yes|true|on | no|false|off" |
485 | .IX Item "compress = yes|true|on | no|false|off" |
469 | Wether to compress data packets sent to this host (default: \f(CW\*(C`yes\*(C'\fR). |
486 | Wether to compress data packets sent to this host (default: \f(CW\*(C`yes\*(C'\fR). |
470 | Compression is really cheap even on slow computers and has no size |
487 | Compression is really cheap even on slow computers and has no size |
471 | overhead at all, so enabling this is a good idea. |
488 | overhead at all, so enabling this is a good idea. |
… | |
… | |
475 | try to establish and keep a connection to the given host), \f(CW\*(C`never\*(C'\fR |
492 | try to establish and keep a connection to the given host), \f(CW\*(C`never\*(C'\fR |
476 | (never initiate a connection to the given host, but accept connections), |
493 | (never initiate a connection to the given host, but accept connections), |
477 | \&\f(CW\*(C`ondemand\*(C'\fR (try to establish a connection on the first packet sent, and |
494 | \&\f(CW\*(C`ondemand\*(C'\fR (try to establish a connection on the first packet sent, and |
478 | take it down after the keepalive interval) or \f(CW\*(C`disabled\*(C'\fR (node is bad, |
495 | take it down after the keepalive interval) or \f(CW\*(C`disabled\*(C'\fR (node is bad, |
479 | don't talk to it). |
496 | don't talk to it). |
|
|
497 | .IP "deny-direct = nodename | *" 4 |
|
|
498 | .IX Item "deny-direct = nodename | *" |
|
|
499 | Deny direct connections to the specified node (or all nodes when \f(CW\*(C`*\*(C'\fR |
|
|
500 | is given). Only one node can be specified, but you can use multiple |
|
|
501 | \&\f(CW\*(C`allow\-direct\*(C'\fR and \f(CW\*(C`deny\-direct\*(C'\fR statements. This only makes sense in |
|
|
502 | networks with routers, as routers are required for indirect connections. |
|
|
503 | .Sp |
|
|
504 | Sometimes, a node cannot reach some other nodes for reasons of network |
|
|
505 | connectivity. For example, a node behind a firewall that only allows |
|
|
506 | conenctions to/from a single other node in the network. In this case one |
|
|
507 | should specify \f(CW\*(C`deny\-direct = *\*(C'\fR and \f(CW\*(C`allow\-direct = othernodename\*(C'\fR (the other |
|
|
508 | node \fImust\fR be a router for this to work). |
|
|
509 | .Sp |
|
|
510 | The algorithm to check wether a connection may be direct is as follows: |
|
|
511 | .Sp |
|
|
512 | 1. Other node mentioned in a \f(CW\*(C`allow\-direct\*(C'\fR? If yes, allow the connection. |
|
|
513 | .Sp |
|
|
514 | 2. Other node mentioned in a \f(CW\*(C`deny\-direct\*(C'\fR? If yes, deny direct connections. |
|
|
515 | .Sp |
|
|
516 | 3. Allow the connection. |
|
|
517 | .Sp |
|
|
518 | That is, \f(CW\*(C`allow\-direct\*(C'\fR takes precedence over \f(CW\*(C`deny\-direct\*(C'\fR. |
|
|
519 | .Sp |
|
|
520 | The check is done in both directions, i.e. both nodes must allow a direct |
|
|
521 | connection before one is attempted, so you only need to specify connect |
|
|
522 | limitations on one node. |
480 | .IP "dns-domain = domain-suffix" 4 |
523 | .IP "dns-domain = domain-suffix" 4 |
481 | .IX Item "dns-domain = domain-suffix" |
524 | .IX Item "dns-domain = domain-suffix" |
482 | The \s-1DNS\s0 domain suffix that points to the \s-1DNS\s0 tunnel server for this node. |
525 | The \s-1DNS\s0 domain suffix that points to the \s-1DNS\s0 tunnel server for this node. |
483 | .Sp |
526 | .Sp |
484 | The domain must point to a \s-1NS\s0 record that points to the \fIdns-hostname\fR, |
527 | The domain must point to a \s-1NS\s0 record that points to the \fIdns-hostname\fR, |
… | |
… | |
539 | protocol is enabled automatically). |
582 | protocol is enabled automatically). |
540 | .Sp |
583 | .Sp |
541 | \&\s-1NOTE:\s0 Please specify \f(CW\*(C`enable\-udp = yes\*(C'\fR if you want t use it even though |
584 | \&\s-1NOTE:\s0 Please specify \f(CW\*(C`enable\-udp = yes\*(C'\fR if you want t use it even though |
542 | it might get switched on automatically, as some future version might |
585 | it might get switched on automatically, as some future version might |
543 | default to another default protocol. |
586 | default to another default protocol. |
|
|
587 | .IP "hostname = hostname | ip [can not be defaulted]" 4 |
|
|
588 | .IX Item "hostname = hostname | ip [can not be defaulted]" |
|
|
589 | Forces the address of this node to be set to the given dns hostname or ip |
|
|
590 | address. It will be resolved before each connect request, so dyndns should |
|
|
591 | work fine. If this setting is not specified and a router is available, |
|
|
592 | then the router will be queried for the address of this node. Otherwise, |
|
|
593 | the connection attempt will fail. |
544 | .IP "icmp-type = integer" 4 |
594 | .IP "icmp-type = integer" 4 |
545 | .IX Item "icmp-type = integer" |
595 | .IX Item "icmp-type = integer" |
546 | Sets the type value to be used for outgoing (and incoming) packets sent |
596 | Sets the type value to be used for outgoing (and incoming) packets sent |
547 | via the \s-1ICMP\s0 transport. |
597 | via the \s-1ICMP\s0 transport. |
548 | .Sp |
598 | .Sp |
549 | The default is \f(CW0\fR (which is \f(CW\*(C`echo\-reply\*(C'\fR, also known as |
599 | The default is \f(CW0\fR (which is \f(CW\*(C`echo\-reply\*(C'\fR, also known as |
550 | \&\*(L"ping\-replies\*(R"). Other useful values include \f(CW8\fR (\f(CW\*(C`echo\-request\*(C'\fR, a.k.a. |
600 | \&\*(L"ping\-replies\*(R"). Other useful values include \f(CW8\fR (\f(CW\*(C`echo\-request\*(C'\fR, a.k.a. |
551 | \&\*(L"ping\*(R") and \f(CW11\fR (\f(CW\*(C`time\-exceeded\*(C'\fR), but any 8\-bit value can be used. |
601 | \&\*(L"ping\*(R") and \f(CW11\fR (\f(CW\*(C`time\-exceeded\*(C'\fR), but any 8\-bit value can be used. |
|
|
602 | .IP "if-up-data = value" 4 |
|
|
603 | .IX Item "if-up-data = value" |
|
|
604 | The value specified using this directive will be passed to the \f(CW\*(C`if\-up\*(C'\fR |
|
|
605 | script in the environment variable \f(CW\*(C`IFUPDATA\*(C'\fR. |
552 | .IP "inherit-tos = yes|true|on | no|false|off" 4 |
606 | .IP "inherit-tos = yes|true|on | no|false|off" 4 |
553 | .IX Item "inherit-tos = yes|true|on | no|false|off" |
607 | .IX Item "inherit-tos = yes|true|on | no|false|off" |
554 | Wether to inherit the \s-1TOS\s0 settings of packets sent to the tunnel when |
608 | Wether to inherit the \s-1TOS\s0 settings of packets sent to the tunnel when |
555 | sending packets to this node (default: \f(CW\*(C`yes\*(C'\fR). If set to \f(CW\*(C`yes\*(C'\fR then |
609 | sending packets to this node (default: \f(CW\*(C`yes\*(C'\fR). If set to \f(CW\*(C`yes\*(C'\fR then |
556 | outgoing tunnel packets will have the same \s-1TOS\s0 setting as the packets sent |
610 | outgoing tunnel packets will have the same \s-1TOS\s0 setting as the packets sent |
… | |
… | |
608 | .SH "SEE ALSO" |
662 | .SH "SEE ALSO" |
609 | .IX Header "SEE ALSO" |
663 | .IX Header "SEE ALSO" |
610 | \&\fIgvpe\fR\|(5), \fIgvpe\fR\|(8), \fIgvpectrl\fR\|(8). |
664 | \&\fIgvpe\fR\|(5), \fIgvpe\fR\|(8), \fIgvpectrl\fR\|(8). |
611 | .SH "AUTHOR" |
665 | .SH "AUTHOR" |
612 | .IX Header "AUTHOR" |
666 | .IX Header "AUTHOR" |
613 | Marc Lehmann <gvpe@plan9.de> |
667 | Marc Lehmann <gvpe@schmorp.de> |