ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/doc/gvpe.conf.5
(Generate patch)

Comparing gvpe/doc/gvpe.conf.5 (file contents):
Revision 1.12 by pcg, Wed Mar 23 17:03:58 2005 UTC vs.
Revision 1.19 by pcg, Thu Mar 29 17:35:20 2007 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines