DNS on BSD
Domain Name Resolution (DNS) was invented for BSD, so in many ways DNS for BSD is just textbook DNS.
Contents
Name resolution
Name Service Switch
The Name Service Switch (NSS) file (/etc/nsswitch.conf) defines the order of operations for various services, among them being name resolution.
A minimal configuration looks like...
hosts: files dns
This configuration will require a fully configured hosts file, as seen below.
See here for more details on configuring /etc/nsswitch.
Hosts
The hosts file (/etc/hosts) is a list of addresses and names, especially for local hosts and machines. A basic hosts file looks like:
127.0.0.1 localhost
Resolver
The resolver configuration file (/etc/resolv.conf) is a list of nameservers to query for name resolution.
It isn't recommended to manage this file directly. Instead, allow dhclient(8) and resolvconf(8) to overwrite the file and configure the behavior of those programs.
At any time, the resolver file can be re-generated by running resolvconf -u.
Utilities
The bind package is bundled with general-purpose utilities, such as dig(1).
Multicast name resolution
Multicast domain name resolution (mDNS) is an expansion of the DNS protocol. An mDNS broadcaster makes use of port 5353 and resolves names in the .local domain.
There is no mature implementation of mDNS for the BSDs. Avahi may work; OpenMDNS was designed for use in OpenBSD and may be more compatible.