Wie routen Sie alle Verbindungen von einem Computer (Linux) über ein VPN auf einem anderen (Windows) auf VMWare ESXi?

590
NictraSavios

Ich habe ein besonderes Problem, bei dem eine Software nur unter Linux ausgeführt werden kann, aber über einen VPN-Client, der nur unter Windows ausgeführt werden kann, eine Verbindung zu einem Remote-Server herstellen muss.

Ich gehe davon aus, dass ich mit physischer Hardware nur ein Ethernet-Kabel zwischen der Linux-Box und der Windows-Box und ein zweites von der Windows-Box zum Router verlegen kann. (Keine Ahnung, ob das funktionieren würde, aber es hört sich so an, als sollte es funktionieren).

Wie kann ich dies auf einem VMWare ESXi-Hypervisor mit zwei virtuellen Maschinen erreichen?

Ich habe ein paar Artikel gefunden, die mir zwar helfen können, aber etwas Sachkenntnis in dieser Angelegenheit wünschen.

0
Welcher VPN-Client kann nur unter Windows laufen? harrymc vor 6 Jahren 0
@ harrymc Barracuda, PulseSecure und ein anderes, an das ich mich nicht mehr aus meinem Kopf erinnern kann. Wenn sie Linux-Clients haben, werden sie vom Client nicht zur Verfügung gestellt. So können Sie Fortinet und Sonic Wall auch in ihr werfen. Verschiedene Clients geben mir unterschiedliche VPNs, aber die Software, die ich für meine Arbeit benutze, funktioniert nur unter Linux. Also bin ich gezwungen, in diese Einrichtung zu gehen. NictraSavios vor 6 Jahren 0
Fast alle VPNs haben Linux-Clients. Zum Beispiel [barracuda] (https://campus.barracuda.com/product/networkaccessclient/doc/46206563/installing-the-barracuda-vpn-client-for-linux-and-openbsd/). Wäre das nicht einfacher? harrymc vor 6 Jahren 0
Wie gesagt, ich bekomme normalerweise keine Linux-Versionen. Ich bekomme sie nicht zur Verfügung gestellt, und manchmal liegen die Downloads hinter Paywalls. Selbst wenn ich sie alle abholen würde, wäre jedes Verbindungsproblem mit der Arbeit eine Belastung. Es wäre nicht auf dem Client, weil ich ihre Anweisungen nicht befolgt habe. NictraSavios vor 6 Jahren 0
Aber ja, es wäre einfacher. Vertrauen Sie mir, ich würde das nicht fragen, wenn ich nicht jede einfache Lösung ausprobieren würde, die ich mir vorstellen könnte. NictraSavios vor 6 Jahren 0
Ich bin nicht sicher, dass es viele kostenpflichtige VPN-Clients für Linux gibt. Und selbst dann hat der Kunde für das Produkt bezahlt und so kann man den Linux-Client bekommen. Ich gehe in diese Richtung, weil große Unternehmen meiner Erfahrung nach die schlechte Angewohnheit haben, ihr VPN obligatorisch zu machen, so dass die verbundene VM vom Hostnetzwerk getrennt wird und Anforderungen nicht weitergeleitet werden können. Zum Glück kann keine Firewall den Desktop der VM von VMWare trennen . harrymc vor 6 Jahren 0
Es besteht die wilde Möglichkeit, einen eingebetteten Hypervisor zu verwenden, im Sinne einer Windows-VM, die selbst eine Linux-VM ausführt. Es wird jedoch viel einfacher sein, eine physische Windows-Maschine mit der Linux-VM zu betreiben, als umgekehrt. Dies funktioniert auch im Falle eines obligatorischen VPN. harrymc vor 6 Jahren 0
Was mich ein paar tausend für einen neuen Server kosten würde, tausend für ein Flugticket in die Stadt, in der sich mein DC befindet, die Probleme mit einer nackten Metall-Windows-Maschine in meinem DC usw. Sie haben Recht und ich ' Zu dieser Lösung bin ich schon früher gekommen. Es ist alles andere als ideal. Für die Zwecke der Frage können Sie davon ausgehen, dass die VPNs nicht obligatorisch sind. NictraSavios vor 6 Jahren 0
Sie haben auch Recht, der Client könnte mir den Linux-Client besorgen. Aber sie werden * nicht * oder ... wissen nicht wie. Ja, ich weiß, dass es einfach zu einer Website geht und einen Download-Button drückt. NictraSavios vor 6 Jahren 0

2 Antworten auf die Frage

1
harrymc

Die Situation, auf die das Poster stößt, ist die Anforderung, über VPN mit mehreren Clients verbunden zu sein. Er erhält die VPN-Software von den Clients, Software, die fast immer für die Verwendung unter Windows vorgesehen ist. Leider wurde sein Programm geschrieben und läuft unter Linux.

Die vom Postfach angeforderte Lösung besteht darin, eine Windows-VM als Router für das VPN zu verwenden. Führen Sie den VPN-Client unter Windows aus und stellen Sie eine Verbindung vom Linux-Host her her.

Diese Lösung funktioniert nicht in allen Fällen, da viele Unternehmen die Gewohnheit haben, ihr VPN obligatorisch zu machen, sodass die verbundene VM vom Hostnetzwerk isoliert wird und Anforderungen nicht weiterleiten kann. (Glücklicherweise kann keine Firewall den Desktop der VM von VMWare trennen, die auf dem Host ausgeführt wird.)

Eine mögliche Lösung ist die Verwendung eines Linux-Clients für das VPN. Die meisten VPN-Clients für Linux sind kostenlos, aber selbst wenn nicht, hat der Client für das Produkt bezahlt und kann Ihnen den Linux-Client beschaffen, wenn Sie wirklich darauf bestehen. Dies ist bei weitem die einfachste Lösung.

Eine zweite Lösung besteht darin, die Architektur zu invertieren. Ich schlage vor, einen Windows-Computer zu installieren und die verschiedenen VPN-Clients darauf zu installieren. Das Linux-Programm kann dann in einer Linux-VM installiert werden, die das Netzwerk des Hosts verwendet. Diese Lösung funktioniert auch für ein obligatorisches VPN.

Eine dritte Lösung beruht auf der Tatsache, dass moderne Hypervisoren jetzt eingebettete Hypervisoren unterstützen, einen Hypervisor, der in einer virtuellen Maschine ausgeführt wird. Diese Architektur ist ein wenig weit hergeholt und erfordert, dass Ihr Linux eine Windows-VM hostet und der eingebettete Hypervisor eine Embedded-Linux-VM mit Ihrem Produkt ausführt. Diese Lösung funktioniert auch für ein obligatorisches VPN. Sie müssen jedoch die Vorteile gegenüber den Nachteilen abwägen. Möglicherweise müssen Sie ein anderes VMWare-Produkt als das derzeit verwendete verwenden. Ich gebe zu, nicht zu wissen, ob diese Lösung wirklich machbar ist.

Ich habe bereits an diese Lösung gedacht, und es war meine "zweitbeste", wenn ich es nicht schaffen konnte. Es hat leider viele Probleme, aber wenn es die einzige Lösung ist - dann soll es so sein. Ich kann das nicht als richtig kennzeichnen, da es die Frage, die ich frage, nicht löst und aus vielen Gründen für meine Situation nicht funktioniert. (Das Wenigste ist, dass mehrere Linux-Maschinen, die bereits vorhanden sind, diesen Windows-Host durchlaufen müssen.) Wenn Sie jedoch wissen, wie die Frage tatsächlich zu lösen ist, wäre ich dankbar. NictraSavios vor 6 Jahren 0
Hmm. Möglicherweise ist es möglich, einen Windows-Host, eine Linux-VM darüber zu verwenden, die wie ein Router funktioniert, und die VMs auf VMware darüber zu routen? NictraSavios vor 6 Jahren 0
Ich habe in meine Antwort alle Lösungen aufgenommen, die ich für das Problem sehe, das das obligatorische VPN berücksichtigt. harrymc vor 6 Jahren 0
Alles klar, danke. Meine Frage wird immer noch nicht gelöst, aber es gibt mir Alternativen, wenn keine Lösung präsentiert wird. NictraSavios vor 6 Jahren 0
Bei aller Fairness denke ich, dass Sie vielleicht einem nicht existierenden Problem nachjagen. Es ist sehr wahrscheinlich, dass der standardmäßige OpenVPN-Client unter Linux mit vielen (wenn nicht allen) Ihrer VPNs funktioniert. Moderne Router, die VPN unterstützen, können mit fast jedem VPN-Server der Welt verbunden werden und basieren fast alle auf Linux. VPN ist immerhin ein bekannter Standard. Sie haben Ihre Haustierlösung definiert, für deren Implementierung möglicherweise viel Arbeit erforderlich ist, die sich jedoch letztendlich als unbrauchbar erweisen kann. Ich habe versucht, Ihr zugrundeliegendes Problem zu behandeln und nicht Ihre Lösung dafür. harrymc vor 6 Jahren 0
Mein bestehendes Problem besteht darin, dass in jedem einzelnen Unternehmen, das ich bediene, ein RDP für einen Server erforderlich ist, da mein Programm nicht über seine VPNs arbeiten kann. Nein, ihre VPNs funktionieren nicht über openVPN. Sie verwenden manchmal keine moderne Hardware, und wenn etwas schief geht und ich nicht die Software verwende, die sie mir geschickt haben, mit der Konfiguration, die sie mir geschickt haben, dann verliere ich den Vertrag und das Geld. NictraSavios vor 6 Jahren 0
Sie können auch versuchen, den Windows VPN-Client direkt unter Linux auszuführen, indem Sie [Wine] (https://wiki.winehq.org/Main_Page) verwenden, ein Standard-Linux-Paket. harrymc vor 6 Jahren 0
1
apocalysque

Ich stimme zu, dass dies eine schlechte Idee ist, Sie scheinen überzeugt zu sein, dass es die beste Lösung für Ihre Umstände ist. Ich persönlich würde mit dem Sammeln aller verschiedenen VPN-Clients gehen. Nachdem das gesagt worden ist...

Zunächst müssen Sie das Routing und den Fernzugriff auf dem Windows-Computer aktivieren, auf dem der VPN-Client ausgeführt wird. Der Link zum Konfigurieren der LAN-Zählung sollte Sie zu diesem Punkt bringen.

Dann müssen Sie eine Route konfigurieren, die den Verkehr für Ihre VPN-Netzwerke / Hosts über die vorgesehene Schnittstelle (den VPN-Adapter) leitet. Wenn Sie nicht wissen, welchen Verkehr Sie verwenden, können Sie eine Standardroute verwenden, über die der gesamte Verkehr geleitet wird. Wenn Sie dies in Ihrer Windows-Box konfiguriert haben, müssen Sie die Standard-Gateway-Adresse in der Linux-Box als IP-Adresse für den LAN-Adapter in der Windows-Box festlegen.

Sie können zwar das Routing unter Windows über die Befehlszeile konfigurieren, es ist jedoch möglicherweise etwas einfacher, mit einem GUI-Tool wie Nirsoft NetRouteView zu beginnen:

https://www.nirsoft.net/utils/network_route_view.html

Stellen Sie sicher, dass Sie dies als Administrator ausführen, andernfalls werden Sie Kopfschmerzen bekommen;) Sie können vorhandene Routen anzeigen / bearbeiten / löschen und neue Routen erstellen. Wenn Sie als FYI mehr als eine Standardroute (0.0.0.0) haben, ist die Route mit der niedrigsten Metrik die Route, die Priorität hat. Möglicherweise müssen Sie die Metriken Ihrer Routen entsprechend anpassen.

Wenn dies ein häufig verwendetes / permanentes Setup ist, können Sie die Linux-Box unverändert lassen und zusätzliche Routen in der Windows-Box hinzufügen, um den Verkehr mit verschiedenen VPN-Tunneln zu verarbeiten. Wenn Sie Ihre Routen "persistent" machen, werden sie durch einen Neustart gespeichert. Nicht persistente Routen gehen verloren, wenn der Computer neu gestartet wird. Sie können auch den Adapter (Interface) für die Routen angeben, wenn Sie diese konfigurieren. Sie können beispielsweise Routen für VPN-A und VPN-B konfigurieren. Wenn VPN-A eine Verbindung herstellt und VPN-B nicht, wird die Route für VPN-B im Wesentlichen ignoriert und der Verkehr wird über VPN-A geleitet.

Von dort aus kann ich Linux einfach sagen, es als Gateway zu verwenden. Genial! NictraSavios vor 6 Jahren 0
Oh, und der Grund, warum ich die Clients sammle, ist nicht meine Lösung, denn wenn mir ein Client jemals ein VPN gibt, das definitiv keinen Linux-Client hat, bin ich vermasselt. Wenn ein Client sich jemals weigert, mir seinen Linux-Client zu geben, und ich ihn selbst nicht bekommen kann, bin ich vermasselt. NictraSavios vor 6 Jahren 0
Hey Mann, ich bin nicht hier, um zu urteilen. Wir haben alle unsere Probleme und ich bin mir voll bewusst, dass die Umstände oftmals außerhalb unserer Kontrolle liegen. Viel Glück mit Ihrem Setup und wenn Sie mehr Hilfe benötigen, schießen Sie mir eine Uhr. apocalysque vor 6 Jahren 0