Domain names, Domain nameservers, DNS and DHCP are a key part of the internet back bone.
DNS (Domain Name System) resolves the text domain names to the relevant IP (Internet Protocol) addresses.
DHCP (Dynamic Host Configuration Protocol) allows the automatic assignment of IP addresses to hardware via a MAC (Medium Access Control) address, sometime domain names are also assigned.
IPv4 used a broadcast system for ARP (Address Resolution Protocol)
IPv6 assigns a link-local address to every network interface. It then uses the link local addresses with neighbor discovery for global IP addressing, with a DHCP or Router Advertisements.
Each hardware connection point has an associated MAC number to which one or more IP addresses can be assigned
domain names are the text used to identify internet resources. The are registered with a domain name registrar.
domain nameservers are used to assign IP addresses as well as other information to a domain name.
There are a number of levels of DNS, the system interrogates in the following order:
host file, this is a basic file on each computer operating system
The usual automatic entries are:
The local machine host name and ip address
The loop back address
Additional manual entries can be added for any host name and IP address. (This can be hand on occassions, such as setting up VPNs where the setup process changes internet access for
DNS stop working. The host file manual can still allow address resolution.
local dns resolver
machine based
many operating systems have a local caching
DNS server installed to improve
DNS performance.
-
This can act as a local caching
DNS server and also be used for
LAN
public resolver
authoritative domain resolver
The local OS DNS servers are specified in /etc/resolv.conf
The bind9 file that configs the DNS forwarders is /etc/bind/name.conf.options
, the DNS forwarders
are configured.
The kea dhcp configuration has the following related to DNS and gateway setup.
dhcpv4.conf
"subnet4": [
{
"subnet": "192.168.1.0/24",
// There are no relays in this network, so we need to tell Kea that this subnet
// is reachable directly via the specified interface.
"interface": "enp1s0",
"pools": [
{
"pool": "192.168.1.100 - 192.168.1.200"
}
],
"option-data": [
{
"name": "routers",
"data": "192.168.1.1"
},
{
"name": "domain-name-servers",
"data": "192.168.1.14,192.168.1.2,9.9.9.9"
}
],