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.
OPTIONS¶
- -m multicast-address
- Specify the link-local multicast address to be used by
AHCP. The default is ff02::cca6:c0f9:e182:5359.
- -p port
- Specify the UDP port number to be used by AHCP. The default
is 5359.
- -n
- Operate as a forwarder: participate in the flooding
protocol, but don't actually perform any configuration.
- -4
- Only attempt to configure IPv4 addresses.
- -6
- Only attempt to configure IPv6 addresses.
- -N
- Do not configure DNS.
- -t time
- Specify the time, in seconds, for which leases are
requested. The default is slightly over one hour. Must be between five
minutes and a year.
- -s script
- Specify the configuration script to run. The default is
/etc/ahcp/ahcp-config.sh.
- -d level
- Set the debug level to level (default 1).
- -i filename
- Specify the filename containing this host's unique id. The
default is /var/lib/ahcp-unique-id. If it doesn't exist, it will be
created by ahcpd.
- -c filename
- Specify the name of the configuration file.
- -C statement
- Specify a configuration statement directly on the command
line.
- -D
- Daemonise at startup.
- -L logfile
- Specify a file to log random ``how do you do?'' messages
to. This defaults to standard error if not daemonising, and to
/var/log/ahcpd.log otherwise.
- -I pidfile
- Specify a file to write our process id to. The default is
/var/run/ahcpd.pid.
The configuration is a sequence of lines, each of which 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.
The following keywords are recognised:
- mode
server|client|forwarder
- Specifies whether the daemon operates as a server, a
client, or a forwarder. If omitted, the default is to operate as a client,
unless the -n flag is present on the command line. If present, this
must be the first line in the configuration file.
- prefix prefix
- Specifies a prefix to use for configuring clients. This
keyword is only valid in server configurations, and may be specified
twice, once for IPv4 and once for IPv6.
- lease-dir directory
- Specifies a directory to store lease files. This keyword is
only valid in server configurations.
- name-server address
- Specifies the address of a DNS server to configure clients
with. This keyword is only valid in server configurations, and may be
repeated multiple times.
- ntp-server address
- Specifies the address of an NTP server to configure clients
with. This keyword is only valid in server configurations, and 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.
- /etc/ahcp/ahcp-config.sh
- The script that performs the actual configuration. It will
be passed one argument, which is either start or stop.
- /etc/ahcp/ahcp-local.sh
- If this is an executable script, it will be called by
ahcp-config.sh just after configuring or deconfiguring. It will be
passed one argument, which is either start or stop.
SIGNALS¶
- SIGUSR1
- Print ahcpd's status to standard output or to the
log file.
- SIGUSR2
- Check all interfaces for status changes, then reopen the
log file.
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; these are expected to be
provided by a full-fledged routing protocol for mesh nodes, and by router
advertisements for ordinary nodes.
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. 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.
AUTHOR¶
Juliusz Chroboczek.