% <#>-----------------------------------------------------------------------<#> \section{Netzwerk}% \label{sec:network} % #>------------------------------------------------------------------------<# \subsection{Netzwerkkonfiguration}% \label{sec:netzwerk.konfiguration} Bei der Installation des Basis-Systems (Fedora Server Edition) wird das Paket \textbf{network-manager} installiert. Dieses Paket ist für die einfache und weitgehend automatische Netzwerk-Konfiguration auf Endbenutzer-Systemen entwickelt worden. Daher ist es auf Serversystemen, bei denen eine statische Adressvergabe oder es zu komplexen Netzwerkstrukturen kommen kann, kontraproduktiv. \begin{itemize}[label={},itemsep=0pt] \item \textbf{Aufgabe 1a:} Stellen Sie mit dem Befehl \textit{yum list installed} fest, ob das Paket mit dem Namensbestandteil \textbf{network-manager} installiert ist. \item \textbf{Aufgabe 1b:} Falls Sie hierbei fündig geworden sind, stoppen und deaktivieren Sie den Dienst \textit{NetworkManager} per \textit{systemctl} und \dots \item \textbf{Aufgabe 1c:} überprüfen Sie mithilfe von \textit{systemctl}, ob der Dienst \textit{NetworkManager} gestoppt und deaktiviert ist. \end{itemize} Nachdem Sie den Dienst \textit{NetworkManager} entfernt haben, stellen Sie mithilfe von \textit{systemd} die Netzwerkkonfiguration ein und erstellen ggfl. notwendige virtuelle Netzwerkkarten. \textit{systemd} unterteilt die Netzwerkkonfiguration in drei unterschiedliche Dienste: \begin{itemize}[label={},itemsep=0pt] \item \textit{systemd-networkd:} Erstellt virtuelle Netzwerkkarten und richtet diese als auch physische ein. Dadurch ist die Zuweisung einer dynamischen per \acrshort{acr:dhcp} oder statischen IP-Adresse möglich. \item \textit{systemd-resolved:} Kümmert sich um die Namensauflösung per \acrshort{acr:dns}. \item \textit{systemd-timesyncd:} Richtet die Uhrzeit mithilfe des \acrfull{acr:ntp} auf dem System ein. \end{itemize} Die Dienste \textit{systemd-resolved} und \textit{systemd-timesyncd} rufen notwendige Informationen von anderen Diensten auf dem System ab. Ein anpassen des Standardverhaltens ist hier nicht notwendig. \begin{itemize}[label={},itemsep=0pt] \item \textbf{Aufgabe 1d:} Starten und aktivieren Sie die beiden Dienste mithilfe des Befehls \textit{systemctl}. \item \textbf{Aufgabe 1e:} Überprüfen Sie, ob die Dienste als \textit{active (running)} markiert sind. \item \textbf{Aufgabe 1f:} Zusätzlich überprüfen Sie, ob die Dienste auch als \textit{enabled} markiert sind, sodass diese bei einem erneusten Systemstart ausgeführt werden. \end{itemize} Die Netzwerkkonfiguration per \textit{systemd} wird über die unterschiedlichen Dateiendungen \textit{.netdev} und \textit{.network} im Verzeichnis \textit{/etc/systemd/network} geregelt. \begin{itemize}[label={},itemsep=0pt] \item \textbf{Aufgabe 1g:} Rufen Sie die Dokumentation von \href{https://www.freedesktop.org/software/systemd/man/systemd.network.html}{systemd.network} und \href{https://www.freedesktop.org/software/systemd/man/systemd.netdev.html}{systemd.netdev} auf und erklären Sie den Unterschied der beiden Konfigurationsdateien \textit{.netdev} und \textit{.network}. \end{itemize} Mit dem Befehl \textit{ip link show} werden alle Netzwerkkarten, welches Ihr System kennt ausgegeben. \begin{bashcode} $ ip link show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp1s0: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:b3:95:e4 brd ff:ff:ff:ff:ff:ff \end{bashcode} Das System, auf dem der Befehl ausgeführt wurde, kennt zwei Netzwerkadapter. Mit dem Index 1 ist das \textit{loopback device} \textbf{lo} aufgeführt. Über das \textit{loopback device} können Dienste, welche auf dem lokalen System ausgeführt werden, per Netzwerk sich selbst oder andere Dienste adressieren bzw. zugreifen. Dies ist durch die IP-Adresse \textit{127.0.0.1} oder den DNS-Namen \textit{localhost} möglich. Vorteil des \textit{loopback device} ist es, dass die Netzwerkpakete nicht den Rechner verlassen. Dadurch wird unnötiger Netzwerkverkehr, welcher über das physische Netzwerk geleitet wird, vermieden. Mit dem Index 2 wird der Netzwerkadapter \textbf{enp1s0} geführt. Dieser besitzt die MAC-Adresse \textit{52:54:00:b3:95:e4}. Der Netzwerkadapter ist als inaktiv bzw. ausgeschaltet markiert. Dies kann durch die Information \textit{state DOWN} entnommen werden. Dieser ist nicht konfiguriert und besitzt auch keine IP-Adresse. \begin{itemize}[label={},itemsep=0pt] \item \textbf{Aufgabe 1h:} Ermitteln Sie ihren Netzwerkadapter, welcher nicht konfiguriert wurde. Überprüfen Sie mit dem Befehl \textit{ip address show}, ob ihr Netzwerkadapter eine IP-Adresse zugewiesen wurde. \item \textbf{Aufgabe 1i:} Schauen Sie sich in der Dokumentation zu \href{https://www.freedesktop.org/software/systemd/man/systemd.network.html}{systemd.network} die Beispielkonfigurationen an und erstellen Sie für ihren Netzwerkadapter eine passende Konfiguration. Falls Sie die Konfiguration ihres lokalen Netzwerks nicht kennen, um ihrem System eine statische IP-Adresse zu zuweisen, verwenden Sie \acrshort{acr:dhcp}. \item \textbf{Aufgabe 1j:} Starten und aktivieren Sie den Dienst \textit{systemd-networkd} mithilfe von \textit{systemctl}. \item \textbf{Aufgabe 1k:} Überprüfen Sie, ob der Dienst als \textit{active (running)} markiert ist und \dots \item \textbf{Aufgabe 1l:} ob dieser als \textit{enabled} markiert ist. \end{itemize} % #>------------------------------------------------------------------------<# \subsection{Routing}% \label{sec:netzwerk.routing} Das \acrfull{acr:ip} ist auf Schicht 3 des OSI-Modells angesiedelt. Es dient der Strukturierung von großen Netzwerken, d.h der Aufteilung dieser Netze in übersichtliche Teilnetze und der Verbindung dieser Teilnetze. \acrshort{acr:ip} ist für die Vermittlung eines Weges, einer Route, zwischen zwei Kommunikationspartnern zuständig. Diese Route muss auch über mehrere Teilnetze hinweg gefunden werden. Die Verbindungspunkte zwischen Netzen werden als Router oder Gateway bezeichnet. Jeder Rechner, auch solche, die keine Routingfunktion haben, muss Informationen zur Wegefindung im Netz speichern. Dies geschieht bei jedem \acrshort{acr:ip}-fähigen Betriebssystem in einer Routingtabelle, die statisch oder dynamisch verwaltet werden kann. In einem Maschennetz wie dem Internet ist eine dynamische Verwaltung sinnvoll, da so die Wegewahl der aktuellen Belastungssituation auf den verschiedenen Wegen angepasst werden kann. Auch bei Ausfall einer Verbindung kann so automatisch eine Ersatzroute konfiguriert werden. Bei einfachen Netzverbünden ohne Maschenstruktur wird statisches Routing verwendet, was auch ohne Zusatzsoftware von den üblichen Betriebssystemen geleistet werden kann. % >---------------------------------------------------------------------------< \subsubsection{Einfache Netze}% \label{sec:netzwerk.routing.einfache-netze} Selbst in \acrshort{acr:ip}-Netzen ohne Anbindung an andere Netze besitzt jeder Rechner eine statische Routingtabelle in minimaler Größe. Die Tabelle enthält mehrere Informationen, die wichtigsten sind in den ersten Spalten festgehalten. Darunter wird das Zielnetzwerk, die verwendete Schnittstelle und das verwendete Gateway aufgeführt. In diesem einfachsten Fall bleibt die Spalte für das Gateway leer und es gibt nur einen Eintrag in jeder Tabelle. Diese minimale Routingtabelle wird bei allen Betriebssystem mit der normalen Netzwerkkonfiguration automatisch erstellt. \begin{table}[H] \footnotesize \centering \begin{tabularx}{17cm}{p{2.6cm}|p{2.6cm}|p{1.9cm}||p{2.6cm}|p{2.6cm}|p{1.9cm}} \multicolumn{3}{c||}{\textbf{PC}} & \multicolumn{3}{c}{\textbf{Laptop}} \\ \hline Zielnetz & Netzwerkadapter & Gateway & Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.178.0/24 & enp1s0 & - & 192.168.178.0/24 & wlp5s1 & - \\ \end{tabularx} \end{table} \begin{table}[H] \footnotesize \centering \begin{tabularx}{8.5cm}{p{2.6cm}|p{2.6cm}|p{1.9cm}} \multicolumn{3}{c}{\textbf{Server A}} \\ \hline Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.178.0/24 & eth0 & - \\ \end{tabularx} \end{table} \begin{figure}[H] \centering \includegraphics[width=0.65\textwidth]{img/einfache-netze.png} \end{figure} % >---------------------------------------------------------------------------< \subsubsection{Einfache Netze mit Internetanbindung}% \label{sec:netzwerk.routing.einfache-netze-mit-internetanbindung} Hat ein Netzwerk genau eine Anbindung an die anderen Netzwerke, erhält die Routingtabelle auf jedem Rechner eine zusätzliche Zeile, in der angegeben wird, auf welchem Weg die anderen Netzwerke erreicht werden können. Da alle Netzwerke über den gleichen ersten Router erreicht werden, wird diese Zeile der Routingtabelle als Standard- bzw. Default-Route bezeichnet. Dieses Standard-Gateway muss bei allen Betriebssystemen gesondert konfiguriert werden. \begin{table}[H] \footnotesize \centering \begin{tabularx}{17cm}{p{2.6cm}|p{2.6cm}|p{1.9cm}||p{2.6cm}|p{2.6cm}|p{1.9cm}} \multicolumn{3}{c||}{\textbf{PC}} & \multicolumn{3}{c}{\textbf{Laptop}} \\ \hline Zielnetz & Netzwerkadapter & Gateway & Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.178.0/24 & enp1s0 & - & 192.168.178.0/24 & wlp5s1 & - \\ 0.0.0.0/0 & enp1s0 & 192.168.178.1 & 0.0.0.0/0 & wlp5s1 & 192.168.178.1 \\ \end{tabularx} \end{table} \begin{table}[H] \footnotesize \centering \begin{tabularx}{8.5cm}{p{2.6cm}|p{2.6cm}|p{1.9cm}} \multicolumn{3}{c}{\textbf{Server A}} \\ \hline Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.178.0/24 & eth0 & - \\ 189.10.55.47/32 & ppoe1 & - \\ 0.0.0.0/0 & ppoe1 & 189.10.55.47 \\ \end{tabularx} \end{table} \begin{figure}[H] \centering \includegraphics[width=1\textwidth]{img/einfache-netze-mit-internetanbindung.png} \end{figure} % >---------------------------------------------------------------------------< \subsubsection{Zwei Netze mit Internetanbindung}% \label{sec:netzwerk.routing.zwei-netze-mit-internetanbindung} \begin{table}[H] \footnotesize \centering \begin{tabularx}{17cm}{p{2.6cm}|p{2.6cm}|p{1.9cm}||p{2.6cm}|p{2.6cm}|p{1.9cm}} \multicolumn{3}{c||}{\textbf{PC}} & \multicolumn{3}{c}{\textbf{Laptop}} \\ \hline Zielnetz & Netzwerkadapter & Gateway & Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.178.0/24 & enp1s0 & - & 192.168.178.0/24 & wlp5s1 & - \\ 0.0.0.0/0 & enp1s0 & 192.168.178.1 & 0.0.0.0/0 & wlp5s1 & 192.168.178.1 \\ \multicolumn{6}{c}{} \\ \multicolumn{3}{c||}{\textbf{Server A}} & \multicolumn{3}{c}{\textbf{Server B}} \\ \hline Zielnetz & Netzwerkadapter & Gateway & Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.178.0/24 & eth0 & - & 192.168.178.0/24 & eth0 & 192.168.179.1 \\ 192.168.179.0/24 & eth0 & 192.168.178.4 & 192.168.179.0/24 & eth1 & - \\ 189.10.55.47/32 & ppoe1 & - & 0.0.0.0/0 & eth0 & 192.168.178.1 \\ 0.0.0.0/0 & ppoe1 & 189.10.55.47 \\ \multicolumn{6}{c}{} \\ \multicolumn{3}{c||}{\textbf{Tablet}} & \multicolumn{3}{c}{\textbf{Smartphone}} \\ \hline Zielnetz & Netzwerkadapter & Gateway & Zielnetz & Netzwerkadapter & Gateway \\ \hline\hline 192.168.179.0/24 & wlp7s3 & - & 192.168.179.0/24 & wlp3s8 & - \\ 0.0.0.0/0 & wlp7s3 & 192.168.179.1 & 0.0.0.0/0 & wlp3s8 & 192.168.179.1 \\ \end{tabularx} \end{table} \begin{figure}[H] \centering \includegraphics[width=1\textwidth]{img/zwei-netze-mit-internetanbindung.png} \end{figure} \newpage \begin{itemize}[label={},itemsep=0pt] \item \textbf{Aufgabe 2a:} Ermitteln Sie mithilfe des Befehls \textit{ip} Ihr Gateway. \item \textbf{Aufgabe 2b:} Erstellen Sie anhand des folgenden Netzwerkdiagramms die Routingtabellen für alle abgebildeten Netzwerkgeräte. \end{itemize} \begin{figure}[H] \centering \includegraphics[width=1\textwidth]{img/aufgabe-netze-mit-internetanbindung.png} \end{figure}