proacd(8) ProL2TP Manual proacd(8)
NAME
proacd - ProL2TP Access Concentrator Daemon
SYNOPSIS
proacd [-h] [-v] [-f] [-c config] [-l license] [-n] [-o output] [-D]
[-d debugmask] [-L facility]
DESCRIPTION
proacd is a PPP Access Concentrator, designed to route PPP traffic from
remote clients to remote access servers. At this time, only PPPoE
clients are supported.
User PPP traffic may be routed through L2TP tunnels, or terminated by
local pppd instances.
For L2TP routes, proacd interfaces with prol2tpd to create and delete
L2TP tunnels as required. The data path for PPPoE to L2TP routes is
handled entirely within the kernel, giving the best possible
performance.
OPTIONS
-h Display usage information.
-v Display version information.
-f Run in the foreground. By default, proacd forks itself and runs
in the background. For debugging, it is sometimes useful to run
the application in the foreground. Note that when run in the
foreground, daemon output messages are sent to the controlling
terminal rather than to syslog.
-c config
Read configuration commands from the specified file rather than
the default path.
-n Checks the config file for correctness and outputs the
resulting configuration information. Exits after reading the
configuration.
-o output
Send daemon output to the specified filename, rather than
syslog.
-D Enable daemon debugging messages.
-d debugmask
Configures the debug message mask. The mask may be specified as
a decimal or hexadecimal integer or as a comma-separated list
of debug modules. Valid debug modules are route, pppoe, l2tp,
radius, ppp, pppfsm, lcpfsm, ctrl, trace, pppd, system and
parser. The special mask all enables debugging in all modules.
-L facility
If logging to syslog, this option can be used to specify the
syslog facility to be used. Valid values are local0 .. local7,
or default. The value "local0" corresponds to LOG_LOCAL0. The
default is LOG_DAEMON.
OPERATION
proacd negotiates and accepts client connections and opens a connection
to the server based on the route definitions specified in it's
configuration file. The client connection is referred to as the source
endpoint and the server connection is referred to destination endpoint.
The relationship between source endpoint and destination endpoint is
referred to as a route.
CONFIGURATION
The config file is read at startup and when proacd receives a SIGHUP
signal.
PROTOCOLS
proacd currently supports only PPPoE as a source endpoint and both L2TP
and PPP as destination endpoints. It also supports querying RADIUS
servers to make authentication and routing decisions about incoming
client session setup requests. It fully implements the server side of
RFC 2516 (A Method for Transmitting PPP Over Ethernet), to listen for
incoming service requests.
proacd requires an external L2TP daemon, prol2tpd, in order to
establish L2TP destination endpoints. An external PPP daemon, either
propppd or the legacy pppd, is required to terminate PPP sessions
locally.
LINUX KERNEL DRIVERS
In order to switch data packets from an incoming PPPoE session to an
L2TP session, proacd requires a Linux kernel 5.11 or later with PPP
Bridging support. If using older kernels, our l2tp_ac_pppoe kernel
driver is required.
proacd is able to terminate incoming sessions in a local pppd instance,
to do so it makes use of the rp-pppoe.so plugin distributed with pppd,
which requires that the linux kernel driver pppoe is loaded.
MANAGEMENT INTERFACE
A management interface is provided to allow users or applications to
query the status of the daemon. It uses the netlink protocol familiar
to kernel programmers, using an AF_UNIX socket attached to a named pipe
for transport. An example application proac_info is provided to allow
the user to dump the list of current routes and the set of statistics
kept by the daemon.
SEE ALSO
proacd.conf(5), proac_info(8), proac_trace(8), proac_manage(8),
ProL2TP 2.6.4 October 2024 proacd(8)