build 65d0a3ad | content blog-content@c8490fa · 338 posts | profiles 20 · corpus 228 | 0 skipped |
Aktuelles · 2021-12-28

Einen kleinen DNS Server fürs Homelab aufsetzen

Einen kleinen DNS Server fürs Homelab aufzusetzen ist eigentlich ganz einfach. Seit vSphere 7 braucht die VCSA für das Setup zwingend einen DNS Server.

2021-12-28Datum
Dario DörflingerAutor
3Min. Lesezeit
656words
no translation reviewed
Themen capabilities · idf weight
Hersteller vendors · idf weight VMware vmware 0.89

Dieser Beitrag ist von 2021. Er bleibt online, weil er nach wie vor nachgefragt wird, beschreibt aber einen Produktstand von damals.

Einen kleinen DNS Server fürs Homelab aufsetzen

Einen kleinen DNS Server fürs Homelab aufzusetzen ist eigentlich ganz einfach. Seit vSphere 7 braucht die VCSA (vCenter Server Appliance) für das Setup zwingend einen DNS Server. Frühere Versionen liessen teilweise reine IP-Deployments zu, mit den aktuellen kommst du ohne DNS Server nicht mehr durch.

Ich war gerade dabei, ein neues Homelab komplett auf meinem MacBook in VMware Fusion aufzusetzen, als ich über diese Änderung in vSphere 7 stolperte. Wie bin ich es angegangen? Ich habe eine kleine Ubuntu Server VM mit bind9 gebaut.

Ich hatte überlegt, das als Docker Container laufen zu lassen, denn der Grund für das neue vSphere Homelab war ja gerade, mehr über die Vorzüge von vSphere with Tanzu in den aktuellen Releases zu lernen. Weil ich mit Docker und Containern aber noch nicht so vertraut bin, habe ich einen Weg gewählt, den ich gut kenne, um diese Anforderung schnell abzuhaken.

Schritt eins:

Lade das aktuelle Ubuntu Server Image aus dem offiziellen Ubuntu Repo (https://ubuntu.com/download/server):

Schritt zwei:

Erstelle eine Custom VM in VMware Fusion oder in Workstation, wenn du auf Windows arbeitest, häng das heruntergeladene Ubuntu Server ISO an und folge dem Assistenten:

Ich habe auf Easy Install verzichtet, weil ich Ubuntu Server ewig nicht mehr von Hand installiert hatte.

Die Standardeinstellung «Legacy BIOS» habe ich gelassen.

Das sind die Standardwerte für einen Ubuntu Server. Wenn dein Homelab knapp an Ressourcen ist, kannst du den RAM auf 1 GB reduzieren.

Nach «Finish» wirst du nach dem Namen der VM gefragt. Ich habe meine «homelab-dns» genannt.

Schritt drei:

Ubuntu Server installieren

Auf die Installation gehe ich nicht im Detail ein, sie ist einfach. Ich habe fast alles auf den Standardwerten gelassen und nur den openssh-server installiert, um mich vom Terminal aus zu verbinden.

Schritt vier:

BIND9 auf dem Ubuntu Server installieren

Ich habe BIND9 als DNS Server gewählt, weil er weit verbreitet ist und du schnell Hilfe findest, wenn du feststeckst. Für die Installation habe ich mich mit meinem Ubuntu Server «homelab-dns» verbunden und eingegeben:

sudo apt-get install bind9

Nach der Installation muss BIND konfiguriert werden.

Schritt fünf:

BIND konfigurieren

Die erste Datei, die wir anfassen, ist /etc/bind/named.conf.local


// Forward Zone
zone "virtual.lab" {
 type master;
 file "/etc/bind/zones/virtual.lab.db";
};
// Reverse Zone
zone "108.16.172.in-addr.arpa" {
 type master;
 file "/etc/bind/zones/rev.108.16.172.in-addr.arpa";
};

Damit weiss BIND, wo die eigentlichen Lookup-Dateien liegen.

Als Nächstes kommen genau diese Dateien. Wir legen das Verzeichnis «zones» an und erstellen die konfigurierten Dateien.

mkdir -p /etc/bind/zones

Dann die erste Datei mit dem Editor deiner Wahl, bei mir VIM:

vim /etc/bind/zones/virtual.lab.db

Und hier kommen die Forward-Lookup-Einträge hinein:


$TTL	86400 ; 24 hours / 1d
; $TTL used for all RRs without explicit TTL value
$ORIGIN virtual.lab.
@  1D  IN  SOA dnsserver.virtual.lab. hostmaster.virtual.lab. (
			      2002022401 ; serial
			      3H ; refresh
			      15 ; retry
			      1w ; expire
			      3h ; minimum
			     )
virtual.lab.      IN      NS              dnsserver.virtual.lab.
       

dnsserver    IN  A      172.16.108.53      
vcsa    IN  A      172.16.108.2
esxhost1  IN  A      172.16.108.3  
esxhost2  IN  A      172.16.108.4

Danach die Datei für die Reverse-Lookup-Zone:

vim /etc/bind/zones/rev.108.16.172.in-addr.arpa

Und hier das Reverse Mapping:

       
@ IN SOA virtual.lab. admin.virtual.lab. ( 
                        2006081401; 
                        28800;  
                        604800; 
                        604800; 
                        86400  
) 
 
           IN    NS     dnsserver.virtual.lab. 
53         IN    PTR    virtual.lab 
2	   IN	 PTR	vcsa 
3	   IN	 PTR	esxhost1 
4	   IN	 PTR	esxhost2 

Schritt sechs:

BIND neu starten und die Dateien prüfen

Zum Schluss startest du BIND neu, damit er die neue Konfiguration verwendet:

sudo service bind9 restart

Und optional kannst du prüfen, ob die Dateien sauber konfiguriert sind:

named-checkzone virtual.lab /etc/bind/zones/virtual.lab.db
named-checkzone 172.16.108.0 /etc/bind/zones/rev.108.16.172.in-addr.arpa

Fazit

Das war es. Du hast einen kleinen DNS Server fürs Homelab. Wenn du Fragen hast, melde dich oder schreib einen Kommentar. Als Nächstes schaue ich mir VMware Tanzu und Container an, und ich schreibe einen weiteren Post, in dem ich genau dasselbe mit einem schlanken Docker Container mache.

Passt ausserdem

Zu wenige qualifizierende Treffer. Der Block bleibt leer, statt eine einzelne Karte zu zeigen.