# Spicker Modul 300 LB 2 # 1. - Verbindung von vmLP1 (Linux-PC) zu anderen Clients via SSH ## 1.1 - Verbindung zu vmWP1 (Windows-PC) > Auf `vmLP1` ```shell ssh user@192.168.210.20 ``` Hierbei ist `user` der Benutzername auf dem Windows-PC. Falls SSH auf dem Windows-PC nicht aktiviert ist, muss dies zunächst eingerichtet werden. ## 1.2 - Verbindung zu vmLF1 (Linux-Router) > Auf `vmLP1` ```shell ssh user@192.168.220.1 ``` Hierbei ist `user` der Benutzername auf dem Linux-Router. ## 1.3 - Verbindung zu vmLS1 (Linux-Server in der DMZ) > Auf `vmLP1` ```shell ssh user@192.168.220.11 ``` Hierbei ist `user` der Benutzername auf dem Linux-Server. --- # 2. - 1. Teilauftrag: DNS-Server einrichten ## 2.1 - Schritte zur Installation und Konfiguration des DNS-Servers auf vmLS1 ### 2.1.1 - Installation von Bind9 * Auf vmLS1 einloggen * Bind9 installieren: ```shell sudo apt update sudo apt install bind9 bind9utils bind9-doc -y ``` ### 2.1.2 - Konfiguration der Forward-Zone * Erstellen der Zonendatei für `winter.camp`: ```shell sudo nano /etc/bind/db.winter.camp ``` Inhalt der Datei: ```conf $TTL 604800 @ IN SOA ns.winter.camp. root.winter.camp. ( 2024010101 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.winter.camp. @ IN A 192.168.220.11 ns IN A 192.168.220.11 www IN A 192.168.220.11 intern IN A 192.168.220.11 ``` ### 2.1.3 - Konfiguration der Reverse-Zone * Erstellen der Reverse-Zonendatei: ```shell sudo nano /etc/bind/db.192.168.220 ``` Inhalt der Datei: ```conf $TTL 604800 @ IN SOA ns.winter.camp. root.winter.camp. ( 2024010101 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.winter.camp. 11 IN PTR ns.winter.camp. 11 IN PTR www.winter.camp. 11 IN PTR intern.winter.camp. ``` ### 2.1.4 - Eintrag in der named.conf.local * Bearbeiten der Datei `named.conf.local`: ```shell sudo nano /etc/bind/named.conf.local ``` Hinzufügen der Zonendeklarationen: ```conf zone "winter.camp" { type master; file "/etc/bind/db.winter.camp"; }; zone "220.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192.168.220"; }; ``` ### 2.1.5 - DNS-Server neu starten ```shell sudo systemctl restart bind9 ``` ### 2.1.6 - DNS-Client-Konfiguration auf vmLP1 und vmLS1 * Datei `/etc/resolv.conf` bearbeiten: ```shell sudo nano /etc/resolv.conf ``` Inhalt: ```conf nameserver 192.168.220.11 search winter.camp ``` ### 2.1.7 - Prüfung der Konfiguration * Testen der DNS-Auflösung: ```shell dig @192.168.220.11 www.winter.camp ``` 8. Aktivieren des querylogs * Folgenden Befehl ausführen ```shell sudo rndc querylog ``` --- # 3. - 2. Teilauftrag: Webserver einrichten ## 3.1 - Schritte zur Installation und Konfiguration des Webservers ### 3.1.1 - Installation des HTTP-Dienstes (Apache2) * Auf vmLS1 einloggen * Apache2 installieren: ```shell sudo apt update sudo apt install apache2 -y ``` ### 3.1.2 - Partitionierung und Formatierung der Festplatte * Angeschlossene Festplatten mit `lsblk` auflisten * Partitionieren und formatieren ```shell sudo fdisk /dev/sdb ``` * Mit n eine neue Partition erstellen. * Mit w Änderungen schreiben. ```shell sudo mkfs.ext4 /dev/sdb1 ``` * Mountverzeichnis erstellen und mounten ```shell sudo mkdir /www sudo mount /dev/sdb1 /www ``` ### 3.1.2.1 - Permanentes Mounten mit `fsab` ```shell sudo nano /etc/fstab ``` Entrag hinzufügen ```conf /dev/sdb1 /www ext4 defaults 0 0 ``` #### 3.1.2.2 - (Alternativ) Mounten über uuid der disk: * Falls der device name (sdb) bei einem neustart ändert, wird nicht die richtige Partition gemounted * Mit dem Befehl `blkid` werden Infos über alle Festplatten angezeigt Beispiel: ```conf /dev/sdb: UUID="ca758ee2-5a71-479b-b100-21870d7fcd1a" BLOCK_SIZE="4096" TYPE="ext4" ``` * In der `/etc/fstab` Datei muss der Eintrag geändert werden: ```conf UUID=ca758ee2-5a71-479b-b100-21870d7fcd1a /www ext4 defaults 0 0 ``` ### 3.1.3 - Konfiguration der Websites * Verzeichnisse erstellen ```shell sudo mkdir /www/www.winter.camp sudo mkdir /www/ku1.winter.camp sudo mkdir /www/ku2.winter.camp ``` * Benutzer und Gruppen erstellen: ```shell sudo groupadd wwwadmin sudo useradd -g wwwadmin -s /bin/false operatingweb sudo usermod -a -G wwwadmin www-data ``` * Eigentümer und Berechtigungen setzen ```shell sudo chown -R operatingweb:wwwadmin /www/www.winter.camp sudo chmod 770 /www/www.winter.camp ``` ### 3.1.4 - Website-Konfigurationsdatei erstellen * Erstellen der Konfigurationsdatei ```shell sudo nano /etc/apache2/sites-available/www.winter.camp.conf ``` Inhalt: ```conf <VirtualHost *:80> ServerAdmin webmaster@winter.camp ServerName winter.camp ServerAlias www.winter.camp DocumentRoot /www/www.winter.camp ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@winter.camp ServerName ku1.winter.camp ServerAlias www.ku1.winter.camp DocumentRoot /www/ku1.winter.camp ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@winter.camp ServerName ku2.winter.camp ServerAlias www.ku2.winter.camp DocumentRoot /www/ku2.winter.camp ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` ### 3.1.5 - Aktivieren der Konfiguration und Neustart des Webservers * Sites Aktivieren ```shell sudo a2ensite www.winter.camp.conf sudo systemctl restart apache2 ``` ### 3.1.6 - Testen des Webservers * Über Browser oder mit `wget`: ```shell wget http://winter.camp wget http://www.winter.camp wget http://ku1.winter.camp wget http://www.ku1.winter.camp wget http://ku2.winter.camp wget http://www.ku2.winter.camp ```
