DNS Server installieren
In dieser Übung werden Sie einen DNS-Server installieren und konfigurieren. Hierzu werden Sie auf der AWS Academy Lab-Umgebung einen virtuellen Server (EC2 Instanz) starten. Auf diesem virtuellen Server werden Sie den weitverbreiteten Open-Source DNS Server Bind installieren.
Sicherheitsgruppe erstellen
Als erstes muss in AWS eine Sicherheitsgruppe erstellt werden. Mit dieser Sicherheitsgruppe wird die Firewall des Servers konfiguriert. Hierbei ist es wichtig, dass wir den eingehenden Datenverkehr für DNS-Pakete zulassen.
- Starten Sie die AWS Academy Lab-Umgebung.
- Klicken Sie auf Services -> Datenverarbeitung um die EC2 Übersicht zu öffnen.
- Klicken Sie in der Gruppe Ressourcen auf Sicherheitsgruppen um zur Übersicht mit den Sicherheitsgruppen zu gelangen.
- Klicken Sie auf den orangen Button Sicherheitsgruppe erstellen.
- Wählen Sie einen passenden Namen wie z. B. DNS-Server. Diese Sicherheitsgruppe können Sie dann für alle DNS-Server verwenden, welche Sie in der AWS-Umgebung erstellen. Setzen Sie ebenfalls eine aussagekräftige Beschreibung wie "Gewaehrt den Zugriff fuer DNS-Dienste von extern" (Sonderzeichen sind nicht erlaubt)
- Klicken Sie nun unter Regeln für eingehenden Datenverkehr auf Regel hinzufügen.
- Fügen Sie nun drei Regeln hinzu. Jeweils eine für DNS (TCP), DNS (UDP), und SSH. Setzen Sie bei allen drei Regeln die erlaubte Quelle auf Anywhere IPv4:
- Bei Regeln für ausgehenden Datenverkehr sollte bereits eine Regel existieren für den gesamten Datenverkehr. Diese können Sie so belassen:
- Bestätigen Sie nun mit dem orangen Button Sicherheitsgruppe erstellen
VM anlegen
Nun können Sie als nächsten Schritt eine neue Virtuelle Maschine (EC2 Instanz) anlegen:
- Wechseln Sie wieder in das EC2-Dashboard. Alternativ können Sie im Menü aber auch direkt zu Instances wechseln:
- Klicken Sie nun auf den Button Instance starten:
- Wählen Sie einen passenden Namen für Ihren DNS Server.
- Wählen Sie nun Amazon Linux als Server Image aus:
- Wählen Sie den Instanz-Typ t2.medium aus.
- Wählen Sie Ihren vorgängig erstellten Gruppen-SSH-Key aus, damit dieser bei der EC2-Instanz hinterlegt wird.
- Nun können Sie im Abschnitt Netzwerk-Einstellungen die zuvor erstellte Sicherheitsgruppe hinzufügen.
- Weisen Sie der EC2-Instanz eine statische IP-Adresse zu.
Statische IP-Adresse zuweisen
Standardmässig erhält eine VM keine statische IP-Adresse in AWS. Bei jedem Neustart einer Instanz wird dynamisch eine neue IP-Adresse zugewiesen. Dies ist bei einem Server ungünstig, da dieser immer unter der selben IP-Adresse erreichbar sein sollte. Statische IP-Adressen bei AWS sind eine kostenpflichtige Dienstleistung. Aus diesem Grund müssen Sie nun zu erst eine statische IP-Adresse erstellen und diese dann der erstellten VM zuweisen.
Verbindung mit einem SSH-Client
Es ist am bequemsten per SSH auf einem Server zu arbeiten. Dazu haben Sie ein lokales Terminal auf Ihrem Gerät, welches eine SSH-Verbindung zum Server aufbaut.
Das kryptographische Netzwerkprotokoll Secure Shell (SSH) ermöglicht es, Netzwerkdienste über unsichere Netzwerke sicher zu betreiben. Mit SSH kann man eine lokale Kommandozeile auf einen entfernten Rechner setzen, auf welchem dann die Ausgaben der entfernten Konsole angezeigt und lokale Tastatureingaben an den entfernten Rechner gesendet werden. Dadurch kann man z. B. einen Server, der in einem entfernten Rechenzentrum steht, fernwarten. Mit der neueren Protokollversion SSH-2 sind weitere Funktionen wie die Datenübertragung per SFTP verfügbar.
Sie dürfen natürlich jedes Terminal verwenden. Diese Anleitung zeigt die Konfiguration anhand vom Tabby Terminal. Es ist aber auch möglich die Verbindung mit Putty oder einem
- Laden Sie die Software Tabby Terminal von folgender Seite herunter und installieren Sie diese: https://tabby.sh
Laden Sie die Version tabby-1.0.187-setup-x64.exe herunter. - Starten Sie die Software und öffnen Sie die Einstellungen. Navigieren Sie dort zu Profiles & connections und fügen Sie ein neues Profil hinzu:
- Sie müssen nun ein Basis-Profil als Vorlage auswählen. Nehmen Sie hier SSH connection:
-
Nun tragen Sie ihre öffentliche IP-Adresse (44.194.159.38 ist nur ein Beispiel) sowie den Port 22 ein. Als Benutzername setzen Sie ec2-user. Als Authentifizierungs-Methode Wählen Sie Key. Nun können Sie über den Button Add a private key den Gruppenschlüssel hinzufügen.
- Wählen Sie hier den Grupenschlüssel, welchen Sie vom Gruppenleiter erhalten haben sollten:
- Speichern Sie das Profil und starten Sie anschliessend die Verbindung:
- Möglicherweise müssen Sie nun den Host-Fingerprint bestätigen. Speichern Sie den Fingerprint und fahren sie fort.
- Die Verbindung sollte nun möglich sein und Sie sollten den Willkommens-Bildschirm sehen:
DNS Server (Bind) installieren
- Verbinden Sie sich per SSH von Ihrem lokalen Terminal auf den Server.
- Wechseln Sie direkt in den Administrator-Modus mit sudo su
-
Installieren Sie nun über die Paketverwaltung yum die Software bind:
yum install bindYum wird Ihnen dann eine Auflistung der zu installierenden bind-Version inkl. aller Abhänigkeiten anzeigen. Bestätigen Sie die Installation indem Sie y eintippen.
Install 1 Package (+8 Dependent packages) Total download size: 4.2 M Installed size: 11 M Is this ok [y/d/N]: ySie können nachvollziehen, wie yum nun die Software bind installiert.
- Verifizieren Sie nun, dass bind installiert ist. Mit dem Befehl yum list installed können Sie eine Liste aller installierte Softwarepakete einsehen:
yum list installedSie sehen nun eine Liste mit allen installierten Softwarepaketen
# yum list installed Loaded plugins: extras_suggestions, langpacks, priorities, update-motd Installed Packages GeoIP.x86_64 1.5.0-11.amzn2.0.2 installed PyYAML.x86_64 3.10-11.amzn2.0.2 installed acl.x86_64 2.2.51-14.amzn2 installed acpid.x86_64 2.0.19-9.amzn2.0.1 installed amazon-linux-extras.noarch 2.0.1-1.amzn2 installed amazon-linux-extras-yum-plugin.noarch 2.0.1-1.amzn2 installed amazon-ssm-agent.x86_64 3.1.1732.0-1.amzn2 installed [...]Wie Sie sicherlich bemerkt haben, ist die Liste sehr lange. Aus diesem Grund werden Sie nun den Output mit dem Befehl grep nach bind filtern. Hierzu fügen Sie hinter dem bereits bestehenden Befehl einen weiteren Befehl an, mit dem Zeichen | übergeben Sie die Ausgabe aus dem vorhergehenden Befehl an den nachfolgenden.
yum list installed | grep bindSie erhalten nun eine List, welche nach dem Stichwort bind gefiltert ist.
Nun ist die Liste etwas übersichtlicher.# yum list installed | grep bind bind.x86_64 32:9.11.4-26.P2.amzn2.5.2 @amzn2-core bind-export-libs.x86_64 32:9.11.4-26.P2.amzn2.5.2 installed bind-libs.x86_64 32:9.11.4-26.P2.amzn2.5.2 installed bind-libs-lite.x86_64 32:9.11.4-26.P2.amzn2.5.2 installed bind-license.noarch 32:9.11.4-26.P2.amzn2.5.2 installed bind-utils.x86_64 32:9.11.4-26.P2.amzn2.5.2 installed rpcbind.x86_64 0.2.0-44.amzn2 installed
Nun ist die Software bind installiert. Im nächsten Kapitel werden Sie den Dienst starten und die Konfiguration genauer unter die Lupe nehmen.
Verwendete Befehle
yum: Mit der Paketverwaltung yum können Sie ganz einfach Software auf Ihrem RHEL-Basierten Linux installieren (rhel, centos, Amazon linux, fedora). Yum organisiert die Software in sogenannten Repositories. Dies sind Verzeichnisse, in denen bekannte Software zur Verfügung gestellt wird. In den Standard-Repositories sind die am meisten verwendeten Softwarepakete vorhanden. Weiter können aber zusätzliche Software-Repositories eingebunden werden, damit auch eine spezielle Software installiert werden kann. Im Rahmen dieses Moduls ist dies aber nicht nötig.
yum stellt eine Reihe von befehlen zur Verfügung, um Software auf dem Serverzu verwalten:
- yum list <pakete> Liste der installierten und verfügbaren Paketen <pakete>
- yum list all Liste aller installierten und verfügbaren Pakete
- yum list available <pakete> Liste aller verfügbaren und installierbaren Pakete
- yum list updates <pakete> Liste aller verfügbaren Pakete <pakete> , die aktueller als die installierten sind
- yum list installed <pakete> Liste aller installierten Pakete <pakete>
- yum info <pakete> Kurzbeschreibung zu installierten und verfügbaren Paketen <pakete>
- yum search <zeichenkette> Paketnamen und Beschreibungen durchsuchen nach <zeichenkette>
- yum install <pakete> Installiere die aktuelleste Version der Pakete <pakete> (inkl. der abhängigen!)
- yum check-update gibt es aktuellere Pakete in den Repos?
- yum update aktualisiere alle z.Z. installierten Pakete
- yum update <pakete> aktualisiere die Pakete <pakete> (inkl. der abhängigen!)
- yum erase <pakete> deinstalliere Pakete <pakete> (inkl. aller abhängigen Pakete!)
- yum remove <pakete> deinstalliere Pakete <pakete> (inkl. aller abhängigen Pakete!)
In anderen Linux-Distributionen kommen andere Paketverwaltungen zum Einsatz. Debian derivate (debian, ubuntu, kali linux) haben mit apt-get ein sehr ähnliches Tool zur Verfügung.
grep: Der Befehl grep ist ein Linux-Befehl, der dazu verwendet wird, um Zeichenfolgen in Textdateien zu suchen. Es durchsucht Dateien nach bestimmten Zeichenketten, die angegeben wurden, und gibt alle Zeilen zurück, in denen es die angegebene Zeichenfolge gefunden hat. Es kann auch dazu verwendet werden, um einzelne Dateien oder mehrere Dateien nach den angegebenen Zeichenketten zu durchsuchen.
pipe: Dies ist ein Begriff, der sich aus dem englischen Wort "Pipeline" ableitet, was übersetzt so viel wie "Rohrleitung" bedeutet. Unter Linux bildet eine Pipe einen Datenstrom zwischen zwei Prozessen, die nicht immer miteinander verbunden sind. Dies bedeutet, dass das Ergebnis (Ausgabe) eines Programms als Eingabe für ein anderes Programm genutzt werden kann. Dadurch können größere Aufgaben in kleinere Teilaufgaben aufgeteilt werden, um eine bessere Übersicht zu erhalten.
















