update required libcli version, add DAE port
[l2tpns.git] / Docs / startup-config.5
1 .\" -*- nroff -*-
2 .de Id
3 .ds Dt \\$4 \\$5
4 ..
5 .Id $Id: startup-config.5,v 1.11 2005/06/28 14:48:31 bodea Exp $
6 .TH STARTUP-CONFIG 5 "\*(Dt" L2TPNS "File Formats and Conventions"
7 .SH NAME
8 startup\-config \- configuration file for l2tpns
9 .SH SYNOPSIS
10 /etc/l2tpns/startup-config
11 .SH DESCRIPTION
12 .B startup-config
13 is the configuration file for
14 .BR l2tpns .
15 .PP
16 The format is plain text, in the same format as accepted by the
17 configuration mode of
18 .BR l2tpns 's
19 telnet administrative interface.  Comments are indicated by either the
20 character
21 .B #
22 or
23 .BR ! .
24 .SS SETTINGS
25 Settings are specified with
26 .IP
27 .BI "set " "variable value"
28 .PP
29 The following
30 .IR variable s
31 may be set:
32 .RS
33 .TP
34 .B debug
35 Set the level of debugging messages written to the log file.  The
36 value should be between 0 and 5, with 0 being no debugging, and 5
37 being the highest.
38 .TP
39 .B log_file
40 This will be where all logging and debugging information is written
41 to.  This may be either a filename, such as
42 .BR /var/log/l2tpns ,
43 or the string
44 .BR syslog : \fIfacility\fR ,
45 where
46 .I facility
47 is any one of the syslog logging facilities, such as
48 .BR local5 .
49 .TP
50 .B pid_file
51 If set, the process id will be written to the specified file.  The
52 value must be an absolute path.
53 .TP
54 .B random_device
55 Path to random data source (default
56 .BR /dev/urandom ).
57 Use "" to use the rand() library function.
58 .TP
59 .B l2tp_secret
60 The secret used by
61 .B l2tpns
62 for authenticating tunnel request.  Must be the same as the LAC, or
63 authentication will fail.  Only actually be used if the LAC requests
64 authentication.
65 .TP
66 .BR primary_dns , " secondary_dns"
67 Whenever a PPP connection is established, DNS servers will be sent to the
68 user, both a primary and a secondary.  If either is set to 0.0.0.0, then that
69 one will not be sent.
70 .TP
71 .BR primary_radius , " secondary_radius"
72 Sets the RADIUS servers used for both authentication and accounting. 
73 If the primary server does not respond, then the secondary RADIUS
74 server will be tried.
75 .TP
76 .BR primary_radius_port , " secondary_radius_port"
77 Sets the authentication ports for the primary and secondary RADIUS
78 servers.  The accounting port is one more than the authentication
79 port.  If no ports are given, authentication defaults to 1645, and
80 accounting to 1646.
81 .TP
82 .B radius_accounting
83 If set to true, then RADIUS accounting packets will be sent.  A
84 .B Start
85 record will be sent when the session is successfully authenticated,
86 and a
87 .B Stop
88 record when the session is closed.
89 .TP
90 .B radius_interim
91 If
92 .B radius_accounting
93 is on, defines the interval between sending of RADIUS interim
94 accounting records (in seconds).
95 .TP
96 .B radius_secret
97 Secret to be used in RADIUS packets.
98 .TP
99 .B radius_authtypes
100 A comma separated list of supported RADIUS authentication methods
101 ("pap" or "chap"), in order of preference (default "pap").
102 .TP
103 .B radius_dae_port
104 Port for DAE RADIUS (Packet of Death/Disconnect, Change of Authorization)
105 requests (default: 3799).
106 .TP
107 .B allow_duplicate_users
108 Allow multiple logins with the same username.  If false (the default),
109 any prior session with the same username will be dropped when a new
110 session is established.
111 .TP
112 .B bind_address
113 When the tun interface is created, it is assigned the address
114 specified here.  If no address is given, 1.1.1.1 is used.  Packets
115 containing user traffic should be routed via this address if given,
116 otherwise the primary address of the machine.
117 .TP
118 .B peer_address
119 Address to send to clients as the default gateway.
120 .TP
121 .B send_garp
122 Determines whether or not to send a gratuitous ARP for the
123 .B bind_address
124 when the server is ready to handle traffic (default: true).  This
125 setting is ignored if BGP is configured.
126 .TP
127 .B throttle_speed
128 Sets the default speed (in kbits/s) which sessions will be limited to.
129 .TP
130 .B throttle_buckets
131 Number of token buckets to allocate for throttling.  Each throttled
132 session requires two buckets (in and out).
133 .TP
134 .B accounting_dir
135 If set to a directory, then every 5 minutes the current usage for
136 every connected use will be dumped to a file in this directory.
137 .TP
138 .B setuid
139 After starting up and binding the interface, change UID to this.  This
140 doesn't work properly.
141 .TP
142 .B dump_speed
143 If set to true, then the current bandwidth utilization will be logged
144 every second.  Even if this is disabled, you can see this information
145 by running the
146 .B uptime
147 command on the CLI.
148 .TP
149 .B multi_read_count
150 Number of packets to read off each of the UDP and TUN fds when
151 returned as readable by select (default: 10).  Avoids incurring the
152 unnecessary system call overhead of select on busy servers.
153 .TP
154 .B scheduler_fifo
155 Sets the scheduling policy for the
156 .B l2tpns
157 process to
158 .BR SCHED_FIFO .
159 This causes the kernel to immediately preempt any currently running
160 .B SCHED_OTHER
161 (normal) process in favour of
162 .B l2tpns
163 when it becomes runnable. 
164 .br
165 Ignored on uniprocessor systems.
166 .TP
167 .B lock_pages
168 Keep all pages mapped by the
169 .B l2tpns
170 process in memory.
171 .TP
172 .B icmp_rate
173 Maximum number of host unreachable ICMP packets to send per second.
174 .TP
175 .B packet_limit
176 Maximum number of packets of downstream traffic to be handled each
177 tenth of a second per session.  If zero, no limit is applied (default: 
178 0).  Intended as a DoS prevention mechanism and not a general
179 throttling control (packets are dropped, not queued).
180 .TP
181 .B cluster_address
182 Multicast cluster address (default: 239.192.13.13).
183 .TP
184 .B cluster_interface
185 Interface for cluster packets (default: eth0).
186 .TP
187 .B cluster_hb_interval
188 Interval in tenths of a second between cluster heartbeat/pings.
189 .TP
190 .B cluster_hb_timeout
191 Cluster heartbeat timeout in tenths of a second.  A new master will be
192 elected when this interval has been passed without seeing a heartbeat
193 from the master.
194 .TP
195 .B cluster_master_min_adv
196 Determines the minumum number of up to date slaves required before the
197 master will drop routes (default: 1).
198 .TP
199 .B ipv6_prefix
200 Enable negotiation of IPv6.  This forms the the first 64 bits of the
201 client allocated address.  The remaining 64 come from the allocated
202 IPv4 address and 4 bytes of 0s.
203 .RE
204 .SS BGP ROUTING
205 The routing configuration section is entered by the command
206 .IP
207 .BI "router bgp " as
208 .PP
209 where
210 .I as
211 specifies the local AS number.
212 .PP
213 Subsequent lines prefixed with
214 .BI "neighbour " peer
215 define the attributes of BGP neighhbours.  Valid commands are:
216 .IP
217 .BI "neighbour " peer " remote-as " as
218 .br
219 .BI "neighbour " peer " timers " "keepalive hold"
220 .PP
221 Where
222 .I peer
223 specifies the BGP neighbour as either a hostname or IP address,
224 .I as
225 is the remote AS number and
226 .IR keepalive ,
227 .I hold
228 are the timer values in seconds.
229 .SS NAMED ACCESS LISTS
230 Named access lists may be defined with either of
231 .IP
232 .BI "ip access\-list standard " name
233 .br
234 .BI "ip access\-list extended " name
235 .PP
236 Subsequent lines starting with
237 .B permit
238 or
239 .B deny
240 define the body of the access\-list.
241 .PP
242 .B Standard Access Lists
243 .RS 4n
244 Standard access lists are defined with:
245 .IP
246 .RB { permit | deny }
247 .IR source " [" dest ]
248 .PP
249 Where
250 .I source
251 and
252 .I dest
253 specify IP matches using one of:
254 .IP
255 .I address
256 .I wildard
257 .br
258 .B host
259 .I address
260 .br
261 .B any
262 .PP
263 .I address
264 and
265 .I wildard
266 are in dotted-quad notation, bits in the
267 .I wildard
268 indicate which address bits in
269 .I address
270 are relevant to the match (0 = exact match; 1 = don't care).
271 .PP
272 The shorthand
273 .RB ' host
274 .IR address '
275 is equivalent to
276 .RI ' address
277 .BR 0.0.0.0 ';
278 .RB ' any '
279 to
280 .RB ' 0.0.0.0
281 .BR 255.255.255.255 '.
282 .RE
283 .PP
284 .B Extended Access Lists
285 .RS 4n
286 Extended access lists are defined with:
287 .IP
288 .RB { permit | deny }
289 .I proto
290 .IR source " [" ports "] " dest " [" ports "] [" flags ]
291 .PP
292 Where
293 .I proto
294 is one of
295 .BR ip ,
296 .B tcp
297 or
298 .BR udp ,
299 and
300 .I source
301 and
302 .I dest
303 are as described above for standard lists.
304 .PP
305 For TCP and UDP matches, source and destination may be optionally
306 followed by a
307 .I ports
308 specification:
309 .IP
310 .RB { eq | neq | gt | lt }
311 .I port
312 .br
313 .B
314 range
315 .I from to
316 .PP
317 .I flags
318 may be one of:
319 .RS
320 .HP
321 .RB { match\-any | match\-all }
322 .RB { + | - }{ fin | syn | rst | psh | ack | urg }
323 \&...
324 .br
325 Match packets with any or all of the tcp flags set
326 .RB ( + )
327 or clear
328 .RB ( - ).
329 .HP
330 .B established
331 .br
332 Match "established" TCP connections:  packets with
333 .B RST
334 or
335 .B ACK
336 set, and
337 .B SYN
338 clear.
339 .HP
340 .B fragments
341 .br
342 Match IP fragments.  May not be specified on rules with layer 4
343 matches.
344 .RE
345 .SH SEE ALSO
346 .BR l2tpns (8)