diff --git a/MA-Inhalt.tex b/MA-Inhalt.tex index f05011a..4517b06 100644 --- a/MA-Inhalt.tex +++ b/MA-Inhalt.tex @@ -515,10 +515,35 @@ Jeglicher weiterer Datenverkehr aus dem VPN-Netz heraus ist gestattet. \section{Konfiguration von OpenVPN} -Nachdem in den vorangegangenen Teilen der Arbeit alle für die Erstellung der OpenVPN-Konfiguration notwendigen Informationen ermittelt wurden, wird hier gezeigt und erklärt, wie sich die Client- und Serverkonfigurationen für OpenVPN ergeben. -Dabei werden alle vorgenommenen Entscheidungen beleuchtet. +Nach der Einrichtung des Servers wird in diesem Schritt die Konfiguration des OpenVPN-Servers im Detail erläutert. \paragraph{Erreichbarkeit des Dienstes} +Laut Anforderung~\ref{req:dualstack} aus Abschnitt~\ref{sct:requirements} soll der VPN-Dienst über IPv4 und IPv6 aus dem Internet erreichbar sein. +Als Ausgangspunkt dafür wird der DNS-Name des VPN-Dienst verwendet, der auf die IPv4- und IPv6-Dienstadresse zeigt. + +\textbf{Server} +In der Serverkonfiguration reichen die ersten drei Zeilen aus, um über IPv4 und IPv6 auf UDP-Port~1194 den VPN-Dienst anzubieten: +\begin{lstlisting} +port 1194 +proto udp +proto udp6 +multihome +\end{lstlisting} +OpenVPN beantwortet damit Anfragen für alle auf dem Server konfigurierten IP-Adressen. +Da auf dem Server neben den Dienstadressen auch die Maschinenadressen existieren, wird OpenVPN mit \texttt{multihome} angewiesen, eingehende Pakete mit der IP-Adresse zu beantworten, an die diese Pakete gerichtet waren. + +\textbf{Client} +In der Clientkonfiguration wird OpenVPN mit \texttt{nobind} angewiesen, den Clientsocket nicht an eine lokale Adresse zu binden. Die Angaben \texttt{port} und \texttt{proto} legen fest, wie der VPN-Server zu erreichen ist. +Über \texttt{remote} wird dann der zu verwendende VPN-Server explizit genannt. +Die Erreichbarkeit über IPv4 und IPv6 ergibt sich aus den im DNS eingetragenen IP-Adressen. +\begin{lstlisting} +nobind +port 1194 +proto udp +remote vpn-test.inform.hs-hannover.de 1194 +\end{lstlisting} + + Horcht auf IPv4 und IPv6, Client kann über DNS beide Adressen auflösen und je nach Verfügbarkeit der Protokolle die Sitzung aufbauen. Wir machen UDP, weil TCP in Kombination mit TCP im Tunnel Probleme bezüglich der ECN machen kann\cite[][Option \texttt{--proto}]{man:openvpn} Ein tieferer Blick auf die TCP-in-TCP-Situation kann bei Interesse in \cite[][]{analysis:tcpintcp} nachgelesen werden.