X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/fa3a21e4a815106d785c6bd78fbecce76077854f..2a385573a65683c450a53fa6a558a8132327ccf4:/Docs/manual.html diff --git a/Docs/manual.html b/Docs/manual.html index b95858b..1c59720 100644 --- a/Docs/manual.html +++ b/Docs/manual.html @@ -60,29 +60,17 @@ H3 {
+l2tpns a complete L2TP implementation. It supports the LAC, LNS, PPPOE and DHCPv6 server.
-L2TP (Layer 2 Tunneling Protocol) is designed to allow any layer 2 -protocol (e.g. Ethernet, PPP) to be tunneled over an IP connection. l2tpns -implements PPP over L2TP only.
+L2TP (Layer 2 Tunneling Protocol) is designed to allow any layer 2 protocol (e.g. Ethernet, PPP) to be tunneled over an IP connection. l2tpns implements PPP over L2TP only.
-There are a couple of other L2TP implementations, of which l2tpd is probably the -most popular. l2tpd also will handle being either end of a tunnel, and -is a lot more configurable than l2tpns. However, due to the way it works, -it is nowhere near as scalable.
+There are a couple of other L2TP implementations, of which l2tpd is probably the most popular. l2tpd also will handle being either end of a tunnel, and is a lot more configurable than l2tpns. However, due to the way it works, it is nowhere near as scalable.
-l2tpns uses the TUN/TAP interface provided by the Linux kernel to receive -and send packets. Using some packet manipulation it doesn't require a -single interface per connection, as l2tpd does.
+l2tpns uses the TUN/TAP interface provided by the Linux kernel to receive and send packets. Using some packet manipulation it doesn't require a single interface per connection, as l2tpd does.
-This allows it to scale extremely well to very high loads and very high -numbers of connections.
+This allows it to scale extremely well to very high loads and very high numbers of connections.
-It also has a plugin architecture which allows custom code to be run -during processing. An example of this is in the walled garden module -included.
+It also has a plugin architecture which allows custom code to be run during processing. An example of this is in the walled garden module included.
LAC configuration A static REMOTES LNS configuration can be entered by the command: PPPOE configuration BGP configuration BGP routing configuration is entered by the command:
The routing configuration section is entered by the command
-
Documentation is not my best skill. If you find any problems
@@ -167,15 +155,15 @@ only ever be used for working out why it doesn't work at all.
-This will be where all logging and debugging information is written
-to. This may be either a filename, such as /var/log/l2tpns, or
-the special magic string syslog:facility, where facility
-is any one of the syslog logging facilities, such as local5.
+This will be where all logging and debugging information is written to. This may be either a filename, such as /var/log/l2tpns, or the special magic string syslog:facility, where facility is any one of the syslog logging facilities, such as local5.
-If set, the process id will be written to the specified file. The
-value must be an absolute path.
+If set, the process id will be written to the specified file. The value must be an absolute path.
+
+Path to random data source (default /dev/urandom). Use "" to use the rand() library function.
@@ -184,6 +172,17 @@ the same as the LAC, or authentication will fail. Only actually be
used if the LAC requests authentication.
+MTU of interface for L2TP traffic (default: 1500). Used to set link MRU and adjust TCP MSS.
+
+ppp_max_configure (int)
+ppp_max_failure (int)
+PPP counter and timer values, as described in §4.1 of
+RFC1661.
+
Whenever a PPP connection is established, DNS servers will be sent to the
@@ -191,14 +190,6 @@ user, both a primary and a secondary. If either is set to 0.0.0.0, then that
one will not be sent.
-When l2tpns receives a STGTERM it will write out its current
-ip_address_pool, session and tunnel tables to disk prior to exiting to
-be re-loaded at startup. The validity of this data is obviously quite
-short and the intent is to allow an sessions to be retained over a
-software upgrade.
-
Sets the RADIUS servers used for both authentication and accounting.
@@ -227,20 +218,59 @@ session is closed.
-This secret will be used in all RADIUS queries. If this is not set then
-RADIUS queries will fail.
+This secret will be used in all RADIUS queries. If this is not set then RADIUS queries will fail.
+
+Port for DAE RADIUS (Packet of Death/Disconnect, Change of Authorization)
+requests (default: 3799).
+
-When the tun interface is created, it is assigned the address
-specified here. If no address is given, 1.1.1.1 is used. Packets
-containing user traffic should be routed via this address if given,
-otherwise the primary address of the machine.
+It's the listen address of the l2tp udp protocol sent and received to LAC. This address is also assigned to the tun interface if no iftun_address is specified. Packets containing user traffic should be routed via this address if given, otherwise the primary address of the machine.
+
+This parameter is used when you want a tun interface address different
+from the address of "bind_address" (For use in cases of specific configuration).
+If no address is given to iftun_address and bind_address, 1.1.1.1 is used.
+
+This parameter permit to listen several addresss of the l2tp udp protocol
+(and set several address to the tun interface).
+
+WHEN this parameter is set, It OVERWRITE the parameters "bind_address"
+and "iftun_address".
+
+these can be interesting when you want do load-balancing in cluster mode
+of the uploaded from the LAC. For example you can set a bgp.prepend(MY_AS)
+for Address1 on LNS1 and a bgp.prepend(MY_AS) for Address2 on LNS2
+(see BGP AS-path prepending).
+
+example of use with 2 address:
+
+set bind_multi_address "64.14.13.41, 64.14.13.42"
+
+Name of the tun interface (default: "tun0").
Address to send to clients as the default gateway.
-
+
Determines whether or not to send a gratuitous ARP for the
@@ -267,13 +297,13 @@ every connected use will be dumped to a file in this directory. Each
file dumped begins with a header, where each line is prefixed by #.
Following the header is a single line for every connected user, fields
separated by a space.
The fields are username, ip, qos,
-uptxoctets, downrxoctets. The qos field is 1 if a standard user, and
-2 if the user is throttled.
+uptxoctets, downrxoctets, origin (optional). The qos field is 1 if a standard user, and
+2 if the user is throttled. The origin field is dump if account_all_origin is set to true
+(origin value: L=LAC data, R=Remote LNS data, P=PPPOE data).
-After starting up and binding the interface, change UID to this. This
-doesn't work properly.
+
+If set to true, all origin of the usage is dumped to the accounting file (LAC+Remote LNS+PPPOE)(default false).
@@ -282,10 +312,6 @@ second. Even if this is disabled, you can see this information by running
the uptime command on the CLI.
-Interval between regular cleanups (in seconds).
-
Number of packets to read off each of the UDP and TUN fds when
returned as readable by select (default: 10). Avoids incurring the
@@ -307,6 +333,13 @@ Keep all pages mapped by the l2tpns process in memory.
Maximum number of host unreachable ICMP packets to send per second.
+Maximum number of packets of downstream traffic to be handled each
+tenth of a second per session. If zero, no limit is applied (default:
+0). Intended as a DoS prevention mechanism and not a general
+throttling control (packets are dropped, not queued).
+
Multicast cluster address (default: 239.192.13.13). See the section
on Clustering for more information.
@@ -316,6 +349,10 @@ on Clustering for more information.
Interface for cluster packets (default: eth0).
+TTL for multicast packets (default: 1).
+
Interval in tenths of a second between cluster heartbeat/pings.
+Determines the minumum number of up to date slaves required before the
+master will drop routes (default: 1).
+
+Time between last packet sent and LCP ECHO generation
+(default: 10 (seconds)).
+
+Drop sessions who have not responded within idle_echo_timeout seconds
+(default: 240 (seconds))
+
+This parameter authorize to change the source IP of the tunnels l2tp.
+This parameter can be used when the remotes BAS/LAC are l2tpns server
+configured in cluster mode, but that the interface to remote LNS are
+not clustered (the tunnel can be coming from different source IP)
+(default: no).
+
+Disable l2tp sending HELLO message for Apple compatibility.
+Some OS X implementation of l2tp no manage the L2TP "HELLO message".
+(default: no).
+
+
+
+Address of the interface to listen the remote LNS tunnels.
+If no address is given, all interfaces are listened (Any Address).
+
+Port to bind for the Remote LNS (default: 65432).
+
+
+where MASK specifies the mask of users who have forwarded to
+remote LNS (ex: "/friendISP@company.com").
+where IP specifies the IP of the remote LNS (ex: "66.66.66.55").
+where PORT specifies the L2TP Port of the remote LNS
+(Normally should be 1701) (ex: 1701).
+where SECRET specifies the secret password the remote LNS (ex: mysecret).
+
+The static Remote LNS configuration can be used when the friend ISP not
+have a proxied Radius.
+If the proxied Radius is used, It will return the RADIUS attributes:
+ Tunnel-Type: 1 = L2TP
+ Tunnel-Medium-Type: 1 = IPv4
+ Tunnel-Password: 1 = "LESECRETL2TP"
+ Tunnel-Server-Endpoint: 1 = "88.xx.xx.x1"
+ Tunnel-Assignment-Id: 1 = "friendisp_lns1"
+ Tunnel-Type: 2 = L2TP
+ Tunnel-Medium-Type: 2 = IPv4
+ Tunnel-Password: 2 = "LESECRETL2TP"
+ Tunnel-Server-Endpoint: 2 = "88.xx.xx.x2"
+ Tunnel-Assignment-Id: 2 = "friendisp_lns2"
+
+
+
+
+
+PPPOE server interface to bind (ex: "eth0.12"), If not specified the server PPPOE is not enabled.
+For the pppoe clustering, all the interfaces PPPOE of the clusters must use the same HW address (MAC address).
+
+PPPOE service name (default: NULL).
+
+PPPOE access concentrator name (default: "l2tpns-pppoe").
+
+If set to yes, the PPPOE server only accepts clients with a "service-name"
+different from NULL and a "service-name" equal to server "service-name" (default: no).
+
@@ -684,16 +813,15 @@ killall -HUP l2tpns
The signals understood are:
-
-
+
+
Throttling
@@ -806,14 +934,14 @@ supplied structure:
some way.
-
-
+
+
post_auth
@@ -823,16 +951,16 @@ supplied structure:
to be accepted.
-
-
+ allow or disallow authentication
+
+
packet_rx
@@ -841,12 +969,12 @@ supplied structure:
seriously slow down the system.
-
-
+
+
packet_tx
@@ -855,12 +983,12 @@ supplied structure:
seriously slow down the system.
-
-
+
+
timer
@@ -869,9 +997,9 @@ supplied structure:
you do is reentrant.
-
-
+
+
new_session
@@ -879,10 +1007,10 @@ supplied structure:
session is now ready to handle traffic.
-
-
+
+
kill_session
@@ -890,10 +1018,10 @@ supplied structure:
This may be called multiple times for the same session.
-
-
+
+
+ radius_response
@@ -903,12 +1031,24 @@ supplied structure:
modules.
-
+
-
+
+
+ radius_reset
+ This is called whenever a RADIUS CoA request is
+ received to reset any options to default values before
+ the new values are applied.
+
+
+
+
control
@@ -917,21 +1057,13 @@ supplied structure:
required.
-
-
+
+