DHCP6C(8)
β¨ dhcp6c β DHCPv6 client daemon β¨
okay bestie, gather round, because this is the DHCPv6 client daemon from the System Manager's Manual, section 8, and she is literally the one who goes and gets your IPv6 config for you. no cap. π
π¦ SYNOPSIS
dhcp6c [-c configfile] [-Ddfi] [-p pid-file] [-P profile] interface
[interfaces...]
π DESCRIPTION
so dhcp6c is out here working as a DHCPv6 client, and what she does is she gets info from DHCPv6 servers so she can configure the interface(s) you told her about. you can pass multiple interfaces separated by spaces or tabs, and in that case she'll be working on all of them simultaneously. multitasking queen π
the command line options are:
-cconfigfile β use configfile as the configuration file, instead of the default one.-dβ print debugging messages. lil peek behind the curtain π«£-Dβ even MORE debugging info gets printed. she's giving verbose. she's giving unhinged. π₯-fβ foreground mode, which is super useful when you're debugging. normallydhcp6cprints warning / debugging / error messages tosyslog(8), but if you pass this option she prints them to standard error instead.-iβ Info-req mode. in this mode, stateless DHCPv6 gets executed with the configuration below, and the info she gets is written to stdout. after that output,dhcp6cis terminated. (this suits a use in a shell-script and such, iykyk)
interface (interface given in the argument) {
information-only;
script (a script which displays the received information to stdout);
};
since that configuration is internally generated, you cannot provide a configuration in this mode. if you want different actions for the stateless DHCPv6 information, you should write an appropriate configuration and invoke dhcp6c without this option. periodt.
-ppid-file β use pid-file to dump the process ID ofdhcp6c.-Pprofile β use the given profile, defined in thedhcp6cconfiguration file, for interfaces that don't have a specific configuration of their own. the default-profile bestie π
the program will daemonize itself on invocation unless the -f or -i option is specified.
upon receipt of the SIGHUP or SIGTERM signals, dhcp6c will remove all stateful resources from the system. in the former case (that's SIGHUP) the daemon will then reinvoke itself, while in the latter case (that's SIGTERM) it will stop running. either way, dhcp6c will send DHCPv6 Release messages to release resources assigned from servers. she does NOT leave the group chat without saying goodbye π
πΈ FILES
/var/run/dhcp6c.pidβ the default file that contains the pid of the currently runningdhcp6c./etc/wide-dhcpv6/dhcp6c.confβ the default configuration file./var/lib/dhcpv6/dhcp6c_duidβ the file to store the client's DUID.
π§ Configuration Script
when dhcp6c receives a reply message, she'll invoke a supplementary configuration script specified in the dhcp6c.conf(5) file. the daemon will provide that script with configuration parameters as environment variables, and those include:
REASONβ the reason why the script is invoked. as of this writing, the value is always"NBI"and thus meaningless. π (yes really. iconic of her.)new_domain_name_serversβ a list of available DNS servers, each of which is an IPv6 numeric address and is separated by a white space character.new_domain_nameβ a list of DNS names, which provides the DNS name search path.new_ntp_serversβ a list of available NTP servers, each of which is an IPv6 numeric address and is separated by a white space character.new_sip_serversβ a list of available SIP server addresses, each of which is an IPv6 numeric address and is separated by a white space character.new_sip_nameβ a list of SIP server domain names.new_nis_serversβ a list of available NIS server addresses, each of which is an IPv6 numeric address and is separated by a white space character.new_nis_nameβ a list of NIS domain names.new_nisp_serversβ a list of available NIS+ server addresses, each of which is an IPv6 numeric address and is separated by a white space character.new_nisp_nameβ a list of NIS+ domain names.new_bcmcs_serversβ a list of available BCMCS server addresses, each of which is an IPv6 numeric address and is separated by a white space character.new_bcmcs_nameβ a list of BCMCS server domain names.
heads up bestie: the daemon does not always provide all the parameters. she sets an environment variable only when the corresponding configuration parameter is provided by the DHCPv6 server. so if a var is missing, it's not ghosting you, it just wasn't there π
π SEE ALSO
daemon(3), dhcp6c.conf(5), dhcp6s(8)
Ralph Droms, Editor, Dynamic Host Configuration Protocol for IPv6 (DHCPv6), RFC 3315, 2003.
β HISTORY
the dhcp6c command first appeared in the WIDE/KAME IPv6 protocol stack kit. a true legend from day one fr fr β¨
π BUGS
okay so we have to be honest here. dhcp6c is incomplete and she violates the DHCPv6 protocol spec in several aspects. in particular, temporary address assignment is intentionally omitted. not a bug, a choice, and she's standing by it π
also: the Information Refresh Time Option is not recognized in Info-req mode, since dhcp6c terminates after she receives a REPLY message. so yeah, that one just doesn't get read. noted. no notes. π
KAME Β· Sep 12, 1999 β that's the source, the version and the date, and that's a wrap bestie, go configure some interfaces, ily, mwah π«Άππ
π¦ where this page comes from
- debian bookworm: wide-dhcpv6-client 20080615-23 Β· BSD-3-Clause
- debian trixie: wide-dhcpv6-client 20080615-24 Β· BSD-3-Clause
- epel 10: wide-dhcpv6 20080615-23.3.el10_1.7 Β· LicenseRef-Callaway-BSD AND GPL-2.0-or-later
- epel 9: wide-dhcpv6 20080615-23.3.el9 Β· BSD and GPLv2+
- fedora 43: wide-dhcpv6 20080615-23.3.fc43.8 Β· LicenseRef-Callaway-BSD AND GPL-2.0-or-later
- fedora 44: wide-dhcpv6 20080615-23.3.fc44.9 Β· LicenseRef-Callaway-BSD AND GPL-2.0-or-later
- ubuntu jammy: wide-dhcpv6-client 20080615-23build1 Β· BSD-3-Clause
- ubuntu noble: wide-dhcpv6-client 20080615-23build1 Β· BSD-3-Clause
- ubuntu questing: wide-dhcpv6-client 20080615-24
- ubuntu resolute: wide-dhcpv6-client 20080615-24build1 Β· BSD-3-Clause
- ubuntu stonking: wide-dhcpv6-client 20080615-24ubuntu1 Β· BSD-3-Clause
- Copyright (C) 1998 and 1999 WIDE Project
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms