This commit is contained in:
Jan Philipp Timme 2018-10-10 11:37:50 +02:00
parent f49ce784b6
commit 0af763f591

View File

@ -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.