Mit E-Mail-Diensten muss sich jeder Administrator früher oder später einmal beschäftigen. Das zur CeBIT erscheinende ADMIN 02/2012 gibt dazu Praxis-Tipps und ... (mehr)

Nameserver

Als letzte Aufgabe für eine benutzbare virtuelle Umgebung bleibt schließlich noch eine funktionierende Namensauflösung, denn immer nur mit IP-Adressen zu arbeiten, wird auf Dauer mühsam. Man könnte sich auch mit der Datei »/etc/hosts« behelfen, aber wer sich beispielsweise auch zwischen den VMs verbinden will, muss entweder die Hosts-Dateien umherkopieren oder gleich einen DNS-Server konfigurieren. Vor allem, wenn die IP-Adresse für die Gäste von einem nicht selbst administrierten DHCP-Server vergeben wird, ist das Problem akut. Andernfalls wäre es einfach, im DHCP-Server die Vergabe, zumindest der IP-Adresse, fest an eine MAC-Adresse zu binden. Das Problem des DNS-Updates bestünde jedoch weiter.

Der beste Weg für eine saubere Lösung ist ein DNS-Server, der dynamische Updates erlaubt, etwa der auf allen Linux-Distributionen verfügbare BIND [7] . Das dafür erforderliche Key-Setup ist aber kompliziert und bietet einige Fallstricke. Alternativ ist es auch möglich, dynamische Updates pauschal für die Adresse 127.0.0.1 zu erlauben.

Ebenso leicht lassen sich natürlich Dateien auf dem Host-System per Skript vom Gastsystem aus verändern, wenn ein passwortloses Root-Login erlaubt ist. Damit könnte man zum Beispiel auch die BIND-Konfiguration direkt verändern und dem Nameserver ein Signal zum Neuladen schicken – eine Vorgehensweise, die sich aus Sicherheitsgründen außerhalb von Testumgebungen meist verbietet.

Dynamisches DNS mit Datenbank

Etwas gemäßigter ist der Weg, den wir für unsere Testinstallation eingeschlagen haben: Auf dem Host-System läuft der DNS-Server PowerDNS [8] , der seine Konfiguration in einer Datenbank speichert. Somit sind für primitive Updates per Skript keine Root-Rechte auf dem Host-System nötig, es genügt ein Schreibzugang zur PowerDNS-Datenbank.

Auf einem Fedora-System lässt sich PowerDNS mit den Paketen »pdns« und »pdns-backend-mysql« installieren. Alternativ zu MySQL gibt es auch die Datenbank-Backends »pdns-sqlite« und »pdns-postgresql« . Zur Konfiguration muss man von Hand das Datenbankschema aus der Dokumentation einlesen. Wer gerne ein Frontend zur Konfiguration verwenden möchte, kann ohne großen Aufwand das webbasierte Poweradmin installieren [9] .

Im Prinzip böte es sich an, das DNS-Update unabhängig vom Gast vorzunehmen, aber leider gibt es kein zuverlässiges Verfahren dafür, die per DHCP erhaltene IP-Adresse zu ermitteln. Bei einem verbreiteten Ansatz wird auf dem Host der ARP-Cache ausgelesen, doch das funktioniert nur, wenn der Gast schon einmal – über DHCP hinaus – aufs Netz zugegriffen hat. Eventuell könnte zu diesem Zweck ein Startup-Skript einige Ping-Pakete verschicken.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023