X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/5282d5ccbd064db26dab99e65e4f521a8a8bbf7e..92bfbe46e854e7ff40d6d4297c8df74f1efcf10f:/Docs/manual.html?ds=inline diff --git a/Docs/manual.html b/Docs/manual.html index ff7f0b3..1c59720 100644 --- a/Docs/manual.html +++ b/Docs/manual.html @@ -56,34 +56,21 @@ 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
@@ -168,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.
@@ -185,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
@@ -220,8 +218,7 @@ 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
@@ -271,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).
@@ -323,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.
+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).
+
@@ -702,7 +819,8 @@ The signals understood are:
terminated. This signal should be used to stop l2tpns on a
cluster node where there are other machines to
continue handling traffic.
-Throttling
@@ -816,14 +934,14 @@ supplied structure:
some way.
-
-
+
+
post_auth
@@ -833,16 +951,16 @@ supplied structure:
to be accepted.
-
-
+ allow or disallow authentication
+
+
packet_rx
@@ -851,12 +969,12 @@ supplied structure:
seriously slow down the system.
-
-
+
+
packet_tx
@@ -865,12 +983,12 @@ supplied structure:
seriously slow down the system.
-
-
+
+
timer
@@ -879,9 +997,9 @@ supplied structure:
you do is reentrant.
-
-
+
+
new_session
@@ -889,10 +1007,10 @@ supplied structure:
session is now ready to handle traffic.
-
-
+
+
kill_session
@@ -900,10 +1018,10 @@ supplied structure:
This may be called multiple times for the same session.
-
-
+
+
+ radius_response
@@ -913,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.
+
+
+
+
@@ -1033,22 +1155,6 @@ ibgp" for IBGP. If this is not supported by your IOS revision, you
can use "maximum-paths" (which works for EBGP) and set
as_number to a private value such as 64512.control
@@ -927,21 +1057,13 @@ supplied structure:
required.
-
-
+
+
Avoiding Fragmentation
-
-Fragmentation of encapsulated return packets to the LAC may be avoided
-for TCP sessions by adding a firewall rule to clamps the MSS on
-outgoing SYN packets.
-
-The following is appropriate for interfaces with a typical MTU of
-1500:
-
-
-iptables -A FORWARD -i tun+ -o eth0 \
- -p tcp --tcp-flags SYN,RST SYN \
- -m tcpmss --mss 1413:1600 \
- -j TCPMSS --set-mss 1412
-
-
Performance
Performance is great.