Linux - Netzwerk und Serveradminstration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Link auf Zeiten I. umgestellt
 
(77 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
= Überblick =
== Thomas Will ==
*[[Thomas Will]]
* [[Thomas Will]]
*[[Zeiten]]
*[[Linux - Netzwerk und Serveradminstration Themen]]
*[[Linux Cheatsheet]]


= Lehrgangsziele =
== Zeiten ==
* Planung, Dokumentation und Aufbau einer IT-Infrastruktur mit Linux Servern
* [[Zeiten I.]]
* Kennenlernen von Netzwerkdebugging-Verfahren und -Tools
* Remotemanagement mit SSH
* Automatische Netzwerkkonfiguration mit DHCP
* Konfiguration von Netzwerkdiensten: DNS, LDAP, SMB, NTP, SFTP
* Einrichten einer einfachen Firewall


= Netzwerkpläne =
== Themen ==
* Das Schulungsnetzwerk wird also Pseudo-Internet verwendet, d.h. wir behandeln das Netzwerk 192.168.''HS''.0/24 wie ein öffentliches.
* [[Linux - Netzwerk und Serveradminstration Themen|Themen]]
* Darin baut jeder sein eigenes LAN-, DMZ-, und Server-Netzwerk auf.
* Am Ende sollen die individuellen Netzwerke miteinander kommunizieren dürfen.


== physisch ==
== Linux Cheatsheet ==
{{#drawio:5102-physisch}}
* [[Linux Cheatsheet]]
== logisch ==
{{#drawio:5102-logisch}}


= Servervorlage =
== Lehrgangsziele ==
* Für VMs als Server empfiehlt es sich eine Vorlage zu erstellen, die schon minimal konfiguriert ist
* [[Linux - Netzwerk und Serveradminstration Lehrgangsziele|Lehrgangsziele]]
* Der Nutzer ''root'' soll das Passwort ''radler'' haben
* Ein Benutzer ''kit'' mit dem Passwort ''kit'' soll angelegt werden
* die Vorlage soll '''keine''' graphische Oberfläche haben (Bei der Installation abwählen)
* Ein [[:Kategorie:SSH|SSH]]-Server soll aber für die Remoteverwaltung installiert werden
==Umsetzung==
* [[Debian Template]]
* [[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]


= Firewall =
== Pläne ==
{{#drawio:5102-firewall-01}}
* [[Linux - Netzwerk und Serveradminstration Pläne|Pläne]]
* Die Firewall wird ist zugleich der Router in das Übungsnetzwerk
* Hardwareanpassungen:
** 4 GB RAM
** 4 CPUs
** 4 Netzwerkkarten
* Für den Anfang müssen wir das [[Debian Netzwerkkonfiguration|Netzwerk konfigurieren]]


= Fernzugriff per [[:Kategorie:SSH|SSH]] =
== TCP/IP ==
* Jeder Host soll über das [[SSH-Protokoll]] administrierbar sein
* [[Tcp/ip kompakt]]
* hinterlegen Sie den öffentlichen Schlüssel für die Nutzer ''kit'' und ''root'' auf der Firewall
* Der SSH-Server sollte nach Sicherstellung des Zugriffs über autorisierte SSH-Schlüssel keine Passwort-Authentifizierung mehr zulassen: [[SSH-Server Hardening]]
* Am Ende sollte jeder Host über '''ssh ''user''@''ip.oder.host.name'' ''' erreichbar sein


= Client Konfiguration =
== Vorlagen ==
* [[Client Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
* [[Linux - Netzwerk und Serveradminstration Vorlagen|Vorlagen]]
==Systemd==
*[[Systemd Essentielles]]


= Routing und Masquerading =
==Netzwerk-Tools==
{{#drawio:5102-masquerade}}
*[[Netzwerk-Tools Linux - Netzwerk und Serveradminstration|Netzwerk-Tools]]
* Damit die Firewall als Internet-Router fungieren kann, muss die Quell-IP der Pakete umgeschrieben werden
*[[tcpdump Linux - Netzwerk und Serveradminstration|tcpdump]]
* Dazu müssen Firewall-Regeln unter [[iptables]] oder [[nftables Masquerade|nftables]] erstellt werden
==Firewall Umsetzung==
*[[Firewall-Nat-Linux - Netzwerk und Serveradministration]]


= eigener DNS Server =
== Firewall ==
{{#drawio:5102-dns}}
* [[Linux - Netzwerk und Serveradminstration Firewall|Firewall]]
* [[Linux - Netzwerk und Serveradminstration Firewall Rocky|Firewall Rocky]]


== Vorbereitungen ==
== DNS ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
*[[Nameserver Basics]]
* Der Host soll im ''DMZ''-Netzwerk liegen
*[[Linux - Netzwerk und Serveradminstration DNS|DNS]]
* IP-Adresse herausfinden über das DHCP-Log oder die Konsol
*[[Linux - Netzwerk und Serveradminstration Weitere Domains|Weitere Domains]]
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'')
* Hostname ändern zu ''ns''
* SSH-Server anpassen
* SSH-Schlüssel des Kit Hosts für User ''kit''  hinterlegen
===Daten===
*NET: DMZ
*IP 10.88.2XX.21/24
*GW 10.88.2XX.1
*NS 192.168.6.88 Vorläufig
*NA ns.it2XX.int
*Zu installieren apt install bind9 - Es könnte nun auch named
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration DNS]]
 
== interne Namensauflösung ==
* Durch das [[DNS|Domain Name System]] können wir Namen an IP-Adressen zuweisen und diese auflösen
* Diese sollten einfacher zu merken sein, als IPv4- oder IPv6-Adressen
* Jedes Labor soll eine eigene Domäne mit dem Schema '''netz''xx''.lab''' verwalten
* Erstellen Sie hierzu auch die jeweilige Reverse-Lookup-Zone '''0.''xx''.10.in-addr.arpa'''
* Der DHCP-Server muss auch angepasst werden, damit Clients den internen DNS-Server bekommen
* Für die Kommunikation zwischen den DNS-Servern müssen entweder die entsprechenden [[ip route|Routen]] gesetzt werden oder über [[DNAT|Firewall-Regeln]] Portforwarding aktiviert werden
==DNS Umsetzung==
*[[DNS Linux - Netzwerk und Serveradministration - Skript]]
 
==DNS Aufgabe Reverse Lookup Zone LAN & SERVERS==
*[[DNS Linux - Netzwerk und Serveradministration - Reverse Aufgabe]]
*[[DNS Linux - Netzwerk und Serveradministration - Reverse Aufgabe]]
*[[DNS Secondary Nameserver]]


=Pseudo Top-Level-Domain=
== DHCP ==
{{#drawio:Pseudo Top-Level-Domain}}
* [[Linux - Netzwerk und Serveradminstration DHCP|DHCP]]
 
==OpenSSH Paket==
= Pseudo-Top-Level Domäne =
*[[OpenSSH Paket]]
* Um die Domänen der anderen Labore aufzulösen ist ein Forwarder nötig
==Der Webserver==
* Dieser zeigt auf den entsprechenden DNS-Server der Domäne, sodass die Zonen nur einmal definiert werden müssen
<!---
 
*[[Der einfache Webserver]]
 
--->
= [[:Kategorie:DHCP|DHCP]] - Automatische Netzwerkkonfiguration =
*[[Apache2 Webserver]]
{{#drawio:5102-01}}
 
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''LAN''-Netzwerk liegen
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'')
* Hostname ändern zu ''dhcp''
* SSH-Zugriff kann durch Benutzung der Firewall als Jump-Host ermöglicht werden
===Daten===
*NET: LAN
*IP 172.16.2XX.2/24
*GW 172.16.2XX.1
*NS 10.88.2XX.21
*NA dhcp.it2XX.int
*Zu installieren apt install isc-dhcp-server
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
== automatische Netzwerkkonfiguration ==
* Damit wir nicht das Netzwerk bei jedem Rechner manuell konfigurieren müssen setzen wir einen [[DHCP Grundlagen|DHCP]] Server auf.
* Dieser beantwortet Anfragen von Clients in seiner Broadcast-Domäne.
* Der DHCP-Server soll IP-Adressen im Bereich 172.16.''xx''.50 bis .100 vergeben
* Als Nameserver nehmen wir unseren eigenen 10.88.2XX.2
* Und wir nehmen die eigene Search Domain it2XX.int
* Für die Konfigration kann [[ISC DHCP|diese Seite]] befolgt werden
* Beobachten Sie den Verkehr mit [[Wireshark]] oder [[tcpdump]] auf UDP Port 67 mit und fahren Sie ''kali'' hoch
 
==ISC DHCP Umsetzung==
*[[ISC DHCP]]
*[[KEA DHCP - Netzwerk und Servreadministration]]
 
= Wichtiger Hinweis zu ISC DHCP =
 
* '''ISC DHCP ist End-of-Life (EOL) seit Ende 2022'''
* Kea DHCP bietet selbst keinen Relay-Agent
* '''Empfohlene moderne Alternative: dnsmasq als DHCP-Relay'''
* dnsmasq unterstützt sowohl DHCPv4 als auch DHCPv6 Relay
 
==Client==
*Erstellt einen Client aus der Vorlage
*Hängt ins LAN Netz
*Gebt ihm den Namen client.it2XX.int
*hostnamectl set-hostname client.it2XX.int
*In der /etc/hosts den Namen von debian-template in client ändern
*Und rebootet ihn noch mal
 
= DHCP-Relay-Server =
{{#drawio:5102-dhcp-relay-01}}
* Der DHCP-Server beantwortet nur Anfragen innerhalb seiner Broadcast-Domäne
* Damit die DHCP-Konfiguration zentral gehalten werden kann, können andere DHCP-Server als Relay für einen Master-DHCP-Server dienen
* In unserem Fall soll die Firewall die DHCP-Konfiguration an die DMZ- und Server-Netze weitergeben
* Von nun an können neue Server in diesen Netzwerken automatisch über die DHCP-IP erreicht werden
=DHCP-Relay-Server Umsetzung=
*[[DHCP-Relay-Server]]
*[[KEA DHCP-Relay-Server - Netzwerk und Serveradministration]]
 
= [[Samba|SMB]] Server =
{{#drawio:5102-smb-01}}
 
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''Server''-Netzwerk liegen
* statische IP-Adresse nach dem Netzwerkplan setzen (''/etc/network/interfaces'')
* Hostname ändern zu ''smb''
* SSH-Zugriff kann durch Benutzung der Firewall als Jump-Host ermöglicht werden
===Daten===
*NET: Server
*IP 10.2XX.1.2/24
*GW 10.2XX.1.1
*NS 10.88.2XX.21
*NA smb.it2XX.int
*Zu installieren apt install samba smbclient
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
== Netzwerkfreigaben einrichten ==
* Legen Sie eine Sicherheitskopie der Originalkonfigurationsdatei an
* '''cp -v ''/etc/samba/smb.conf''{,.orig}'''
* Diese ist wohl kommentiert und kann als Hilfe/Dokumentation dienen
* Erstellen Sie folgende Arten von Shares:
** [[Samba Public Share|öffentlich]] unter ''/srv/samba/pub'' namens '''public'''
** Ein Share namens '''share''' zugreifbar für ''kit'' unter ''/srv/samba/kit'': [[smb.conf.minimal]]
** die Heimatverzeichnisse der regulären Nutzer des SMB-Servers sollen zugreifbar sein nach einer Authentifizierung: [[smb.conf.home]]
** Ein Share namens '''admins''' zugreifbar für die Benutzer in der Gruppe ''sudo'' unter: ''/srv/samba/admin''
* Testen Sie den Zugriff auf die Shares mit einem Client aus dem LAN:
* '''apt install nemo'''
* Das Programm kann über SSH Forwarding auf dem KIT Host geöffnet werden
* '''ssh -Y ''ip.oder.hostname.client'' "dbus-run-session nemo"'''
* Schneiden Sie den Austausch mit Wireshark auf TCP Port 445 mit
 
= SFTP Server =
{{#drawio:5102-sftp-01}}
 
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''DMZ''-Netzwerk liegen
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
===Daten===
*NET: DMZ
*IP 10.88.2XX.3/24
*GW 10.88.2XX.1
*NS 10.88.2XX.2
*NA sftp.it2XX.int
 
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
== sichere Datenübertragung ==
* SFTP benutzt das SSH-Protokoll, um die Daten zu verschlüsseln
* Daher muss nur die [[SFTP-Server|Konfiguration des SSH-Servers]] angepasst werden
* andere FTP-Arten sollten nicht mehr benutzt werden (FTP, TFTP, ...)
* Ein SFTP-Zugang für einen Gast-User soll unter ''/srv/sftp/gast'' angelegt werden
*[[ssh jump-host]]
==SFTP Umsetzung==
*[[SFTP-Server|Konfiguration des SSH-Servers]]
 
= [[:Kategorie:LDAP|LDAP]] Server =
{{#drawio:5102-ldap-01}}
 
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''Server''-Netzwerk liegen
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
===Daten===
*NET: Server
*IP 10.2XX.1.3/24
*GW 10.2XX.1.1
*NS 10.88.2XX.21
*NA ldap.it2XX.int
 
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
== zentrale Benutzerverwaltung ==
* Benutzer sollen sich überall mit ihren eigenen Konto anmelden können ohne, dass dieses Konto jedes mal neu angelegt werden muss
* Linux kann für die Benutzerauthentifizierung verschiedene Quellen verwenden
* Neben der lokalen Datei ''/etc/passwd'' soll zusätzlich eine [[:Kategorie:LDAP|LDAP]]-Datenbank für zusätzliche Benutzerkonten befragt werden
*Konfiguration [[Openldap-linux-pam-nss]]
* Die Einträge zu bestimmten Systemkategorien können mit dem Befehl '''getent''' abgefragt werden
* '''getent passwd''' ''# sollte lokale und LDAP-Konten anzeigen''
*LDAP Server Verwaltung über [[ldapscripts]]
* Der LDAP-Server der Domäne soll automatisch über [[LDAP SRV Record|SRV-Einträge]] auf dem DNS Server gefunden werden können
* Alle Hosts aus dem VirtualBox-Labor sollen an den LDAP-Server gebunden werden
*[[LDAP Client SSSD - Netzwerk und Serveradministration]]
 
= [[Squid_from_the_scratch|Squid]] =
{{#drawio:5102-squid-01}}
 
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''DMZ''-Netzwerk liegen
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
 
===Daten===
*NET: DMZ
*IP 10.88.2XX.5/24
*GW 10.88.2XX.1
*NS 10.88.2XX.21
*NA squid.it2XX.int
 
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
==Squid Konfiguration Hilfestellung==
*[[Squid_ACL_Basic]]
 
==Squid==
* Um Bandbreite zu sparen kann ein Caching Proxy wie Squid benutzt werden, um die Antworten von Webanfrangen zu speichern
* Zusätzlich können durch ACLs Webzugriffe kontrollieren
* Der Proxy soll auf der Firewall laufen, da dort die nötigen Hardwareressourcen sind
*[[Squid Aufgabe]]
*[[Squid Aufgabe2]]
 
==Proxy PAC über DHCP==
*[[KEA Proxy PAC - Netzkwerk und Serveradministration]]
 
= [[:Kategorie:NTP|NTP]] Server =
{{#drawio:5102-ntp-01}}
 
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''DMZ''-Netzwerk liegen
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
 
===Daten===
*NET: DMZ
*IP 10.88.2XX.4/24
*GW 10.88.2XX.1
*NS 10.88.2XX.21
*NA ntp.it2XX.int
 
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
installieren ntp
*sudo apt install ntpsec
 
===NTP mit DHCP verteilen===
*[[KEA DHCP NTP-Konfiguration - Netzwerk und Serveradministration]]
 
=NGINX=
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''DMZ''-Netzwerk liegen
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
===Daten===
*NET: DMZ
*IP 10.88.2XX.10/24
*GW 10.88.2XX.1
*NS 10.88.2XX.21
*NA www.it2XX.int
 
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
* sudo apt install nginx
 
==Webserver==
*[[Nginx]]
*[[Nginx https]]
*[[phpldapadmin nginx]]
 
=Exkrus HA Proxy=
== Vorbereitungen ==
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
* Der Host soll im ''DMZ''-Netzwerk liegen
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
===Daten HAProxy===
*NET: DMZ
*IP 10.88.2XX.25/24
*GW 10.88.2XX.1
*NS 10.88.2XX.2
*NA www.it2XX.int
 
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
 
* sudo apt install haproxy
 
===Daten Webserver===
*NET: DMZ
*IP 10.88.2XX.15/24
*GW 10.88.2XX.1
*NS 10.88.2XX.2
*NA web2.it2XX.int
 
 


==Webserver==
== SAMBA ==
*[[HAProxy]]
* [[Linux - Netzwerk und Serveradminstration SAMBA|SAMBA]]
*[[HAProxy Umsetzung Linux - Netzwerk Serveradministration]]
* [[Linux - Netzwerk und Serveradminstration SAMBA Rocky|SAMBA Rocky]]
== SQUID ==
* [[Linux - Netzwerk und Serveradminstration SQUID|SQUID]]


=Exkrus checkmk=
== Exkurs Partionieren, Formatieren und Mounten ==
== Vorbereitungen ==
* [[Exkurs Partionieren, Formatieren und Mounten]]
* VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
== SFTP ==
* Der Host soll im ''Servers''-Netzwerk liegen
* [[Linux - Netzwerk und Serveradminstration SFTP|SFTP]]
* IP-Adresse herausfinden über das DHCP-Log oder die Konsole
* [[Linux - Netzwerk und Serveradminstration SFTP Rocky|SFTP Rocky]]
* statische IP-Adresse nach dem Netzwerkplan setzen
* Hostname ändern
* DNS-Eintrag vornehmen
* SSH-Server anpassen
===Daten checkmk===
*NET: Servers
*IP 10.2XX.1.25/24
*GW 10.2XX.1.1
*NS 10.88.2XX.21
*NA checkmk.it2XX.int


*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration]]
== LDAP ==
=== Docker ===
* [[Linux - Netzwerk und Serveradminstration LDAP|LDAP]]
*[[Anpassen der Virtuellen Maschinen Netzwerk und Serveradministration Docker]]
==Kleines Projekt==
*[[Apache2 Webserver Linux - Netzwerk und Serveradminstration|Apache2 Webserver]]


= Grundlegendes Firewall-Konzept =
== NTP ==
* Dienste sollen erreichbar bleiben
* [[Linux - Netzwerk und Serveradminstration NTP|NTP]]
* ungenutzte Ports sollen blockiert werden
* etablierte Verbindungen sollen über [[Connection Tracking]] freigeschaltet werden


=Linux - Netzwerk und Serveradministration=
== Firewallkonzepte ==
*[[Linux - Netzwerk und Serveradministration Probleme]]
* [[Linux - Netzwerk und Serveradminstration Firewallkonzepte|Firewallkonzepte]]
== Drucker Server ==
* [[Linux - Netzwerk und Serveradminstration Drucker Server|Drucker Server]]


== NFS Server==
* [[NFS Server Rocky]]


=Weiteres=
=Nicht Kursrelevante ADDONS=
*[[Linux - Netzwerk und Serveradminstration Misc]]
*[[Linux - Netzwerk und Serveradminstration Nicht Kursrelevante ADDONS|Nicht Kursrelevante ADDONS]]

Aktuelle Version vom 31. Oktober 2026, 07:58 Uhr