NetBSD/external/bsd/dhcpcd/dist/README.md

100 lines
3.5 KiB
Markdown
Raw Normal View History

Import dhcpcd-7.0.0-beta. Changes from prior version include: * source file locations reworked: dhcpcd source is in src dhcpcd hooks are in hooks compat is in compat * README split into README.md and BUILDING.md * internal routing is now protocol agnostic * avoid using __packed and use compile time asserts instead * addresses some alignment issues * disable some ARP code on kernels which support RFC5227 * BSD IPv6 kernel settings are now updated to reflect dhcpcd config * custom logger has been removed, syslog handles everything as such, the --logfile option has been removed as well. If you need better/earlier logging, get a better syslogger! * distinfo and signed distinfo files are now available alongside release taraballs from this point onwards * default DBDIR has changed from /var/db to /var/db/dhcpcd * /etc/dhcpcd.duid moves to DBDIR/duid * /etc/dhcpcd.secret moves to DBDIR/secret * lease file names have dhcpcd removed from them as they are now inside a directory of the same name * fixed issues with reject routes not working on some platforms * improved nl80211 support on Linux for working out the SSID * no longer request NTP by default in dhcpcd.conf * BPF filtering vastly improved so dhcpcd only wake up on ARP or DHCP packets destined for it * support for MUD URL (draft-ietf-opsawg-mud-05) * if the kernel isn't doing DAD, don't insist on waiting for it to actually do it * fix a potential crash where the DHCP or ARP states could be freed before the packet processing loop naturally breaks * removed gateway and nogateway options (these can be controlled by the nooption directive which works for more than just gateways) * removed ipv6ra_own and ipv6ra_own_default options (these can be controled by the ipv6rs/noipv6rs directive) * fix a crash receiving SIGUSR1
2017-03-31 23:51:14 +03:00
# dhcpcd
dhcpcd is a
[DHCP](http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol) and a
[DHCPv6](http://en.wikipedia.org/wiki/DHCPv6) client.
It's also an IPv4LL (aka [ZeroConf](http://en.wikipedia.org/wiki/Zeroconf))
client.
In layman's terms, dhcpcd runs on your machine and silently configures your
computer to work on the attached networks without trouble and mostly without
configuration.
If you're a desktop user then you may also be interested in
[Network Configurator (dhcpcd-ui)](http://roy.marples.name/projects/dhcpcd-ui)
which sits in the notification area and monitors the state of the network via
dhcpcd.
It also has a nice configuration dialog and the ability to enter a pass phrase
for wireless networks.
dhcpcd may not be the only daemon running that wants to configure DNS on the
host, so it uses [openresolv](http://roy.marples.name/projects/openresolv)
to ensure they can co-exist.
See [BUILDING.md](BUILDING.md) for how to build dhcpcd.
If you wish to file a support ticket or help out with development, please
[visit the Development Area](https://dev.marples.name/project/profile/101/)
or join the mailing list below.
## Configuration
You should read the
[dhcpcd.conf man page](http://roy.marples.name/man/html5/dhcpcd.conf.html)
and put your options into `/etc/dhcpcd.conf`.
The default configuration file should work for most people just fine.
Here it is, in case you lose it.
```
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.
# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel
# Inform the DHCP server of our hostname for DDNS.
hostname
# Use the hardware address of the interface for the Client ID.
#clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
duid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit
Import dhcpcd-7.0.0-beta. Changes from prior version include: * source file locations reworked: dhcpcd source is in src dhcpcd hooks are in hooks compat is in compat * README split into README.md and BUILDING.md * internal routing is now protocol agnostic * avoid using __packed and use compile time asserts instead * addresses some alignment issues * disable some ARP code on kernels which support RFC5227 * BSD IPv6 kernel settings are now updated to reflect dhcpcd config * custom logger has been removed, syslog handles everything as such, the --logfile option has been removed as well. If you need better/earlier logging, get a better syslogger! * distinfo and signed distinfo files are now available alongside release taraballs from this point onwards * default DBDIR has changed from /var/db to /var/db/dhcpcd * /etc/dhcpcd.duid moves to DBDIR/duid * /etc/dhcpcd.secret moves to DBDIR/secret * lease file names have dhcpcd removed from them as they are now inside a directory of the same name * fixed issues with reject routes not working on some platforms * improved nl80211 support on Linux for working out the SSID * no longer request NTP by default in dhcpcd.conf * BPF filtering vastly improved so dhcpcd only wake up on ARP or DHCP packets destined for it * support for MUD URL (draft-ietf-opsawg-mud-05) * if the kernel isn't doing DAD, don't insist on waiting for it to actually do it * fix a potential crash where the DHCP or ARP states could be freed before the packet processing loop naturally breaks * removed gateway and nogateway options (these can be controlled by the nooption directive which works for more than just gateways) * removed ipv6ra_own and ipv6ra_own_default options (these can be controled by the ipv6rs/noipv6rs directive) * fix a crash receiving SIGUSR1
2017-03-31 23:51:14 +03:00
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
Import dhcpcd-7.0.0-beta. Changes from prior version include: * source file locations reworked: dhcpcd source is in src dhcpcd hooks are in hooks compat is in compat * README split into README.md and BUILDING.md * internal routing is now protocol agnostic * avoid using __packed and use compile time asserts instead * addresses some alignment issues * disable some ARP code on kernels which support RFC5227 * BSD IPv6 kernel settings are now updated to reflect dhcpcd config * custom logger has been removed, syslog handles everything as such, the --logfile option has been removed as well. If you need better/earlier logging, get a better syslogger! * distinfo and signed distinfo files are now available alongside release taraballs from this point onwards * default DBDIR has changed from /var/db to /var/db/dhcpcd * /etc/dhcpcd.duid moves to DBDIR/duid * /etc/dhcpcd.secret moves to DBDIR/secret * lease file names have dhcpcd removed from them as they are now inside a directory of the same name * fixed issues with reject routes not working on some platforms * improved nl80211 support on Linux for working out the SSID * no longer request NTP by default in dhcpcd.conf * BPF filtering vastly improved so dhcpcd only wake up on ARP or DHCP packets destined for it * support for MUD URL (draft-ietf-opsawg-mud-05) * if the kernel isn't doing DAD, don't insist on waiting for it to actually do it * fix a potential crash where the DHCP or ARP states could be freed before the packet processing loop naturally breaks * removed gateway and nogateway options (these can be controlled by the nooption directive which works for more than just gateways) * removed ipv6ra_own and ipv6ra_own_default options (these can be controled by the ipv6rs/noipv6rs directive) * fix a crash receiving SIGUSR1
2017-03-31 23:51:14 +03:00
option interface_mtu
# Most distributions have NTP support.
#option ntp_servers
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private
```
The [dhcpcd man page](/man/html8/dhcpcd.html) has a lot of the same options and more, which only apply to calling dhcpcd from the command line.
## Compatibility
dhcpcd-5 is only fully command line compatible with dhcpcd-4
For compatibility with older versions, use dhcpcd-4
## Upgrading
dhcpcd-7 defaults the database directory to `/var/db/dhcpcd` instead of
`/var/db` and now stores dhcpcd.duid and dhcpcd.secret in there instead of
in /etc.
The Makefile `_confinstall` target will attempt to move the files correctly from
the old locations to the new locations.
Of course this won't work if dhcpcd-7 is packaged up, so packagers will need to
install similar logic into their dhcpcd package.
## ChangeLog
We no longer supply a ChangeLog.
However, you're more than welcome to read the
[commit log](http://roy.marples.name/git/dhcpcd.git/log/) and
[archived release announcements](http://roy.marples.name/archives/dhcpcd-discuss/).