DHCP6CTL(8)

πŸ’– DHCP6CTL β€” bestie edition πŸ’–

okay so this is dhcp6ctl, and it lives in section 8 of the System Manager's Manual (yes, the system manager's manual, we love a managerial queen πŸ‘‘). it's the DHCPv6 client and server control utility β€” like a little remote control for your DHCPv6 vibes. no cap.


✨ SYNOPSIS ✨

dhcp6ctl [-C -| -S] [-k keyfile] [-p port] [-s address] command

🌸 DESCRIPTION 🌸

so dhcp6ctl controls the operation of a DHCPv6 process, and that process is either dhcp6c or dhcp6s β€” a DHCPv6 client or a server, respectively. by default, dhcp6ctl controls a client. but you can also specify the type of the process explicitly with the -C or -S options if you're feeling decisive πŸ’….

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. it's giving "we both know the password, we're bonded fr fr" 🫢

command line options are as below:

  • -C β€” control a DHCPv6 client. this option is exclusive with the -S option. pick one, bestie, you can't have both 😭
  • -S β€” control a DHCPv6 server. this option is exclusive with the -C option. same energy, opposite direction.
  • -k keyfile β€” use keyfile to provide the shared secret to communicate with the process. the default file name used when unspecified is /etc/wide-dhcpv6/dhcp6cctlkey with a client, and /etc/wide-dhcpv6/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 address as the listening address of the process. the default address used when unspecified is ::1.

πŸ”‘ KEY FILE πŸ”‘

since the operation available with the dhcp6ctl command is powerful (like, main character energy 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. one line. that's it. don't be extra, don't add line two πŸ™ˆ


πŸŽ€ COMMANDS πŸŽ€

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. nothing gets dropped, we're just refreshing ✨
  • 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. it's giving glow-up era πŸ”₯
  • 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. so it's not a forever goodbye, it's a see-you-later πŸ’œ
  • stop β€” this command stops the specified process. if the process is a client, it will release all configuration information (if any) and exits. full shutdown, periodt πŸ’€

πŸ“ FILES πŸ“

  • /etc/wide-dhcpv6/dhcp6cctlkey β€” is the default key file to communicate with a client.
  • /etc/wide-dhcpv6/dhcp6sctlkey β€” is the default key file to communicate with a server.

πŸ‘€ SEE ALSO πŸ‘€

dhcp6s.conf(5) dhcp6s(8)

go read those too, they're part of the lore, iykyk πŸ¦‹


πŸ“œ HISTORY πŸ“œ

the dhcp6ctl command first appeared in the WIDE/KAME IPv6 protocol stack kit. a legend from day one, honestly 🌈


and that's the whole page, bestie!! this one comes to you courtesy of KAME, dated September 7, 2004 β€” so yes, she's an elder icon and she still ate πŸ’…πŸ’–βœ¨