DHCPY6D-CLIENTS.CONF(5)
β¨ dhcpy6d-clients.conf(5) β¨
okay so welcome to DHCPY6D-CLIENTS.CONF(5), the manual page that is literally just the client config file for the DHCPv6 server dhcpy6d. bestie, if you're here it's because you have clients and you have opinions about how they get their addresses. let's go π
πΈ DESCRIPTION πΈ
this file holds all the client configuration data, but only if you've set these options over in dhcpy6d.conf:
store_config = file
and
store_file_config = /path/to/dhcpy6d-clients.conf
if that's not your vibe, there's another way to store client config: database storage with SQLite or MySQL or PostgreSQL databases. the full tea is at https://dhcpy6d.de/documentation/config. π«Ά
this file follows RFC 822 style, parsed by the Python ConfigParser module. very demure, very mindful.
some options allow multiple values. those have to be separated by spaces. no commas, no vibes-based guessing, just spaces. periodt. β¨
π CLIENT SECTIONS π
[host_name]β every client gets its own section, one section per client, no sharing. it might have multiple attributes, and which ones it needs depends on the identification and general address settings you configured back indhcpy6d.conf. iykyk π
π CLIENT ATTRIBUTES π
every client section contains several attributes. hostname and class are mandatory. a third one should match at least one of the identification attributes configured in dhcpy6d.conf.
both of the following 2 attributes are necessary β the class and at least one of the others.
π Mandatory client attribute 'class' π
class = <class>β every single client needs a class, no exceptions, it's giving non-negotiable. if a client is identified, which addresses it gets depends on its class. that whole relationship is configured over indhcpy6d.conf. π
π¦ Semi-mandatory client attributes π¦
depending on the identification in dhcpy6d.conf, clients need to have the corresponding attributes. at least one of them is needed.
mac = <mac-address>β the MAC address of the client's Link Local Address in the DHCPv6 request, formatted like the most usual01:02:03:04:05:06. iconic format, don't fight it.duid = <duid>β the DUID of the client, which comes with the DHCPv6 request message. no hex and no\needed, just like for example000100011234567890abcdef1234.hostname = <hostname>β the client's non-FQDN hostname. it will be used for dynamic DNS updates. π₯
π Extra attributes π
these attributes do not serve for identification of a client β they're here for appropriate address generation instead. they're the little extras, the accessories of the config world π
id = <id>βidhas to be a hex number in the range 0-FFFF. the client ID from this directive will be inserted in the address pattern of category id instead of the$id$placeholder. slay.address = <address> [<address> ...]β addresses configured here will be sent to a client in addition to the ones it gets due to its class. might be useful for some extra static address definitions. β¨prefix = <prefix> [<prefix> ...]β prefix configured here will be sent to the client in addition to the ones it gets due to its class. π«Ά
π EXAMPLES π
the next lines contain some example client definitions:
[client1]
hostname = client1
mac = 01:01:01:01:01:01
class = valid_client
[client2]
hostname = client2
mac = 02:02:02:02:02:02
class = invalid_client
[client3]
hostname = client3
duid = 000100011234567890abcdef1234
class = valid_client
address = 2001:db8::babe:1
[client4]
hostname = client4
mac = 04:04:04:04:04:04
id = 1234
class = valid_client
[client5]
hostname = client5
mac = 01:01:01:01:01:02
class = valid_client
prefix = 2001:db8::/48
look at client3 with that 2001:db8::babe:1, main character energy honestly ππ
π LICENSE π
this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details.
you should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
on Debian systems, the full text of the GNU General Public License version 2 can be found in the file /usr/share/common-licenses/GPL-2.
π SEE ALSO π
π AUTHOR π
Copyright (C) 2012-2022 Henri Wahl <h.wahl@dhcpy6d.de> π
π COPYRIGHT π
this manual page is licensed under the GPL-2 license.
and that's the whole page bestie, no cap π«Ά this was dhcpy6d-clients.conf(5) from version 1.0.3, dated 2020-12-21. go configure some clients, you're gonna eat π
β¨
π¦ where this page comes from
- debian bookworm: dhcpy6d 1.2.3-1 Β· GPL-2.0-or-later
- debian trixie: dhcpy6d 1.2.3-1.1 Β· GPL-2.0-or-later
- ubuntu noble: dhcpy6d 1.2.3-1 Β· GPL-2.0-or-later
- ubuntu questing: dhcpy6d 1.2.3-1.1
- ubuntu resolute: dhcpy6d 1.2.3-1.1build1 Β· GPL-2.0-or-later
- ubuntu stonking: dhcpy6d 1.2.3-1.1build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms