{"id":229,"date":"2021-01-08T17:33:56","date_gmt":"2021-01-08T17:33:56","guid":{"rendered":"https:\/\/www.huerter.me\/?p=229"},"modified":"2021-01-08T18:32:13","modified_gmt":"2021-01-08T18:32:13","slug":"howto-openvpn-2-5-and-windows-server","status":"publish","type":"post","link":"https:\/\/www.huerter.me\/index.php\/2021\/01\/08\/howto-openvpn-2-5-and-windows-server\/","title":{"rendered":"HowTo: OpenVPN 2.5 and Windows Server"},"content":{"rendered":"<p>Vorg\u00e4nger v2.4: <a href=\"https:\/\/www.huerter.me\/index.php\/2019\/03\/02\/howto-openvpn-server-unter-windows-server-2016-und-client-anbindung\/\">HowTo: OpenVPN Server unter Windows Server 2016 und Client Anbindung<\/a><\/p>\n<p>Das folgende HowTo zeigt wie ein OpenVPN Server 2.5 auf einem Windows Server installiert wird samt der Erstellung von Zertifizierungsstelle (CA).<\/p>\n<p>&nbsp;<\/p>\n<h2>1. Vorbereitung:<\/h2>\n<ul>\n<li>fertig installierter Windows 2012\/2016\/2019 Server<\/li>\n<li>Download Community OpenVPN NSIS Package (https:\/\/openvpn.net\/community-downloads\/)<\/li>\n<\/ul>\n<h2>2. Installation OpenVPN Server:<\/h2>\n<p>Die Installation kann durchgef\u00fchrt werden wie in der <a href=\"https:\/\/www.huerter.me\/index.php\/2019\/03\/02\/howto-openvpn-server-unter-windows-server-2016-und-client-anbindung\/\">Vorg\u00e4ngerversion<\/a> beschrieben. Wichtig ist, dass die EasyRSA Tools ausgew\u00e4hlt werden zur Installation!<\/p>\n<p>&nbsp;<\/p>\n<h2>3. Schl\u00fcsselpaare erstellen<\/h2>\n<p>In den folgenden Schritten werden folgende Keys bzw. Zertifikate erstellt:<\/p>\n<ol>\n<li>Einmalig: Certificate Authority (CA)\u00a0 &#8211; build-ca.bat<\/li>\n<li>Einmalig:\u00a0Diffie-Hellman Key &#8211; build-dh.bat<\/li>\n<li>Einmalig: Server Certificate &#8211; build-key-server.bat<\/li>\n<li>Pro Client ein Client Certificate &#8211; build-key.bat<\/li>\n<\/ol>\n<p>Hinweis: Seit der Version 2.5 werden neue Tools ausgeliefert und die Erstellung der Zertifikate hat sich ver\u00e4ndert!<\/p>\n<p>Hierbei sollte man in den Easy-RSA Pfad wechseln in welchen OpenVPN installiert wurde ( C:\\Program Files\\OpenVPN\\easy-rsa ). In diesem Ordner wird die vorhandene Datei vars.bat.example dupliziert oder nur umbenannt in &#8222;vars.com.example.vpn&#8220; und folgende Zeilen werden ver\u00e4ndert bzw. hinzugef\u00fcgt.<\/p>\n<pre class=\"lang:addlightplain\">set_var EASYRSA_PKI\t\t\"$PWD\/pki.de.name.vpn\"\r\nset_var EASYRSA_TEMP_DIR\t\"C:\/tmp_easyrsa\"\r\n\r\nset_var EASYRSA_REQ_COUNTRY\t\"DE\"\r\nset_var EASYRSA_REQ_PROVINCE\t\"RLP\"\r\nset_var EASYRSA_REQ_CITY\t\"Koblenz\"\r\nset_var EASYRSA_REQ_ORG\t\"NAME\"\r\nset_var EASYRSA_REQ_EMAIL\t\"info@name.de\"\r\nset_var EASYRSA_REQ_OU\t\t\"EDV\"\r\n\r\nset_var EASYRSA_KEY_SIZE\t2048\r\nset_var EASYRSA_CA_EXPIRE\t3650\r\nset_var EASYRSA_CERT_EXPIRE\t1825<\/pre>\n<p>Die G\u00fcltigkeit der CA betr\u00e4gt etwas \u00fcber 2 Jahre was auch grunds\u00e4tzlich gut und sicherer ist. Im oberen Beispiel wurde die G\u00fcltigkeit auf 10 Jahre gesetzt, da dies vom Kunden so gew\u00fcnscht ist.<\/p>\n<p>Der Pfad EASYRSA_TEMP_DIR sollte unbedingt gesetzt werden da man ansonsten eine Fehlermeldung &#8222;Extra arguments given.&#8220; erh\u00e4lt.<\/p>\n<p>N\u00e4heres siehe <a href=\"https:\/\/github.com\/OpenVPN\/easy-rsa\/issues\/412\">hier<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>Die EasyRSA Umgebung wird in einer CMS Sitzung (als Administrator starten) mittels &#8222;EsyRSA-Start.bat&#8220; aufgerufen<\/p>\n<p><a href=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/easy.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-230\" src=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/easy.png\" alt=\"\" width=\"681\" height=\"253\" srcset=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/easy.png 681w, https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/easy-300x111.png 300w, https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/easy-656x244.png 656w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><\/p>\n<p>Nun folgt die Erstellung der Zertifizierungsstelle (CA), Erstellung des Server-\/Client Zertifikatrequests als auch die anschlie\u00dfende Erstellung der Zertifikate anhand der Requests. Da die Details bereits im Vorg\u00e4nger Beitrag erkl\u00e4rt wurden folgen lediglich die Befehle ohne n\u00e4here Erkl\u00e4rung.<\/p>\n<pre>&gt; .\/easyrsa --vars=.\/vars.com.example.vpn init-pki # Initialisierung PKI<\/pre>\n<pre>&gt; .\/easyrsa --vars=.\/vars.com.example.vpn build-ca # Erstellung Zertifizierungsstelle<\/pre>\n<pre>&gt; .\/easyrsa --vars=.\/vars.com.example.vpn gen-req server nopass # Generierung Server Request<\/pre>\n<pre>&gt; .\/easyrsa --vars=.\/vars.com.example.vpn gen-req client1 # Generierung Client Request, pro Client einmal wiederholen<\/pre>\n<pre>&gt;.\/easyrsa --vars=.\/vars.com.example.vpn gen-dh # Diffie-Hellmann generieren<\/pre>\n<pre>&gt; .\/easyrsa --vars=.\/vars.com.example.vpn sign-req server server # Erstellung Server Zertifikat\r\n<\/pre>\n<pre>&gt; .\/easyrsa --vars=.\/vars.com.example.vpn sign-req client client1 # Erstellung Client Zertifikat<\/pre>\n<h2><strong>4. Konfiguration OpenVPN Server:<\/strong><\/h2>\n<p>F\u00fcr den Server werden nun unter &#8222;C:\\Program Files\\OpenVPN&#8220; noch weitere Ordner erstellt:<\/p>\n<ul>\n<li>ca.crt<\/li>\n<li>dh.pem<\/li>\n<li>private\/server.key<\/li>\n<li>issued\/server.crt<\/li>\n<\/ul>\n<p>Mittels einer administrativen Powershell kann ein bzw. mehrere Netzwerkadapter erstellt werden. Erstmals wurde mit OpenVPN 2.5 das &#8222;tapctl&#8220; Tool vorgestellt.<\/p>\n<p><a href=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-231\" src=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network.png\" alt=\"\" width=\"665\" height=\"104\" srcset=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network.png 665w, https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-300x47.png 300w, https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-656x103.png 656w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/a><\/p>\n<p>Mittels &#8222;.\\tapctl.exe create&#8220; wurde ein Netzwerkadapter erstellt. N\u00e4heres ist in der <a href=\"https:\/\/community.openvpn.net\/openvpn\/wiki\/Tapctl\">Dokumentation<\/a> zu finden<\/p>\n<p>Der Adapter (LAN-Verbindung X&#8220; kann in der Systemsteuerung umbenannt werden:<\/p>\n<p><a href=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-232\" src=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-1.png\" alt=\"\" width=\"572\" height=\"341\" srcset=\"https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-1.png 689w, https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-1-300x179.png 300w, https:\/\/www.huerter.me\/wp-content\/uploads\/2021\/01\/network-1-656x391.png 656w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>OpenVPN Server Konfig &#8222;C:\\Program Files\\OpenVPN\\config-auto\\vpn_server_client.ovpn&#8220;<\/p>\n<pre class=\"lang:addlightplain\">##########################\r\n# VPN Server for clients\r\n##########################\r\n\r\n# Lokale IP auf welche der Socket\/Port gebunden wird\r\nlocal 1.2.3.4\r\n\r\n#Listener des OpenVPN Servers\r\nport 1194\r\n\r\n#Protokoll des Servers\r\nproto udp\r\ndev tun\r\n# Zuweisung auf separaten Adapter\r\ndev-node \"tap-vpn-server\"\r\n\r\n##########################\r\n# Zertifikate\r\n##########################\r\n\r\ndh \"C:\\\\Program Files\\\\OpenVPN\\\\keys\\\\dh2048.pem\"\r\nca \"C:\\\\Program Files\\\\OpenVPN\\\\keys\\\\ca.crt\"\r\ncert \"C:\\\\Program Files\\\\OpenVPN\\\\keys\\\\vpn_name.crt\"\r\nkey \"C:\\\\Program Files\\\\OpenVPN\\\\keys\\\\vpn_name.key\"\r\n\r\n##########################\r\n# Server-Setup\r\n##########################\r\n\r\n# DHCP Subnetz\r\nserver 10.0.100.0 255.255.255.0\r\nifconfig-pool-persist \"C:\\\\Program Files\\\\OpenVPN\\\\ipp.txt\"\r\n\r\n#Erm\u00f6glichen von Anfragen von einem Client zum anderen, bei Bedarf die Zeile entfernen\r\nclient-to-client\r\n\r\n##########################\r\n# Client-Settings (inkl Special Dir)Files\r\n##########################\r\n\r\nclient-config-dir \"C:\\\\Program Files\\\\OpenVPN\\\\ccd\"\r\npush \"route 192.168.1.0 255.255.255.0\"\r\n#push \"dhcp-option DNS 192.168.1.10\"\r\n\r\n##########################\r\n# Defaults\r\n##########################\r\n\r\nkeepalive 10 120\r\npersist-key\r\npersist-tun\r\n\r\n##########################\r\n# Logging\r\n##########################\r\n\r\nstatus \"C:\\\\Program Files\\\\OpenVPN\\\\log\\\\vpn_server_client_status.log\"\r\nlog \"C:\\\\Program Files\\\\OpenVPN\\\\log\\\\vpn_server_client.log\"\r\nlog-append \"C:\\\\Program Files\\\\OpenVPN\\\\log\\\\vpn_server_client.log\"\r\nverb 3<\/pre>\n<p>Hinweis: Die Pfadangaben m\u00fcssen entweder per &#8222;\\\\&#8220; erfolgen oder mit einem normalen &#8222;\/&#8220;.<\/p>\n<p>Der OpenVPN Server kann mittels &#8222;C:\\Program Files\\OpenVPN\\bin\\openvpn-gui.exe&#8220; starten, gerade w\u00e4hrend der Einrichtung sollte man diese Option nutzen. So startet man die GUI und sieht die Fehlermeldungen direkt. Alle Konfigurationen unter &#8222;C:\\Program Files\\OpenVPN\\config-auto&#8220; werden vom Dienst &#8222;OpenVPNServiceInteractive&#8220; automatisch geladen. Der normale &#8222;config&#8220; Ordner ist f\u00fcr Client-Konfigurationen gedacht.<\/p>\n<p>Sp\u00e4ter kann man den OpenVPNService nutzen. Dieser ist per Default vorhanden aber auf &#8222;Manuell&#8220; gestellt, damit der Dienst automatisch verf\u00fcgbar ist habe ich die Einstellung auf &#8222;Automatisch&#8220; angepasst.<\/p>\n<p>Die Clienteinrichtung kann ab Punkt 5. <a href=\"https:\/\/www.huerter.me\/index.php\/2019\/03\/02\/howto-openvpn-server-unter-windows-server-2016-und-client-anbindung\/\">hier<\/a> eingesehen werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vorg\u00e4nger v2.4: HowTo: OpenVPN Server unter Windows Server 2016 und Client Anbindung Das folgende HowTo zeigt wie ein OpenVPN Server 2.5 auf einem Windows Server installiert wird samt der Erstellung von Zertifizierungsstelle (CA). &nbsp; 1. Vorbereitung: fertig installierter Windows 2012\/2016\/2019 Server Download Community OpenVPN NSIS Package (https:\/\/openvpn.net\/community-downloads\/) 2. Installation OpenVPN Server: Die Installation kann durchgef\u00fchrt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5,29,26,28,31,30],"class_list":["post-229","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-linux","tag-openssl","tag-openvpn","tag-vpn","tag-windows","tag-zertifikate"],"_links":{"self":[{"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/posts\/229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/comments?post=229"}],"version-history":[{"count":4,"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/posts\/229\/revisions"}],"predecessor-version":[{"id":236,"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/posts\/229\/revisions\/236"}],"wp:attachment":[{"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/media?parent=229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/categories?post=229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.huerter.me\/index.php\/wp-json\/wp\/v2\/tags?post=229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}