DHCP6S(8)

πŸ’– NAME πŸ’–

okay so dhcp6s is literally the DHCPv6 server β€” that's it, that's the name, and honestly? iconic. it's from the System Manager's Manual bestie, section 8, and it's here to hand out addresses and vibes. πŸ¦‹


✨ SYNOPSIS ✨

dhcp6s [-c configfile] [-Ddf] [-k ctlkeyfile] [-p ctlport] [-P pid-file]
       interface

🌸 DESCRIPTION 🌸

so the whole thing with dhcp6s is that it replies to DHCPv6 clients as a DHCPv6 server. it's giving main character energy in your network, no cap. πŸ’…

and bestie, the way it can hand out ALL of this to clients:

  • IPv6 prefixes for the requesting site
  • Non-temporary IPv6 addresses
  • A list of the DNS server addresses
  • DNS Domain Search List
  • A list of the NTP server addresses
  • A list of the SIP server addresses
  • SIP Server domain name
  • A list of the NIS server addresses
  • NIS domain name
  • A list of the NIS+ server addresses
  • NIS+ domain name
  • A list of the BCMCS server addresses
  • BCMCS Server domain name

like. that's a whole menu. it ate and left no crumbs. πŸ“


πŸŽ€ command line options πŸŽ€

the command line options are as below β€” read them, bestie, they're all useful:

  • -c configfile β€” use configfile as the configuration file. yes, that's the one you point at. πŸ“
  • -d β€” print debugging messages. little baby debug mode. πŸ›
  • -D β€” Even more debugging information is printed. like, MORE. double debug. debugging squared. πŸ”
  • -f β€” Foreground mode (useful when debugging). so here's the tea: dhcp6s usually prints warning, debugging, or error messages to syslog(8), but if you pass this option it prints the messages to standard error instead. much easier to watch, fr fr. πŸ‘€
  • -k ctlkeyfile β€” use ctlkeyfile to store the shared secret to authenticate the communication with dhcp6ctl. if you don't specify one, the default file name is /etc/wide-dhcpv6/dhcp6sctlkey. and here's the why: that default name is intentionally same as that for dhcp6ctl so that the server and the control command can share the file when dhcp6ctl controls the server on the same node β€” which should be the typical case. smart, right? πŸ”‘
  • -p ctlport β€” use ctlport as the port number listening on to communicate with dhcp6ctl. πŸšͺ
  • -P pid-file β€” use pid-file to dump the process ID of dhcp6s. so you know where your baby is at all times. 🫢

πŸ“‚ FILES πŸ“‚

  • /etc/wide-dhcpv6/dhcp6s.conf is the default configuration file.
  • /var/lib/dhcpv6/dhcp6s_duid is the default file to store the server's DUID.
  • /etc/wide-dhcpv6/dhcp6sctlkey is the default key file to communicate with the control command. See dhcp6ctl(8) for the file format.
  • /var/run/dhcp6s.pid is the default file that contains pid of the currently running dhcp6s.

πŸ‘€ SEE ALSO πŸ‘€

also, for the academic girlies: Ralph Droms, Editor, Dynamic Host Configuration Protocol for IPv6 (DHCPv6), RFC 3315, 2003. πŸ“š


🌈 HISTORY 🌈

the dhcp6s command first appeared in WIDE/KAME IPv6 protocol stack kit. a legend from day one, honestly. πŸ’œ

and lowkey a little sad one: the -n dnsserv command-line option was obsoleted by introducing a configuration file. gone but not forgotten. πŸ•―οΈ


πŸ’€ BUGS πŸ’€

okay bestie, deep breaths, because this part is real:

dhcp6s is incomplete and violates DHCPv6 protocol spec, in several aspects.

not me being dramatic β€” that's literally what it says. to name a few:

  1. it does not assign temporary IPv6 addresses (nor will).

and the "(nor will)" is doing SO much heavy lifting there. 😭 they're not fixing it. it's a choice. a lifestyle. periodt. πŸ™ˆ


and that's the whole page, bestie!! 🧚 this one came from KAME, dated Sep 12, 1999, and it's the DHCP6S(8) manual page. slay, go run your server, i believe in you πŸ’–βœ¨πŸŽ€