Ein eigener, gegen extern sichtbarer, Name-Server kann die Flexibilität der eigenen Serverumgebung ziemlich vereinfachen. Zusätzliche Subdomains oder Anpassungen in der IP-Adressierung sind so schnell realisierbar. In meinem Beispiel verwenden wir einen Ubuntu-Server mit BIND als DNS-Programm.
Voraussetzung für die externe Sichtbarkeit ist ein Eintrag beim Registrar mit einer fixen IP für den Name-Server.

  1. Holen Sie von der Canonical-Webseite die neueste Server-Edition als ISO-Image auf den PC.
  2. Auf einer virtuellen Umgebung starten Sie einen neuen virtuellen Computer von diesem ISO-Image. Sollten Sie einen physischen Computer nutzen, erstellen Sie aus diesem ISO-Image ein Abbild auf einen USB-Stick. Starten Sie dann den physischen Computer mit diesem Stick.
  3. Gehen Sie durch die Installation und passen Sie ggf. die notwendigen Parameter an.
  4. Melden Sie sich an der Konsole mit dem neu erstellten Benutzer an.
  5. Um Ubuntu zu aktualisieren, geben Sie die die beiden nachstehenden Befehle ein
    sudo apt-get update
    sudo apt-get upgrade
  6. Um Webmin zu installieren muss zuerst eine ASCII-Datei kopiert werden. Geben Sie dazu den nachstehenden Befehl ein
    curl -fsSL https://download.webmin.com/jcameron-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/webmin.gpg
  7. Nun muss das Webmin-Repository hinzugefügt werden, damit Ubuntu Webmin auflösen kann. Öffnen Sie dazu die Date sources.list mit dem Befehl
    sudo nano /etc/apt/sources.list
  8. Scrollen Sie ans Ende und fügen Sie die nachstehende Zeile ein
    deb [signed-by=/usr/share/keyrings/webmin.gpg] http://download.webmin.com/download/repository sarge contrib
  9. Beenden Sie den Editor mit Ctrl + X und speichern Sie mit Yes
  10. Damit Webmin installiert werden kann, führen Sie nachstehenden Befehl aus
    sudo apt-get update
  11. Installieren Sie nun Webmin mit dem Befehl
    sudo apt install webmin -y
  12. Nun installieren wir FirewallD und deaktivieren UFW geben Sie der Reihe nach die folgenden Befehle ein
    sudo apt install firewalld
    sudo systemctl enable firewalld
    sudo systemctl start firewalld
    sudo firewall-cmd --state
    (Kontrolle ob Dienst läuft)
    sudo firewall-cmd --add-port=10000/tcp --permanent
    sudo firewall-cmd --reload

    sudo ufw disable
  13. Jetzt können Sie mit dem Browser und der IP-Adresse auf Webmin zugreifen
    https://ihre-IP-Adresse:10000
  14. Damit sich auch der User root einloggen kann, muss dieser freigegeben werden. Gehen Sie oben auf die Lasche Webmin, dann im Menü auf System und Users and Groups. Klicken Sie auf den User root.
  15. Vergeben Sie dem Benutzer ein Passwort. Fügen Sie dem Benutzer die Gruppen admcdromdiplxdplugdev und sudo hinzu. Nun kann sich der User root ebenfalls einloggen.
  16. Damit sich der User root auch über SSH einloggen kann, gehen Sie oben auf die Lasche Webmin, dann im Menü auf Servers und SSH Server.
  17. Klicken Sie nun auf Authentication und wählen Sie bei Allow login by root die Auswahl Yes aus. Speichern Sie mit einem Klick auf Save.
  18. Klicken Sie jetzt noch auf dem SSH Server Hauptbild auf Apply Changes. Nun kann sich der Benutzer root auch mit SSH einloggen.
  19. Jetzt können wir Bind installieren. Dazu können Sie im Webmin auf Tools und Terminal klicken und dann den nachstehenden Befehl eingeben
    sudo apt install bind9 bind9utils bind9-doc -y
  20. Klicken Sie nun auf der Menüleiste im Webmin auf Refresh Modules. Damit wird die Menüstruktur an die neu installierten Programme angepasst.
  21. Damit der Name-Server angesprochen werden kann, müssen Sie in FirewallD den Port 53 für TCP und UDP freigeben. Ist der Name-Server, wie in meinem Beispiel, in einem LAN, muss auf der Firewall eine Port-Weiterleitung des Ports 53 von extern eingerichtet werden. Wird der Name-Server in der DMZ betrieben, muss er die korrekte externe IP-Adresse erhalten.
  22. BIND erlaubt auch Spiegelungen zu einem Slave-Name-Server. Dazu eine zweite Maschine mit anderem Namen und IP-Adresse mit BIND aufsetzen. Bei der Konfiguration der Master- und Slave-DNS kann auf die jeweils andere Maschine Bezug genommen werden.