PPPCTL(8) System Manager's Manual PPPCTL(8) NAME pppctl -- PPP control program SYNOPSIS pppctl [-v] [-t n] [-p passwd] [host:]Port | LocalSocket [command[;command]...] DESCRIPTION This utility provides command line control of the ppp(8) daemon. Its pri- mary use is to facilitate simple scripts that control a running daemon. The pppctl utility is passed at least one argument, specifying the socket on which ppp is listening. Refer to the `set server' command of ppp for details. If the socket contains a leading '/', it is taken as an AF_LOCAL socket. If it contains a colon, it is treated as a host:port pair, other- wise it is treated as a TCP port specification on the local machine (127.0.0.1). Both the host and port may be specified numerically if you wish to avoid a DNS lookup or do not have an entry for the given port in /etc/services. All remaining arguments are concatenated to form the command(s) that will be sent to the ppp daemon. If any semi-colon characters are found, they are treated as command delimiters, allowing more than one command in a given `session'. For example: pppctl 3000 set timeout 300\; show timeout Do not forget to escape or quote the ';' as it is a special character for most shells. If no command arguments are given, pppctl enters interactive mode, where commands are read from standard input. When reading commands, the edit- line(3) library is used, allowing command-line editing (with editrc(5) defining editing behaviour). The history size defaults to 20 lines. The following command line options are available: -v Display all data sent to and received from the ppp daemon. Nor- mally, pppctl displays only non-prompt lines received. This option is ignored in interactive mode. -t n Use a timeout of n instead of the default 2 seconds when connect- ing. This may be required if you wish to control a daemon over a slow (or even a dialup) link. -p passwd Specify the password required by the ppp daemon. If this switch is not used, pppctl will prompt for a password once it has success- fully connected to ppp. ENVIRONMENT The following environment variables are understood by pppctl when in inter- active mode: EL_SIZE The number of history lines. The default is 20. EL_EDITOR The edit mode. Only values of "emacs" and "vi" are accepted. Other values are silently ignored. This environment variable will override the bind -v and bind -e commands in ~/.editrc. EXAMPLES If you run ppp in -auto mode, pppctl can be used to automate many frequent tasks (you can actually control ppp in any mode except interactive mode). Use of the -p option is discouraged (even in scripts that are not readable by others) as a ps(1) listing may reveal your secret. The best way to allow easy, secure pppctl access is to create a local server socket in /etc/ppp/ppp.conf (in the correct section) like this: set server /var/run/internet "" 0177 This will instruct ppp to create a local domain socket, with srw------- permissions and no password, allowing access only to the user that invoked ppp. Refer to the ppp(8) man page for further details. You can now create some easy-access scripts. To connect to the internet: #! /bin/sh test $# -eq 0 && time=300 || time=$1 exec pppctl /var/run/internet set timeout $time\; dial To disconnect: #! /bin/sh exec pppctl /var/run/internet set timeout 300\; close To check if the line is up: #! /bin/sh pppctl -p '' -v /var/run/internet quit | grep ^PPP >/dev/null if [ $? -eq 0 ]; then echo Link is up else echo Link is down fi You can even make a generic script: #! /bin/sh exec pppctl /var/run/internet "$@" You could also use pppctl to control when dial-on-demand works. Suppose you want ppp to run all the time, but you want to prevent dial-out between 8pm and 8am each day. However, any connections active at 8pm should con- tinue to remain active until they are closed or naturally time out. A cron(8) entry for 8pm which runs pppctl /var/run/internet set filter dial 0 deny 0 0 will block all further dial requests, and the corresponding 8am entry pppctl /var/run/internet set filter dial -1 will allow them again. SEE ALSO ps(1), editline(3), editrc(5), services(5), ppp(8) HISTORY The pppctl utility first appeared in FreeBSD 2.2.5. FreeBSD 15.1 June 26, 1997 PPPCTL(8)
NAME | SYNOPSIS | DESCRIPTION | ENVIRONMENT | EXAMPLES | SEE ALSO | HISTORY
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pppctl&sektion=8&manpath=FreeBSD+15.1-RELEASE+and+Ports>
