… | |
… | |
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-17" "1.8" "GNU Virtual Private Ethernet" |
132 | .TH GVPE.CONF 5 "2005-03-26" "1.9" "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 |
… | |
… | |
202 | (default: \f(CW127.0.0.1\fR, changing it is highly recommended). |
202 | (default: \f(CW127.0.0.1\fR, changing it is highly recommended). |
203 | .IP "dns-forw-port = port-number" 4 |
203 | .IP "dns-forw-port = port-number" 4 |
204 | .IX Item "dns-forw-port = port-number" |
204 | .IX Item "dns-forw-port = port-number" |
205 | The port where the \f(CW\*(C`dns\-forw\-host\*(C'\fR is to be contacted (default: \f(CW53\fR, |
205 | The port where the \f(CW\*(C`dns\-forw\-host\*(C'\fR is to be contacted (default: \f(CW53\fR, |
206 | which is fine in most cases). |
206 | which is fine in most cases). |
|
|
207 | .IP "dns-max-outstanding = integer-number-of-requests" 4 |
|
|
208 | .IX Item "dns-max-outstanding = integer-number-of-requests" |
|
|
209 | The maximum number of outstanding \s-1DNS\s0 transport requests |
|
|
210 | (default: \f(CW100\fR). \s-1GVPE\s0 will never issue more requests then the given |
|
|
211 | limit without receiving replies. In heavily overloaded situations it might |
|
|
212 | help to set this to a low number (e.g. \f(CW3\fR or even \f(CW1\fR) to limit the |
|
|
213 | number of parallel requests. |
|
|
214 | .Sp |
|
|
215 | The default should be working ok for most links. |
|
|
216 | .IP "dns-overlap-factor = float" 4 |
|
|
217 | .IX Item "dns-overlap-factor = float" |
|
|
218 | The \s-1DNS\s0 transport uses the minimum request latency (\fBmin_latency\fR) seen |
|
|
219 | during a connection as it's timing base. This factor (default: \f(CW0.5\fR, |
|
|
220 | must be > 0) is multiplied by \fBmin_latency\fR to get the maximum sending |
|
|
221 | rate (= minimum send interval), i.e. a factor of \f(CW1\fR means that a new |
|
|
222 | request might be generated every \fBmin_latency\fR seconds, which means on |
|
|
223 | average there should only ever be one outstanding request. A factor of |
|
|
224 | \&\f(CW0.5\fR means that \s-1GVPE\s0 will send requests twice as often as the minimum |
|
|
225 | latency measured. |
|
|
226 | .Sp |
|
|
227 | For congested or picky dns forwarders you could use a value nearer to or |
|
|
228 | exceeding \f(CW1\fR. |
|
|
229 | .Sp |
|
|
230 | The default should be working ok for most links. |
|
|
231 | .IP "dns-send-interval = send-interval-in-seconds" 4 |
|
|
232 | .IX Item "dns-send-interval = send-interval-in-seconds" |
|
|
233 | The minimum send interval (= maximum rate) that the \s-1DNS\s0 transport will |
|
|
234 | use to send new \s-1DNS\s0 requests. \s-1GVPE\s0 will not exceed this rate even when |
|
|
235 | the latency is very low. The default is \f(CW0.01\fR, which means \s-1GVPE\s0 will |
|
|
236 | not send more than 100 \s-1DNS\s0 requests per connection per second. For |
|
|
237 | high-bandwidth links you could go lower, e.g. to \f(CW0.001\fR or so. For |
|
|
238 | congested or rate-limited links, you might want to go higher, say \f(CW0.1\fR, |
|
|
239 | \&\f(CW0.2\fR or even higher. |
|
|
240 | .Sp |
|
|
241 | The default should be working ok for most links. |
|
|
242 | .IP "dns-timeout-factor = float" 4 |
|
|
243 | .IX Item "dns-timeout-factor = float" |
|
|
244 | Factor to multiply the \f(CW\*(C`min_latency\*(C'\fR (see \f(CW\*(C`dns\-overlap\-factor\*(C'\fR) by to |
|
|
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 |
|
|
247 | eight times the minimum (= expected) latency, assuming the request or |
|
|
248 | reply has been lost. |
|
|
249 | .Sp |
|
|
250 | For congested links a higher value might be necessary (e.g. \f(CW30\fR). If the |
|
|
251 | link is very stable lower values (e.g. \f(CW2\fR) might work nicely. Values |
|
|
252 | near or below \f(CW1\fR makes no sense whatsoever. |
|
|
253 | .Sp |
|
|
254 | The default should be working ok for most links. |
207 | .IP "if-up = relative-or-absolute-path" 4 |
255 | .IP "if-up = relative-or-absolute-path" 4 |
208 | .IX Item "if-up = relative-or-absolute-path" |
256 | .IX Item "if-up = relative-or-absolute-path" |
209 | 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 |
210 | network interface is initialized (but not neccessarily up). The following |
258 | network interface is initialized (but not neccessarily up). The following |
211 | 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: |
212 | .RS 4 |
262 | .RS 4 |
213 | .IP "CONFBASE=/etc/gvpe" 4 |
263 | .IP "CONFBASE=/etc/gvpe" 4 |
214 | .IX Item "CONFBASE=/etc/gvpe" |
264 | .IX Item "CONFBASE=/etc/gvpe" |
215 | The configuration base directory. |
265 | The configuration base directory. |
216 | .IP "IFNAME=vpn0" 4 |
266 | .IP "IFNAME=vpn0" 4 |
217 | .IX Item "IFNAME=vpn0" |
267 | .IX Item "IFNAME=vpn0" |
218 | The interface to initialize. |
268 | The network interface to initialize. |
219 | .IP "MTU=1436" 4 |
|
|
220 | .IX Item "MTU=1436" |
|
|
221 | The \s-1MTU\s0 to set the interface to. You can use lower values (if done |
|
|
222 | consistently on all hosts), but this is usually ineffective. |
|
|
223 | .IP "MAC=fe:fd:80:00:00:01" 4 |
|
|
224 | .IX Item "MAC=fe:fd:80:00:00:01" |
|
|
225 | The \s-1MAC\s0 address to set the interface to. The script *must* set the |
|
|
226 | interface \s-1MAC\s0 to this value. You will most likely use one of these: |
|
|
227 | .Sp |
|
|
228 | .Vb 2 |
|
|
229 | \& ip link set $IFNAME address $MAC mtu $MTU up # GNU/Linux |
|
|
230 | \& ifconfig $IFNAME ether $MAC mtu $MTU up # FreeBSD |
|
|
231 | .Ve |
|
|
232 | .Sp |
|
|
233 | Please see the \f(CW\*(C`gvpe.osdep(5)\*(C'\fR manpage for platform-specific information. |
|
|
234 | .IP "IFTYPE=native # or tincd" 4 |
269 | .IP "IFTYPE=native # or tincd" 4 |
235 | .IX Item "IFTYPE=native # or tincd" |
270 | .IX Item "IFTYPE=native # or tincd" |
236 | .PD 0 |
271 | .PD 0 |
237 | .IP "IFSUBTYPE=linux # or freebsd, darwin etc.." 4 |
272 | .IP "IFSUBTYPE=linux # or freebsd, darwin etc.." 4 |
238 | .IX Item "IFSUBTYPE=linux # or freebsd, darwin etc.." |
273 | .IX Item "IFSUBTYPE=linux # or freebsd, darwin etc.." |
239 | .PD |
274 | .PD |
240 | 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 |
241 | 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 |
242 | 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. |
243 | .IP "NODENAME=branch1" 4 |
300 | .IP "NODENAME=branch1" 4 |
244 | .IX Item "NODENAME=branch1" |
301 | .IX Item "NODENAME=branch1" |
245 | The nickname of the current node, as passed to the gvpe daemon. |
302 | The nickname of the node. |
246 | .IP "NODEID=1" 4 |
303 | .IP "NODEID=1" 4 |
247 | .IX Item "NODEID=1" |
304 | .IX Item "NODEID=1" |
248 | 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 |
249 | 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. |
250 | .RE |
307 | .RE |
251 | .RS 4 |
308 | .RS 4 |
252 | .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 |
253 | Here is a simple if-up script: |
315 | Here is a simple if-up script: |
254 | .Sp |
316 | .Sp |
255 | .Vb 5 |
317 | .Vb 5 |
256 | \& #!/bin/sh |
318 | \& #!/bin/sh |
257 | \& ip link set $IFNAME address $MAC mtu $MTU up |
319 | \& ip link set $IFNAME up |
258 | \& [ $NODENAME = branch1 ] && ip addr add 10.0.0.1 dev $IFNAME |
320 | \& [ $NODENAME = branch1 ] && ip addr add 10.0.0.1 dev $IFNAME |
259 | \& [ $NODENAME = branch2 ] && ip addr add 10.1.0.1 dev $IFNAME |
321 | \& [ $NODENAME = branch2 ] && ip addr add 10.1.0.1 dev $IFNAME |
260 | \& ip route add 10.0.0.0/8 dev $IFNAME |
322 | \& ip route add 10.0.0.0/8 dev $IFNAME |
261 | .Ve |
323 | .Ve |
262 | .Sp |
324 | .Sp |
… | |
… | |
350 | 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 |
351 | argument to the gvpe daemon. |
413 | argument to the gvpe daemon. |
352 | .IP "node-up = relative-or-absolute-path" 4 |
414 | .IP "node-up = relative-or-absolute-path" 4 |
353 | .IX Item "node-up = relative-or-absolute-path" |
415 | .IX Item "node-up = relative-or-absolute-path" |
354 | 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 |
355 | connection is established (even on rekeying operations). In addition |
417 | connection is established (even on rekeying operations). In addition to |
356 | 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 |
357 | variables will be set: |
419 | variables will be set: |
358 | .RS 4 |
420 | .RS 4 |
359 | .IP "DESTNODE=branch2" 4 |
421 | .IP "DESTNODE=branch2" 4 |
360 | .IX Item "DESTNODE=branch2" |
422 | .IX Item "DESTNODE=branch2" |
361 | The name of the remote node. |
423 | The name of the remote node. |
… | |
… | |
499 | via the \s-1ICMP\s0 transport. |
561 | via the \s-1ICMP\s0 transport. |
500 | .Sp |
562 | .Sp |
501 | The default is \f(CW0\fR (which is \f(CW\*(C`echo\-reply\*(C'\fR, also known as |
563 | The default is \f(CW0\fR (which is \f(CW\*(C`echo\-reply\*(C'\fR, also known as |
502 | \&\*(L"ping\-replies\*(R"). Other useful values include \f(CW8\fR (\f(CW\*(C`echo\-request\*(C'\fR, a.k.a. |
564 | \&\*(L"ping\-replies\*(R"). Other useful values include \f(CW8\fR (\f(CW\*(C`echo\-request\*(C'\fR, a.k.a. |
503 | \&\*(L"ping\*(R") and \f(CW11\fR (\f(CW\*(C`time\-exceeded\*(C'\fR), but any 8\-bit value can be used. |
565 | \&\*(L"ping\*(R") and \f(CW11\fR (\f(CW\*(C`time\-exceeded\*(C'\fR), but any 8\-bit value can be used. |
|
|
566 | .IP "if-up-data = value" 4 |
|
|
567 | .IX Item "if-up-data = value" |
|
|
568 | The value specified using this directive will be passed to the \f(CW\*(C`if\-up\*(C'\fR |
|
|
569 | script in the environment variable \f(CW\*(C`IFUPDATA\*(C'\fR. |
504 | .IP "inherit-tos = yes|true|on | no|false|off" 4 |
570 | .IP "inherit-tos = yes|true|on | no|false|off" 4 |
505 | .IX Item "inherit-tos = yes|true|on | no|false|off" |
571 | .IX Item "inherit-tos = yes|true|on | no|false|off" |
506 | Wether to inherit the \s-1TOS\s0 settings of packets sent to the tunnel when |
572 | Wether to inherit the \s-1TOS\s0 settings of packets sent to the tunnel when |
507 | sending packets to this node (default: \f(CW\*(C`yes\*(C'\fR). If set to \f(CW\*(C`yes\*(C'\fR then |
573 | sending packets to this node (default: \f(CW\*(C`yes\*(C'\fR). If set to \f(CW\*(C`yes\*(C'\fR then |
508 | outgoing tunnel packets will have the same \s-1TOS\s0 setting as the packets sent |
574 | outgoing tunnel packets will have the same \s-1TOS\s0 setting as the packets sent |