PPPOECTL(8) | System Manager's Manual | PPPOECTL(8) |
pppoectl
— display
or set parameters for an PPPoE interface
pppoectl |
[-v ] ifname
[parameter[=value]]
[...] |
pppoectl |
-e ethernet-ifname
[-s service-name]
[-a
access-concentrator-name]
[-d ] [-n 1
| 2] ifname |
pppoectl |
-f config-file
ifname [...] |
There are two basic modes of operation: configuring security-related parameters and attaching a PPPoE interface to its ethernet interface, optionally passing in additional parameters for the PPPoE encapsulation.
The latter usage is indicated by the presence of the
-e
option, which takes the name of the ethernet
interface as its argument.
-e
-a
-s
-d
-n
1 | 2-f
Typically, not both the access concentrator name and the service name are specified.
The pppoe(4) driver
requires a number of additional arguments or optional parameters besides the
settings that can be adjusted with
ifconfig(8). These are
things like authentication protocol parameters, but also other tunable
configuration variables. The pppoectl
utility can be
used to display the current settings, or adjust these parameters as
required.
For whatever intent pppoectl
is being
called, at least the parameter ifname needs to be
specified, naming the interface for which the settings are to be performed
or displayed. Use
ifconfig(8) or
netstat(1) to see which
interfaces are available.
If no other parameter is given,
pppoectl
will just list the current settings for
ifname and exit. The reported settings include the
current PPP phase the interface is in, which can be one of the names
dead,
establish,
authenticate,
network,
or
terminate.
If an authentication protocol is configured for the interface, the name of
the protocol to be used, as well as the system name to be used or expected
will be displayed, plus any possible options to the authentication protocol
if applicable. Note that the authentication secrets (sometimes also called
keys) are
not being returned by the underlying system call, and are thus not
displayed.
If any additional parameter is supplied, superuser privileges are
required, and the command works in
‘set
’ mode. This is normally done
quietly, unless the option -v
is also enabled, which
will cause a final printout of the settings as described above once all
other actions have been taken. Use of this mode will be rejected if the
interface is currently in any other phase than dead. Note
that you can force an interface into dead phase by calling
ifconfig(8) with the
parameter ‘down
’.
The currently supported parameters include:
chap
’,
‘pap
’, or
‘none
’. In the latter case, the use
of an authentication protocol will be turned off for the named interface.
This has the side-effect of clearing the other authentication-related
parameters for this interface as well (i. e., system name and
authentication secret will be forgotten).list
’ mode.list
’
mode.The result of the negotiation can be retrieved with the
-n
option.
The following example is the complete sequence of commands to bring a PPPoE connection up:
# Need ethernet interface UP (or it won't send any packets) ifconfig ne0 up # Let pppoe0 use ne0 as its ethernet interface pppoectl -e ne0 pppoe0 # Configure authentication pppoectl pppoe0 \ myauthproto=pap \ myauthname=XXXXX \ myauthsecret=YYYYY \ hisauthproto=none # Configure the pppoe0 interface itself. These addresses are magic, # meaning we don't care about either address and let the remote # ppp choose them. ifconfig pppoe0 0.0.0.0 0.0.0.1 netmask 0xffffffff up
netstat(1), pppoe(4), ifconfig(8), ifwatchd(8)
B. Lloyd and W. Simpson, PPP Authentication Protocols, RFC 1334.
W. Simpson, Editor, The Point-to-Point Protocol (PPP), RFC 1661.
W. Simpson, PPP Challenge Handshake Authentication Protocol (CHAP), RFC 1994.
L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and R. Wheeler, A Method for Transmitting PPP Over Ethernet (PPPoE), RFC 2516.
The pppoectl
utility is based on the
spppcontrol
utility which appeared in
FreeBSD 3.0. The pppoectl
utility first appeared in NetBSD 1.6.
The program was written by Jörg Wunsch, Dresden, and modified for PPPoE support by Martin Husemann.
September 22, 2018 | NetBSD 10.99 |