clubs:cloud_club:cloud_club_dns
Home | clubs :: cloud club :: python_club :: 3D-Printing | projects :: Proxmox | Kubernetes | scripting | utilities | games
Table of Contents
Cloud Club Topics - Domain Name Servers ( DNS )
Name servers
- Creating servers is great and memorizing IP addresses on a small network is OK. But, names are a lot easier to remember than IP address, especially on a large netowrk ( eg. the internet ).
- The original way to name servers is to use a file ( /etc/hosts )
Hands-On naming servers
- Edit the /etc/hosts file on your server(s). It should look like the following
27.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- Add the following content at the bottom - ( replace the webserver IPs and names + the LB IP and name )
<webserver_1_IP> <webserver_1_name>.cloudclub.edu <webserver_2_IP> <webserver_2_name>.cloudclub.edu <LB_IP> <LB_name>.cloudclub.edu
- View the websites with curl
curl http://<webserver_1_name>.cloudclub.edu/ curl http://<webserver_2_name>.cloudclub.edu/ curl http://<LB_name>.cloudclub.edu/
Understanding DNS
- DNS is the Domain Name System
- Examples of DNS software:
| Name | Supported OS |
|---|---|
| Bind 9 | Linux, Windows Server 2012+, Windows 10+ |
| DNSmasq | Linux, Mac |
Hands-on installing a DNS server
- Create a Rocky Linux server ( if you don't already have one )
- Assign an IP address from your range
- Install bind9 ( dns server software )
sudo dnf install bind bind-utils -y sudo systemctl enable --now bind
Hands-on configure a DNS server
- Edit the config file ( /etc/named.conf )
- Configure main options
options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; ... allow-query { any; }; }; - Define you domain
zone "cloudclub.edu" { type master; file "/var/named/cloudclub.edu.db"; };
- Create the directory if it doesn't already exist ( it does on our server )
sudo mkdir -p /var/named
- Create the zone file ( /var/named/cloudclub.edu.db )
$ttl 38400 cloudclub.edu. IN SOA dns.cloudclub.edu. admin.cloudclub.edu. ( 1611368586 10800 3600 604800 38400 ) cloudclub.edu. IN NS dns.cloudclub.edu. dns.cloudclub.edu. IN A 192.168.1.11 repo.cloudclub.edu. IN A 192.168.1.11 - Enable/start bind service
sudo sytemctl enable --now named
- Check your configuration doesn't have errors
sudo named-checkconf /etc/named.conf
- Check that you get a result from a basic query of your domain
sudo dig @localhost cloudclub.edu
- Open the DNS port/service in the firewall
sudo firewall-cmd --permanent --add-service=dns sudo firewall-cmd --reload
- Test query your DNS server for one of the addresses you added
dig @192.168.1.11 repo.cloudclub.edu ; <<>> DiG 9.16.23-RH <<>> repo.cloudclub.edu ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 394 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 81331712b590bb610100000068085e3f33d592afa55f8a0c (good) ;; QUESTION SECTION: ;repo.cloudclub.edu. IN A ;; ANSWER SECTION: repo.cloudclub.edu. 38400 IN A 192.168.1.11 ;; Query time: 2 msec ;; SERVER: 192.168.1.11#53(192.168.1.11) ;; WHEN: Tue Apr 22 20:27:59 PDT 2025 ;; MSG SIZE rcvd: 91
- Request the short result with only the answer
dig +short @192.168.1.11 repo.cloudclub.edu 192.168.1.11
clubs/cloud_club/cloud_club_dns.txt · Last modified: by 127.0.0.1
