DNS, aka the **Domain Name System**, is the phonebook of the internet. More specifically, it is the hierarchical and distributed naming system for computers, services, and other resources in the internet or other IP networks. It associates various information with domain names assigned to each of the associated entities. And most notably, it translates domain names to the numerical IP addresses needed for locating and identifying computer services and devices. Here is a[ list of DNS Providers. ](https://go-acme.github.io/lego/dns/) (Along with their credentials). More found below. --- ##### History The Domain Name System has been an essential component since 1985. It was originally used the UDP (User Datagram Protocol) as transport over IP. However, reliability, security, and privacy concerns led to the use of TCP (Transmission Control Protocol) as well as other numerous other protocol developments. Example: hostname `www.example.com` translates to the DNS address _93.184.216.34_ (IPv4) and _2606:2800:220:1:248:1893:25c8:1946_ (IPv6). The DNS can be quickly and transparently updates allowing service's location to change without affecting end users. [--> What is the difference between IPv4 & IPv6? ](obsidian://open?vault=enter&file=Coding%20Tips%20(Classical)%2FTerminal%20Tips%2FCommands%20%2B%20Settings%2FInternet%2FHosting%2FBrowser%20talk%2FIP%20Address) ###### More Details: The DNS reflects the structure of administrative responsibility on the internet. - Though the data structure of the DNS is a tree data structure ![[Pasted image 20230624141203.png]] #### Issues: --- - Some large ISPs have configured their DNS servers to violate rules - such as by disobeying TTLs (Time To Live, for results obtained from a DNS request), or by indicating that a domain name does not exist just because one of its name servers does not respond. - some web browsers maintain an internal DNS cache to avoid repeated lookups via the network. This practice can add extra difficulty when debugging DNS issues as it obscures the history of such data. - Internet explorer is an exception up to IE 8 - Chrome detects SNS issues and displays a specific message #### Uses --- ###### A DNS stores the following records in its database : - **SOA**: start of authority - IP Addresses - **MX**: SMTP mail exchangers (MX) - **NS**: name servers - **PTR:** pointers for reverse DNS lookups (PTR) - begins b - **CNAME**: domain name aliases - **DNSSEC**: domain name system security extensions - **RP**: responsible person records - **RBL**: real-time blackhole list to combat spam - **TTL** : time to live - associated with results obtained from DNS request - TTL set by administrator of the authoritative DNS server - may range from few seconds to days to weeks - protocol supports caching for up to 68 years or none at all For more information, there is also a table of resource record definitions on the [Google Domains site](https://support.google.com/domains/answer/10751068?sjid=32632215372440938-NA). My DNS Files: ![[Pasted image 20230624135042.png]] #### A list of DNS Services Numerous DNS services exist. A non-exhaustive list is given below: - Bunny DNS - update static files pointing to `http://theqrg.org/images/logo.png` - to your new bunny.net hostname `https://theqrg.b-cdn.net/images/logo.png` - Cloudflare - Digital Ocean - Gandi - Google Cloud DNS - Hetzner DNS - Linode DNS - To learn more about that - [check out this video](https://www.linode.com/products/dns-manager/) - name.com - Namecheap - Netcup DNS - Porkbun DNS - Route53 - Vultr DNS --- Interestingly enough, [NextDNS](https://my.nextdns.io/) exists as a way to bypass a lot of the former DNS issues in an attempt to decentralize the rules of ICANN registry it seems like. There is also [Handshake DNS](https://www.hdns.io/) aimed also at this decentralization. ``` 103.196.38.38 ``` Alternatively there is Dynamic DNS or DDNS which may be used. These instructions show you how to get that set up on [a DD-WRT router. ](https://www.namecheap.com/support/knowledgebase/article.aspx/9356/11/how-to-configure-a-ddwrt-router/)