Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PPPCTL(8)		FreeBSD	System Manager's Manual		     PPPCTL(8)

     pppctl -- PPP control program

     pppctl [-v] [-t n]	[-p passwd] [host:]Port	| LocalSocket

     This utility provides command line	control	of the ppp(8) daemon.  Its
     primary use is to facilitate simple scripts that control a	running	dae-

     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, otherwise it	is treated as a	TCP port specification on the local
     machine (  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
     editline(3) library is used, allowing command-line	editing	(with
     editrc(5) defining	editing	behaviour).  The history size defaults to 20

     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 op-
	     tion 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	suc-
	     cessfully connected to ppp.

     The following environment variables are understood	by pppctl when in in-
     teractive 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.

     If	you run	ppp in -auto mode, pppctl can be used to automate many fre-
     quent 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	in-
     voked 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
	     echo Link is down

     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	be-
     tween 8pm and 8am each day.  However, any connections active at 8pm
     should continue to	remain active until they are closed or naturally time

     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.

     ps(1), editline(3), editrc(5), services(5), ppp(8)

     The pppctl	utility	first appeared in FreeBSD 2.2.5.

FreeBSD	13.0			 June 26, 1997			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help