dhcp6ctl
—
DHCPv6 client and server control utility
dhcp6ctl |
[-C -|
-S ] [-k
keyfile] [-p
port] [-s
address] command |
dhcp6ctl
controls the operation of a DHCPv6 process,
which is either dhcp6c
or
dhcp6s
, a DHCPv6 client or a server. By default,
dhcp6ctl
controls a client. The type of the process
can also be specified explicitly by the -C
or
-S
options.
dhcp6ctl
communicates with the DHCPv6
process over a TCP connection, sending commands authenticated with digital
signatures. Currently, the only supported authentication algorithm is
HMAC-MD5, which uses a shared secret on each end of the connection.
Command line options are as below:
-C
- Control a DHCPv6 client. This option is exclusive with the
-S
option.
-S
- Control a DHCPv6 server. This option is exclusive with the
-C
option.
-k
keyfile
- Use keyfile to provide the shared secret to
communicate with the process. The default file name used when unspecified
is /usr/local/etc/dhcp6cctlkey with a client, and
/usr/local/etc/dhcp6sctlkey with a server.
-p
port
- Specify port as the listening port of the process.
The default port number used when unspecified is 5546 for a client, and
5547 for a server.
-s
address
- Specify as the listening address of the process. The default address used
when unspecified is ::1.
Since the operation available with the dhcp6ctl
command
is powerful, the communication between the command and
dhcp6c
or dhcp6s
must be
authenticated. The supported algorithm for authentication is HMAC-MD5, which
requires a shared secret, and the secret is stored in the key file. The key
file must consist of a single line, in which the secret value is written in
the form of BASE-64 encoding.
Each command
specifies a single control operation.
Supported commands are as follows:
reload
- This command specifies the process to reload the configuration file.
Existing bindings, if any, are intact.
remove
arguments
- This command is only applicable to a server. This specifies the server to
remove a run-time object specified by arguments from
the server. Currently, the only possible object is one particular IA_NA or
IA_PD binding, which is specified as
‘
binding IA
IA_NA
IAID
DUID
’ or
‘binding IA
IA_PD
IAID
DUID
’ where IAID
is a decimal number specifying the IAID of the IA, and
DUID is a DHCP Unique Identifier of the binding. The
format of DUID is the same as that specified in
dhcp6s.conf(5).
start
interface
ifname
- This command is only applicable to a client. It tells the client to
release the current configuration information (if any) on the interface
ifname and restart the DHCPv6 configuration process
on the interface.
stop
interface
ifname
- This command is only applicable to a client. It tells the client to
release the current configuration information (if any) on the interface
ifname. Any timer running for the interface will be
stopped, and no more DHCPv6 messages will be sent on the interface. The
configuration process can later be restarted by the
start
command.
stop
- This command stops the specified process. If the process is a client, it
will release all configuration information (if any) and exits.
- /usr/local/etc/dhcp6cctlkey
- is the default key file to communicate with a client.
- /usr/local/etc/dhcp6sctlkey
- is the default key file to communicate with a server.
The dhcp6ctl
command first appeared in WIDE/KAME IPv6
protocol stack kit.