= DNS on BSD = '''Domain Name Resolution''' ('''DNS''') was [[Bind|invented for BSD]], so in many ways ''DNS for BSD'' is just textbook DNS. <> ---- == Name resolution == === Name Service Switch === The [[BSD/NsSwitchConf|Name Service Switch (NSS) configuration file]] (`/etc/nsswitch.conf`) defines the order of operations for various services, among them being name resolution. {{{ hosts: files dns }}} === Hosts === The [[Linux/Hosts|hosts file]] (`/etc/hosts`) is a list of addresses and names, especially for local hosts and machines. {{{ 127.0.0.1 localhost }}} === Resolver === The [[Linux/ResolvConf|resolver configuration file]] (`/etc/resolv.conf`) is a list of nameservers to query for name resolution. Changes are immediately effective. It isn't recommended to manage this file directly. Instead, allow [[Dhclient|dhclient(8)]] and [[OpenResolv|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 === * `drill(1)`, used as `drill NAME @SERVER TYPE` * [[Bind/Dig|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 [[BSD/OpenBSD|OpenBSD]] and may be more compatible. ---- CategoryRicottone