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)