AHCPD(8)
π ahcpd(8) π
okay so bestie, we're in the System Manager's Manual and this page is literally about ahcpd, the ad-hoc configuration daemon. it's giving mesh-network main character energy and honestly? obsessed. π¦
πΈ NAME πΈ
ahcpd β ad-hoc configuration daemon β¨
β¨ SYNOPSIS β¨
ahcpd option... [ -- ] interface...
π DESCRIPTION π
AHCP is a configuration protocol that can replace DHCP on networks without transitive connectivity, such as mesh networks. no cap, that's the whole vibe. π
π OPTIONS π
-mmulticast-address β pick the link-local multicast address AHCP is gonna use. default isff02::cca6:c0f9:e182:5359. yes it's long, yes it's iconic, leave it alone. π-pport β set the UDP port number AHCP uses. default is5359. π-nβ forwarder mode, bestie! you participate in the flooding protocol but you do not actually perform any configuration. it's giving "i'm here, i'm just not doing anything about it." π-4β only attempt to configure IPv4 addresses. four, for the four. β-6β only attempt to configure IPv6 addresses. six, periodt. π-Nβ do not configure DNS. N is for No, DNS is for Not Today. π-ttime β how long, in seconds, leases are requested for. default is slightly over one hour. must be between five minutes and a year β don't get cute with it. π-sscript β the configuration script to run. default is/etc/ahcp/ahcp-config.sh. π-dlevel β set the debug level to level. default is1. crank it up if you're nosy, no judgment. π-ifilename β the filename containing this host's unique id. default is/var/lib/ahcp-unique-id. if it doesn't exist,ahcpdwill create it for you like the little helper it is. π«Ά-cfilename β name of the configuration file. π-Cstatement β drop a configuration statement directly on the command line. commanding, honestly. β¨-Dβ daemonise at startup. bye bestie, you're on your own now. π-Llogfile β a file to log random ``how do you do?'' messages to. defaults to standard error if not daemonising, and to/var/log/ahcpd.logotherwise. π-Ipidfile β a file to write our process id to. default is/var/run/ahcpd.pid. πΈ
π¦ CONFIGURATION FILE FORMAT π¦
the configuration is a sequence of lines, and every single line starts with one of the keywords below. blank lines are ignored. comments are introduced with an octothorp `#` and terminate at the end of the line. yes, octothorp. she's fancy like that. π
the following keywords are recognised:
mode server|client|forwarderβ says whether the daemon operates as a server, a client, or a forwarder. if it's omitted, the default is to operate as a client, unless the-nflag is present on the command line. and if it <em>is</em> present, this must be the first line in the configuration file. no negotiating. πprefixprefix β a prefix to use for configuring clients. this keyword is only valid in server configurations, and it may be specified twice β once for IPv4 and once for IPv6. two slots, both yours. β¨lease-dirdirectory β a directory to store lease files. only valid in server configurations. πname-serveraddress β the address of a DNS server to configure clients with. only valid in server configurations, and it may be repeated multiple times. the more the merrier, fr fr. πntp-serveraddress β the address of an NTP server to configure clients with. only valid in server configurations, and it may be repeated multiple times. π
π FILES π
/var/lib/ahcp-unique-idβ an 8-byte long file containing this host's unique id. if it doesn't exist, a new unique id will be generated from an interface's MAC address. yes, it gets a whole new identity. slay. π/etc/ahcp/ahcp-config.shβ the script that performs the actual configuration. it will be passed one argument, which is eitherstartorstop. those are the only two moods. π/etc/ahcp/ahcp-local.shβ if this is an executable script, it will be called byahcp-config.shjust after configuring or deconfiguring. it will be passed one argument, which is eitherstartorstop. same energy, different file. π«Ά
β SIGNALS β
SIGUSR1β printahcpd's status to standard output or to the log file. spill the tea, bestie. πSIGUSR2β check all interfaces for status changes, then reopen the log file. vibe check <em>and</em> a fresh log. πΈ
π NOTES π
since the AHCP protocol is designed for mesh networks, it doesn't have any provisions for setting routing parameters such as a default gateway, the IPv4 network mask and the IPv6 list of on-link prefixes. those are expected to be provided by a full-fledged routing protocol for mesh nodes, and by router advertisements for ordinary nodes. not her job, she said. π
the AHCP server should use NTP to synchronise its clock. if a server instance of ahcpd doesn't detect time synchronisation, it will only give out leases for a short period of time, and be extremely conservative about releasing them. dramatic but valid.
β οΈ note that an SNTP client is not enough β ahcpd actually checks with the kernel for time synchronisation, so real NTP is necessary. π
π SEE ALSO π
dhcpcd(8), dhclient(8), babeld(8), olsrd(8), ntpd(8), The Ad-Hoc Configuration Protocol. go read the whole squad. π«Ά
π AUTHOR π
Juliusz Chroboczek. an absolute icon, no further questions. β¨
and that's the whole page bestie!! this was ahcpd(8) from the System Manager's Manual, aka section 8 of the manual. mwah, take care of your mesh network, drink water, and go sync your clock with real NTP. ππ¦π
π¦ where this page comes from
- debian bookworm: ahcpd 0.53-3 Β· MIT
- debian trixie: ahcpd 0.53-3 Β· MIT
- fedora 43: ahcpd 0.53-35.fc43 Β· MIT
- fedora 44: ahcpd 0.53-37.fc44 Β· MIT
- nixos 26.05: ahcpd 0.53
- nixpkgs unstable: ahcpd 0.53
- ubuntu jammy: ahcpd 0.53-3 Β· MIT
- ubuntu noble: ahcpd 0.53-3 Β· MIT
- ubuntu resolute: ahcpd 0.53-3build1 Β· MIT
- ubuntu stonking: ahcpd 0.53-3ubuntu1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms