Konzept für VPN Server hinter FRITZ!Box

Also wir haben hier eine FRITZ!Box 6890 LTE mit drei Stück FRITZ!Repeater 2400 im Mesh-Betrieb und zwei Ethernet-Switches im Einsatz, und ich möchte dieses Heimnetzwerk nun per VPN von Surfshark (OpenVPN) absichern.

Was mir hierzu fehlt, ist das passende Konzept. Die FRITZ!Box im Bridge-Modus zu betreiben und dahinter einen OpenVPN-Router spielt sich nicht, da das WLAN der FRITZ!Box und den drei Repeatern weiterhin benutzt werden soll und die damit verbundenen Geräte auch über das VPN geroutet werden sollen. Es ist angedacht, dass die internen Geräte über das VPN von Surfshark nach außen gelangen (ein paar Websites, wie für Online-Banking, sollen aber direkt erreichbar sein, also nicht über das VPN) und Geräte von außen über das VPN der FRITZ!Box auf das Heimnetzwerk zugreifen können.

Wie könnte man das wohl am besten angehen?

Welche (aes-ni taugliche) Hardware und Software würde sich für den OpenVPN Server anbieten?

Die anderen Geräte im Netzwerk sind übrigens entweder Linux Laptops oder Android Smartphones, wir haben nichts mit Microsoft oder Apple in Verwendung.

Bei der Hardware für den openVPN-Server müsste man erstmal wissen, ob neue oder gebrauchte Teile (je nach Budget und pers. Anspruch)!?!
Denn gebraucht geht da ne Menge für kleines Geld !!

CPU = Intel® Xeon® Processor E5620 - 12M Cache, 2.40 GHz, 5.86 GT/s Intel® QPI Intel® AES New Instructions (Intel® AES-NI) (gebraucht ab ca. 35-40€)
Mainboard = Sockel LG1366 z.B. mit Chipsatz Intel® X58/ ICH10R Chipsatz oder ähnlich (gebraucht ca. 25€)
RAM = 4 GB DDR3 ECC - RAM (gebraucht m. Garant. ca. 20€)
Festspeicher = 64 GB SSD z.B. Samsung Evo 840 (neu ca. 25€, gebraucht ca. 15€)
NT / Gehäuse = Minimal / 250 Watt passiv (gebraucht 30-40€)

OS = Beliebiges, unterstütztes Linux OS (siehe openVPN)
oVPN = openVPN Software-Package oVPN-Server

Ansonsten gibt es keine besonderen Softwareanforderungen. Um es einfach auszudrücken, benötigen Sie ein unterstütztes Linux-Betriebssystem, virtuell oder nicht, und ob es sich um eine Minimalinstallation, eine Serverinstallation oder eine vollständige Desktop-Installation handelt, spielt keine Rolle.

Alternative AES-NI CPUs:

  1. Intel Westmere/Westmere-EP (Xeon 56xx)/Clarkdale (except Core i3, Pentium and Celeron)/Arrandale(except Celeron, Pentium, Core i3, Core i5-4XXM).
  2. Intel Sandy Bridge cpus (except Pentium, Celeron, Core i3).
  3. Intel mobile Core i7 and Core i5.
  4. Intel Ivy Bridge processors All i5, i7, Xeon and i3-2115C only.
  5. Intel Haswell processors (all except i3-4000m, Pentium and Celeron).
  6. Intel Coffee Lake/Kaby Lake and so on
  7. AMD Bulldozer/Piledriver/Steamroller/Jaguar/Puma/Ryzen-based processors.
  8. AMD Geode LX processors.
  9. VIA PadLock (a different instruction set than Intel AES-NI but does the same thing at the end of the day).
  10. ARM – selected Allwinner and Broadcom using security processor. There are few more ARM based processor.

Bei neuer Hardware müsste man entsprechend schauen, ob es in der Hinsicht entsprechende Embedded System-Bundles gibt! oder eventuell alternativ dazu direkt einen openWRT-Router oder einen dedizierten openVPN-Router (z.B. Asus) dazu hernimmt (Kostenvergleich beider Systeme erforderlich)!

1 Like

Oh @vip
mein alter Kumpel ist ja auch hier. Sag mal hast du noch meine „Rolex“? :rofl:

Muss mal einer sagen,
@vip ist der einzige der sich sonst was aufreist, um hier Hintergründe klar +
verständlich zu machen. Meinen Respekt hast du, das weis er auch.

Sorry bin am Thema vorbei…

1 Like

@VIP also betreffend Hardware bin ich gerade auf AliExpress bei Qotom und Minisys am Suchen.

Das Teil soll möglichst günstig und energieeffizient sein. AES-NI können auch schon ältere Celerons, ist also nichts besonderes mehr. Ist nur die Frage, wie leistungsfähig die CPU sein muss, also ob es ein Intel Mobile i5 oder i7 (welche Generation?) sein soll.

Der Einfachheit halber will ich bei Intel CPU & NICs bleiben, je nachdem wie ich das Teil anbinde reichen da schon zwei Stück Gigabit-Port.

Ich denke, ich werde Arch Linux installieren und das Teil als kombinierter Home/OpenVPN Server betreiben, sodass ich neben der FritzBox nur ein weiteres Gerät 24/7 im Einsatz habe.

Die FritzBox sagt zwar, sie wäre über LTE mit 300/50 Mbit/s verbunden, aber die tatsächliche Anbindung ist echt schwach (jetzt gerade mit Speedtest nachgesehen und kommt nur auf schlappe 22/26 Mbit/s; wir sind hier am Stadtrand und 1.5 km von der nächsten Basisstation entfernt, kein VDSL oder Fiber).

Auf openVPN gehen deren Entwickler-Schätzungen für Ressourcen und Performance-Berechnungen in folgende Richtung:

Ich weiss, es ist viel Info / Text, aber ich denke auch, dass sich hier eine Einarbeitung echt lohnt!
Wie gesagt, stammt direkt von der openVPN Entwicklerseite, was die Einschätzungen natürlich sehr nahe der Realität kommen lässt!!
Siehe auch weiter unten: Beispiele & Limitierungen :wink:

Die CPU-Anforderungen sind aufgrund der sehr unterschiedlichen Anforderungen und Anwendungsfälle nur sehr schwer zu spezifizieren. Wenn Sie beispielsweise einen VPN-Server für 500 Personen betreiben, aber alles, was sie tun, ist, ihn zu verwenden, um einen Webserver über den VPN-Server zu erreichen, dann sind die Anforderungen viel geringer als beim Betrieb desselben Servers, aber sie leiten ihren gesamten Internetverkehr über den VPN-Server um. Der Datenverkehr, der über die VPN-Verbindung läuft, beansprucht sowohl auf Client- als auch auf Serverseite CPU-Rechenleistung, da Informationen ver- und entschlüsselt werden müssen.
Wenn Sie eine moderne CPU haben, die AES-NI unterstützt, dann kann das System möglicherweise einen Teil der Last entlasten. Auf älteren Systemen müssen Sie nur Ihre Schätzungen etwa verdoppeln.
Als Faustregel sollte man davon ausgehen, dass man bei einer modernen CPU mit AES-NI-Chipsatz für jedes Megabit pro Sekunde Datenverkehr (in eine Richtung) etwa 20MHz benötigt. Dies ist eine sehr grobe Schätzung, aber es gibt einige Unterschiede in der Art der CPU, AMD oder Intel, AES-NI oder nicht, etc., so dass wir nur eine grobe Schätzung vornehmen können. Wenn Ihre CPU älter ist und keine AES-NI hat, gehen Sie von 40 MHz pro Megabit pro Sekunde Datenverkehr aus.

Es ist möglich, das OpenSSL-Programm zu verwenden, um Verschlüsselungstests durchzuführen, um zu sehen, welche Art von Datenverschlüsselung-Verarbeitungsgeschwindigkeit Sie erwarten können. Dies würde Ihnen dann eine genauere Schätzung geben, wie viel Datenverkehr Sie durch einen OpenVPN-Tunnel transportieren können. Die angegebenen Schätzungen basieren auf Erfahrungswerten und mit den Standardeinstellungen für die Verschlüsselung. Wenn Sie auf der Suche nach einer Leistungssteigerung sind, können Sie eine Senkung der Verschlüsselungseinstellungen in Betracht ziehen, um die Belastung zu verringern und die Dinge zu beschleunigen.

Der Speicherbedarf hängt stark von der Anzahl der angeschlossenen Geräte und dem NAT-Verkehr ab. Als Minimum empfehlen wir, dass Sie mit 1 GB Speicher beginnen sollten. Sie können niedriger gehen, aber Sie können später möglicherweise auf Probleme mit der Speicherauslastung stoßen, weshalb wir es vorziehen, eine Sicherheitsmarge einzuhalten.
Darüber hinaus empfehlen wir, dass Sie, wenn Ihre Benutzer nur auf Ressourcen in Ihrem privaten Netzwerk zugreifen und nicht ihren gesamten Internetverkehr über den Server übertragen, etwa 500 Megabyte Speicher pro 100 angeschlossene Geräte hinzufügen sollten. Für 1000 angeschlossene Geräte wären das also 6 GB Speicher. Wenn Ihre Benutzer den gesamten Internetverkehr über den VPN-Server leiten, verdoppeln Sie diesen auf 1000 Megabyte pro 100 angeschlossene Geräte. Für 1000 angeschlossene Geräte wären das also 11 GB Speicher. Auch dies mag auf der hohen Ebene liegen, aber wir bevorzugen eine Sicherheitsmarge in unseren Schätzungen, um zu vermeiden, dass Sie auf Speicherprobleme stoßen. Du kannst natürlich nach Belieben experimentieren und sehen, was bei dir funktioniert.

Der Bandbreitenbedarf hängt vollständig davon ab, wie viele Daten Sie insgesamt durch die VPN-Tunnel transportieren möchten. Wenn Sie einen Server mit einer 1Gbps-Netzwerkverbindung haben und 100 Geräte daran angeschlossen sind, bleiben 10Mbps pro Benutzer übrig, wenn sie alle gleichzeitig das volle Potenzial nutzen. Normalerweise werden das aber nicht alle gleichzeitig tun, und wenn zum Beispiel nur die Hälfte der Benutzer die Verbindung voll ausnutzt und die andere Hälfte im Leerlauf ist, dann bleiben etwa 20Mbps pro Benutzer übrig. Leider gibt es für uns keine Möglichkeit zu schätzen, wie Ihre Benutzer die Verbindung nutzen werden, Sie müssen diese Schätzung selbst vornehmen.

Die Anforderungen an die Festplatte sind relativ gering. Eine minimale Linux-Installation mit Access Server könnte sogar auf 2 Gigabyte passen. Die meisten Daten werden im Laufe der Zeit von Protokollen verwendet, also beachten Sie dies bitte und lesen Sie unsere Seite mit den Protokollierungs- und Debugging-Optionen für weitere Details, wie Sie die Protokollrotation einrichten, um zu verhindern, dass Ihr Festplattenspeicher voll wird. Wir empfehlen bequeme 16 GB Festplattenspeicher und möglicherweise mehr, wenn Ihre Benutzerkontendatenbank extrem groß sein wird.

Einige Beispiele:

Die unten aufgeführten Beispiele gehen von einem relativ hohen Bandbreitenbedarf und der Aktivität der Benutzer aus. In Wirklichkeit werden Sie oft feststellen, dass die Benutzer viel mehr im Leerlauf sind und die Bandbreitenanforderungen daher viel geringer sind. Aber die Beispiele sind hier, um Ihnen zu zeigen, wie Sie eine fundierte Einschätzung darüber treffen können, welche Art von System Sie benötigen, um ein bestimmtes Ziel zu erreichen. Allerdings haben wir Kunden, die fast 2000 Benutzer auf einem einzigen Access Server auf einem Quad-Core-System betreiben, was sehr gut ist, da ihre Anforderungen an den Datendurchsatz relativ gering und auf bestimmte Dienste beschränkt sind. Ebenso haben wir auch Kunden, die etwa 50 Benutzer auf einem einzigen Access Server ausführen und ihr Octa-Core-Konzept maximieren, weil sie so viel Datenverkehr durch ihn leiten. Es hängt nur davon ab, was Sie brauchen, also ist es für uns sehr schwierig, Ihnen selbst eine genaue Beurteilung zu geben.

Ein ziemlich anspruchsvolles Setup - sagen wir, Sie haben einen modernen dedizierten Server mit AES-NI und benötigen 500 angeschlossene Geräte, und sie leiten ihren gesamten Internetverkehr durch den VPN-Tunnel um, und etwa 50% werden die Verbindung aktiv nutzen und 50% werden jederzeit im Leerlauf sein. Dies wird natürlich variieren, da einige Benutzer eine Webseite öffnen und sie dann für eine Weile lesen, während die Verbindung meist ungenutzt bleibt, während andere Benutzer gleichzeitig ein E-Mail-Programm öffnen und E-Mails abrufen. Mit anderen Worten, eine typische Büroarbeitssituation. Nehmen wir an, Sie wollen sicherstellen, dass jedem aktiven Benutzer 10 Mbit/s zur Verfügung stehen, und nehmen wir an, er hat diese Bandbreite tatsächlich auf seiner Internetverbindung.

250 aktive Benutzer mal 10Mbps ist 2500Mbps oder 2,5Gbps. Server mit 10Gbps-Leitungen sind leicht verfügbar, so dass dies in Bezug auf die Netzwerkbandbreite kein Problem darstellen sollte.
2500Mbps mal 20MHz ist etwa 50000MHz oder 50GHz. Prozessoren mit 3,5 GHz, z.B. im Dual-Octa-Core-Konzept, würden Sie diesen Anforderungen gerecht werden.
Bei 500 angeschlossenen Geräten in diesem Beispiel benötigen Sie ca. 6 GB Speicherplatz auf Ihrem System. Dies ist eine relativ geringe Menge für moderne Systeme, die so einfach zu erreichen ist.

Eine einfachere Einrichtung - nehmen wir an, Sie haben einen alten dedizierten Server ohne AES-NI und benötigen 200 Geräte, die daran angeschlossen sind, aber sie leiten nur den Datenverkehr für einen Webserver und einen Dateiserver in Ihrem privaten Netzwerk weiter, und etwa 50% werden die Verbindung aktiv nutzen und 50% werden zu jeder Zeit im Leerlauf sein. Wie im vorherigen Beispiel wird dies natürlich etwas variieren, da einige Benutzer an anderen Aufgaben arbeiten und diese mit dem Abrufen von Dateien und Daten über den VPN-Tunnel wechseln. Nehmen wir an, Sie wollen sicherstellen, dass jedem aktiven Benutzer 10 Mbit/s zur Verfügung stehen, und nehmen wir noch einmal an, dass er diese Bandbreite tatsächlich auf seiner Internetverbindung hat.

100 aktive Benutzer mal 10Mbps ist 1000Mbps oder 1Gbps. Die meisten Systeme haben dies heutzutage standardmäßig, sogar Server, die mehrere Jahre alt sind.
1000Mbps Zeit 40MHz ist etwa 40000MHz oder 40GHz. Ältere Server mit einem Dual-Octa-Core-Konzept mit 2,5 GHz können Sie diesen Anforderungen gerecht werden.
Bei 200 angeschlossenen Geräten in diesem Beispiel würden Sie etwa 2 GB Speicher benötigen, eine relativ geringe Menge.

Einschränkungen:

Wenn Sie beabsichtigen, den Internetverkehr über den OpenVPN Access Server weiterzuleiten, empfehlen wir, dass Sie pro Access Server-Installation nicht mehr als 1000 Benutzer anmelden. Diese Einschränkung ist eine praktische Einschränkung, die damit zusammenhängt, wie viele Verbindungen ein einzelnes Betriebssystem tatsächlich bewältigen kann, und da alles über den Access Server läuft, können Sie hier auf einige harte Einschränkungen des Betriebssystems stoßen. Wenn Ihre Serverhardware leistungsfähiger ist und Sie das Gefühl haben, dass diese Grenze das Hardwarepotenzial Ihres Servers verschwenden würde, denken Sie bitte daran, dass Sie das System virtualisieren und mehrere Access Server-Installationen nebeneinander auf derselben Hardware ausführen können. Wir bevorzugen ESXi selbst, aber auch HyperV, Proxmox und andere Lösungen sind akzeptabel.

Wenn Sie beabsichtigen, nur begrenzten Datenverkehr über den OpenVPN Access Server zu leiten, können Sie vielleicht mehr als 3000 angeschlossene Geräte über eine einzige Installation laufen lassen, aber über 2000 hinaus empfehlen wir Ihnen, die Dinge in separate Installationen aufzuteilen, um Probleme mit der Betriebssystembegrenzung zu vermeiden. Kurz gesagt, es hängt ganz davon ab, was man damit macht. So nutzt es beispielsweise einer unserer Kunden ausschließlich zur Wartung von Systemen, so dass die Bandbreitenauslastung extrem gering ist und damit auch die Systembelastung, d.h. er kann Tausende von angeschlossenen Geräten auf demselben Access Server problemlos betreiben.

Benutzerkonten auf dem OpenVPN Access Server können viel höher sein als die Anzahl der tatsächlich angeschlossenen Geräte. Zum Beispiel können Sie 50000 Benutzernamen + Passwörter auf dem Access Server gespeichert haben. Wenn nur 500 davon zu einem Zeitpunkt aktiv verbunden sind, gibt es überhaupt kein Problem.

Der OpenVPN Access Server verwendet standardmäßig SQLite-Datenbankdateien. Irgendwann können diese Dateien zu Proportionen wachsen, die die Verwendung ineffizient machen. Wenn Sie Zehntausende von Benutzerkonten und eine Menge Verbindungs-/Trennungsaktivitäten haben, können Sie mit Dateien von gigabyte Größe enden, und SQLite3 ist nicht sehr effizient, wenn es um Dateien dieser Größe geht. Wenn Sie aufgrund der Backend-Datenbanken einmal auf eine Geschwindigkeits- oder Größenbeschränkung stoßen, haben Sie die Wahl, die SQLite3-Datenbanken nach MySQL oder Amazon RDS zu migrieren. Diese Systeme sind für die schnelle Verarbeitung sehr großer Datensätze ausgelegt.

Für eine sichere Verbindung von außerhalb auf dein Heimnetzwerk oder wenn du in unsicheren Umgebungen deine sichere Heimverbindung nutzen möchtest, dann, würde ich evtl. über eine Raspberry nachdenken. Als reiner VPN-Server reicht dieser Minicomputer auf jeden Fall und spart auch noch eine Menge Strom, im Gegensatz zu einem normalen Rechner oder Netzwerkgerät.Vorallem im 24/7 Betrieb ist das Teil hervorragend.

Dafür gibts im Internet sehr viele Tutorials, wie man aus einem Raspberry einen VPN-Server macht. In der Regel nutzt man dazu Raspbian, also Debian für Raspberry. Es gibt aber auch Arch-Derivate für den RasPi, wenn dir das lieber ist.

@d0m1ng0

Ist ja so geplant und dann als embedded System…der PI ist natürlich eine Alternative. Aber mit dem Intel-System hat man noch viel mehr Luft nach oben (event. wichtig, wenn zum VPN-Server und Home-Server, Firewall und Proxy für Webanwendungen zukünftig dabei kommen!), auch ist der Intel in Kombi mit entspr. Chipsatz die performantere Rechenmaschine bezugnehmend auf das AES. Gerade bei der LTE-Verbindung, die nicht nur schwächer als gedacht ist, sondern eventuell auch mal stark schwankend sein kann, braucht man schon ein sehr flottes AES, um die negativen Peaks besser kompensieren zu können!
Bei einem embedded Sys. sind die Stromkosten auch nicht mehr das Argument…
:wink:
Nicht falsch verstehen, ich mag den PI :rofl: