DNS is both simple and complex.
DNS translates the human domains into something computers can understand.
skynet IN A 193.1.96.165
*.users IN CNAME skynet
It can also provide useful information.
skynet.ie. IN TXT "v=spf1 a:mail.skynet.ie -all"
DNS is hierarchical and delegated.
Root servers
TLD (Top Level Domain) servers (.ie, .com, .eu)
Domain servers (skynet.ie)
We run our own DNS servers, Bind9 (ns1.skynet.ie, ns2.skynet.ie)
We also have control over csn.ul.ie and ulcompsoc.ie
On the nixos repo:
colmena build --keep-result --on vendetta
cat .gcroots/node-vendetta/etc/skynet/dns/skynet.ie
On top of that we also manage the reverse DNS (rDNS)
Reverse DNS allows you to look up and IP and get the domains.
cat .gcroots/node-vendetta/etc/skynet/dns/64-64.99.1.193.in-addr.arpa
To validate them there is this tool: https://bind.jamiewood.io/
(put skynet.ie in teh FQDN box)
dig skynet.ie
dig skynet.ie @1.1.1.1
dig skynet.ie @ns1.skynet.ie
host 193.1.99.75
Use this time to explore the nixos repo to explain