--- gvpe/doc/gvpe.conf.5 2011/03/06 13:49:49 1.28 +++ gvpe/doc/gvpe.conf.5 2012/12/04 10:29:43 1.30 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +124,11 @@ .\" ======================================================================== .\" .IX Title "GVPE.CONF 5" -.TH GVPE.CONF 5 "2011-02-15" "2.24" "GNU Virtual Private Ethernet" +.TH GVPE.CONF 5 "2012-07-06" "2.24" "GNU Virtual Private Ethernet" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" gvpe.conf \- configuration file for the GNU VPE daemon .SH "SYNOPSIS" @@ -139,22 +138,16 @@ \& udp\-port = 407 \& mtu = 1492 \& ifname = vpn0 -.Ve -.PP -.Vb 3 +\& \& # first node is named branch1 and is at 1.2.3.4 \& node = branch1 \& hostname = 1.2.3.4 -.Ve -.PP -.Vb 4 +\& \& # second node uses dns to resolve the address \& node = branch2 \& hostname = www.example.net \& udp\-port = 500 # this host uses a different udp\-port -.Ve -.PP -.Vb 3 +\& \& # third node has no fixed ip address \& node = branch3 \& connect = ondemand @@ -167,21 +160,52 @@ after any directives. Whitespace is allowed around the \f(CW\*(C`=\*(C'\fR sign or after values, but not within the variable names or values themselves. .PP -The only exception to the above is the \*(L"on\*(R" directive that can prefix any -\&\f(CW\*(C`name = value\*(C'\fR setting and will only \*(L"execute\*(R" it on the named node, or -(if the nodename starts with \*(L"!\*(R") on all nodes except the named one. -.PP -For example, set the \s-1MTU\s0 to \f(CW1450\fR everywhere, loglevel to \f(CW\*(C`noise\*(C'\fR on -branch1, and connect to \f(CW\*(C`ondemand\*(C'\fR everywhere but on branch2: +All settings are applied \*(L"in order\*(R", that is, later settings of the same +variable overwrite earlier ones. .PP +The only exceptions to the above are the \*(L"on\*(R" and \*(L"include\*(R" directives: +.IP "on nodename ..." 4 +.IX Item "on nodename ..." +.PD 0 +.IP "on !nodename ..." 4 +.IX Item "on !nodename ..." +.PD +You can prefix any configuration directive with \f(CW\*(C`on\*(C'\fR and a nodename. \s-1GVPE\s0 +will will only \*(L"execute\*(R" it on the named node, or (if the nodename starts +with \f(CW\*(C`!\*(C'\fR) on all nodes except the named one. +.Sp +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 +\&\f(CW\*(C`branch1\*(C'\fR, and \f(CW\*(C`connect\*(C'\fR to \f(CW\*(C`ondemand\*(C'\fR everywhere but on branch2. +.Sp .Vb 3 \& mtu = 1450 \& on branch1 loglevel = noise \& on !branch2 connect = ondemand .Ve -.PP -All settings are applied \*(L"in order\*(R", that is, later settings of the same -variable overwrite earlier ones. +.IP "include relative-or-absolute-path" 4 +.IX Item "include relative-or-absolute-path" +Reads the specified file (the path must not contain whitespace or \f(CW\*(C`=\*(C'\fR +characters) and evaluate all config directives in it as if they were +spelled out in place of the \f(CW\*(C`include\*(C'\fR directive. +.Sp +The path is a printf format string, that is, you must escape any \f(CW\*(C`%\*(C'\fR +by doubling it, and you can have a single \f(CW%s\fR inside, which will be +replaced by the current nodename. +.Sp +Relative paths are interpreted relative to the \s-1GVPE\s0 config directory. +.Sp +Example: include the file \fIlocal.conf\fR in the config directory on every +node. +.Sp +.Vb 1 +\& include local.conf +.Ve +.Sp +Example: include a file \fIconf/\fRnodename\fI.conf\fR +.Sp +.Vb 1 +\& include conf/%s.conf +.Ve .SH "ANATOMY OF A CONFIG FILE" .IX Header "ANATOMY OF A CONFIG FILE" Usually, a config file starts with a few global settings (like the \s-1UDP\s0 @@ -197,7 +221,7 @@ node section they will set the default values for all following nodes. .SH "CONFIG VARIABLES" .IX Header "CONFIG VARIABLES" -.Sh "\s-1GLOBAL\s0 \s-1SETTINGS\s0" +.SS "\s-1GLOBAL\s0 \s-1SETTINGS\s0" .IX Subsection "GLOBAL SETTINGS" Global settings will affect the behaviour of the running gvpe daemon, that is, they are in some sense node-specific (config files can set different @@ -211,6 +235,14 @@ .IX Item "dns-forw-port = port-number" The port where the \f(CW\*(C`dns\-forw\-host\*(C'\fR is to be contacted (default: \f(CW53\fR, which is fine in most cases). +.IP "dns-case-preserving = yes|true|on | no|false|off" 4 +.IX Item "dns-case-preserving = yes|true|on | no|false|off" +Sets whether the \s-1DNS\s0 transport forwarding server preserves case (\s-1DNS\s0 +servers have to, but some access systems are even more broken than others) +(default: true). +.Sp +Normally, when the forwarding server changes the case of domain names then +\&\s-1GVPE\s0 will automatically set this to false. .IP "dns-max-outstanding = integer-number-of-requests" 4 .IX Item "dns-max-outstanding = integer-number-of-requests" The maximum number of outstanding \s-1DNS\s0 transport requests @@ -402,7 +434,7 @@ .IX Item "keepalive = seconds" Sets the keepalive probe interval in seconds (default: \f(CW60\fR). After this many seconds of inactivity the daemon will start to send keepalive probe -every 3 seconds until it receives a reply from the other end. If no reply +every 3 seconds until it receives a reply from the other end. If no reply is received within 15 seconds, the peer is considered unreachable and the connection is closed. .IP "loglevel = noise|trace|debug|info|notice|warn|error|critical" 4 @@ -512,9 +544,9 @@ .Vb 1 \& ip rule add not fwmark 1000 lookup 99 .Ve -.Sh "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" +.SS "\s-1NODE\s0 \s-1SPECIFIC\s0 \s-1SETTINGS\s0" .IX Subsection "NODE SPECIFIC SETTINGS" -The following settings are node\-specific, that is, every node can have +The following settings are node-specific, that is, every node can have different settings, even within the same gvpe instance. Settings that are set before the first node section set the defaults, settings that are set within a node section only apply to the given node. @@ -640,7 +672,7 @@ via the \s-1ICMP\s0 transport. .Sp The default is \f(CW0\fR (which is \f(CW\*(C`echo\-reply\*(C'\fR, also known as -\&\*(L"ping\-reply\*(R"). Other useful values include \f(CW8\fR (\f(CW\*(C`echo\-request\*(C'\fR, a.k.a. +\&\*(L"ping-reply\*(R"). Other useful values include \f(CW8\fR (\f(CW\*(C`echo\-request\*(C'\fR, a.k.a. \&\*(L"ping\*(R") and \f(CW11\fR (\f(CW\*(C`time\-exceeded\*(C'\fR), but any 8\-bit value can be used. .IP "if-up-data = value" 4 .IX Item "if-up-data = value" @@ -715,7 +747,7 @@ .IP "if-up" 4 .IX Item "if-up" The if-up script -.IP "node\-up, node-down" 4 +.IP "node-up, node-down" 4 .IX Item "node-up, node-down" If used the node up or node-down scripts. .IP "hostkey" 4