Ist es möglich, zwei verschiedene VPN-Verbindungen gleichzeitig auf demselben Computer zu haben? vielleicht auf verschiedenen Netzwerkschnittstellen?

Ich richte an meinem neuen Arbeitsplatz einen neuen Cluster ein und verwalte immer noch einen anderen Cluster an meinem letzten Arbeitsplatz. Grundsätzlich "kopiere" ich die Konfiguration der ersten, um die neue einzurichten.

Jetzt bin ich zu Hause und möchte beide VPN-Verbindungen gleichzeitig anstelle von nacheinander verwenden, um gleichzeitig auf beide Cluster zuzugreifen Zeit. Meiner Meinung nach ist das nicht möglich, aber vielleicht hat jemand eine Idee?

Eine VPN-Verbindung verwendet OpenVPN und die zweite verwendet CISCO-VPN-client. Oder ist es vielleicht möglich, mit Routenregeln zu spielen, um das zu erhalten? Ich bin nicht sehr erfahren in der Vernetzung.

Ich versuche, route -n zu verwenden, um die Regeln für die verschiedenen Unterschnittstellen neu zu definieren. Folgendes erhalte ich, wenn kein VPN aktiv ist:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.1.0.1        0.0.0.0         UG    0      0        0 eth0
10.1.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0

Wenn ich nun das cisco VPN (VPN1) einschalte:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.xxx.xxx.117 0.0.0.0         UG    0      0        0 cscotun0
10.1.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
xxx.xxx.xxx.0   0.0.0.0         255.255.255.0   U     0      0        0 cscotun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.yy.yy.22    10.1.0.1        255.255.255.255 UGH   0      0        0 eth0

Wenn ich swicth auf dem OpenVPN (VPN2):

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.1.0.1      0.0.0.0         UG    0      0        0 eth0
10.1.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.1.0     192.168.2.17    255.255.255.0   UG    0      0        0 tun0
192.168.2.17    0.0.0.0         255.255.255.255 UH    0      0        0 tun0
zzz.zzz.zz.zz   10.1.0.1        255.255.255.255 UGH   0      0        0 eth0

Und nun, wenn ich beide einschalte (erstes vpn2 und dann vpn1"):

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.xxx.xxx.117 0.0.0.0         UG    0      0        0 cscotun0
10.1.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
xxx.xxx.xxx.0   0.0.0.0         255.255.255.0   U     0      0        0 cscotun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.yy.yy.22    10.1.0.1        255.255.255.255 UGH   0      0        0 eth0
192.168.2.17    0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Idealerweise sollte die gesamte Anforderung für xxx.xxx.xxx.0 so ausgeführt werden, als ob nur VPN1 aktiv ist (cscotun0) und alle Anforderungen für 192.168.2.0 192.168.2.17 (tun0) und die andere über eth0 ...

Ich bin nicht an Routing gewöhnt und würde mich über jede Hilfe freuen.

BEARBEITEN: inspiriert von den Antworten versuche ich mit dem Befehl route zu spielen, um meine Konfiguration korrekt einzurichten.

Um klarer zu sein, habe ich die obigen Routentabellen bearbeitet, um sie widerzuspiegeln das Ergebnis des Befehls route -n, der informativer ist. Ich habe auch meinen Heimrouter so geändert, dass ich 10.1.0.0 nm 255.255.255.0 IP-Adressen zu Hause habe.

Wenn ich gut verstehe, wenn nur VPN2 (tun0) aktiv ist, verwendet es das Defalut-Gateway meines Hauses (10.1.0.1) und definiert einige neue Routen.]}

192.168.1.0   192.168.2.17 -> this says "everything for 192.162.1.0 network (vpn2 network), then pass through official gateway 192.168.2.17 "
192.168.2.17  0.0.0.0 -> this says "everything for host 192.168.2.17, goes to default gateway  (0.0.0.0) " , which is currently pointing to my home rooter"
zzz.zzz.zz.zz 10.1.0.1 -> this says "everything for zzz.zzz.zz.zz . pass through my home router (10.1.0.1)

Wenn ich VPN1 allein einschalte, überschreibt es das Standardgateway mit seinem eigenen (xxx. xxx.xxx.53) und alles wird darauf umgeleitet. Dies ist auch, warum ich nicht sehen kann, meine heimnetzwerk btw (wenn ich recht habe).

Jetzt sehe ich, dass beim Einschalten beider VPN das Standardgateway zu dem von VPN1 (xxx.xxx.xxx.53) umgeleitet wird und ich frage: Wie kann ich Regeln einrichten, damit:

  • alles für 198.162.1.0 geht durch 198.162.2.17
  • Dinge für 198.162.2.17 passieren 10.1.0.1
  • dinge für xxx. xxx. xxx. 0 passieren xxx. xxx.xxx. 117
  • Dinge für 10.1.0.0 gehen an 10.1.0.1

Ich habe versucht um mit route add und route del zu spielen, aber ich versuche mehr oder weniger, Dinge durch Versuch und Irrtum zu tun, und ich würde besser verstehen, was ich tun soll und ob die Regeln, die ich hier anwenden möchte, richtig oder im Grunde dumm sind...

EDIT 2: Auf Vorschlag von MariusMatutiae hänge ich hier das Ergebnis von ifconfig an, wenn beide VPN eingeschaltet sind:

cscotun0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:xxx.xxx.xxx.117  P-t-P:xxx.xxx.xxx.117  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1380  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:4007 (4.0 KB)  TX bytes:3789 (3.7 KB)

eth0      Link encap:Ethernet  HWaddr 00:21:cc:6b:3e:ae  
          inet addr:10.1.0.226  Bcast:10.1.0.255  Mask:255.255.255.0
          inet6 addr: fe80::221:ccff:fe6b:3eae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28245 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29039 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14287030 (14.2 MB)  TX bytes:5521200 (5.5 MB)
          Interrupt:20 Memory:f3a00000-f3a20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9928 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9928 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4962141 (4.9 MB)  TX bytes:4962141 (4.9 MB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:192.168.2.18  P-t-P:192.168.2.17  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:719 errors:0 dropped:0 overruns:0 frame:0
          TX packets:764 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:103523 (103.5 KB)  TX bytes:56000 (56.0 KB)

EDIT 3:

Descritpion dessen, was nicht funktioniert: Nachdem ich beide VPN eingeschaltet habe, kann ich VPN tun0 nicht erreichen; und wenn ich es versuche zu ping etwas außerhalb von xxx. xxx.xxx .0 bekomme ich ping: sendmsg: Operation not permitted.

Idealerweise möchte ich auf beide VPN zugreifen (wenn das DNS für VNP-Netze nicht funktioniert, kann ich es mit direkter IP verwalten, kein Problem) und idealerweise auch auf Zugriff auf mein lokales LAN...

Leider bin ich nicht genug ein iptables Experte zu unrestand, wie ich tun soll.

Danke im Voraus

Author: Danduk82, 2014-01-30

3 answers

Sie können sicherlich mehrere VPNs gleichzeitig verwenden. Das Hauptproblem bei der Anordnung besteht darin, sicherzustellen, dass die Routingtabelle korrekt ist, da alle VPNs versuchen, sie zu ändern, ohne davon auszugehen, dass mehr VPNs dasselbe tun.

Ihr Szenario ist sehr einfach, da Sie im Grunde VPNs verwenden, um auf Remote-LANs zuzugreifen, nicht um Ihren gesamten Datenverkehr umzuleiten. Die letzte Konfiguration hätte eine komplexere Einrichtung erfordert, aber in Ihrem Fall können wir mit viel weniger davonkommen Arbeit.

A Voraussetzung damit dies funktioniert, ist, dass alle Subnetze unterschiedlich sind: Ihr Zuhause und Ihre beiden Arbeitsplätze.

Angenommen, Sie haben dies bereits arrangiert, müssen Sie sicherstellen, dass Ihre Clientkonfigurationsdatei für OpenVPN nicht die folgende Anweisung enthält

    redirect-gateway def1

Und dass die Serverkonfigurationsdatei nicht die folgende Anweisung enthält:

   push "redirect-gateway def1 bypass-dhcp"

Da Sie nur daran interessiert sind, mit zwei VPNs zu arbeiten, dies löst bereits Ihr Problem, denn selbst wenn das andere VPN die Standardroute ergreift, befindet sich eine einzige Standardroute in Ihrer Routingtabelle, und Sie sind fertig.

Cisco VPN greift jedoch standardmäßig nicht auf die Standardroute zurück. Also solltest du in Ordnung sein. Stellen Sie zum Überprüfen sicher, dass die Ausgabe von route-n einige Zeilen wie die folgenden enthält:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.73.1    0.0.0.0         UG    0      0        0 eth0

Wobei 192.168.73.1 Ihr Standardrouter zu Hause ist (ändern Sie nach Bedarf, wenn Ihr Router nicht 192.168.73.1 ist).

Dieses Problem hätte viel mehr Spaß gemacht, wenn Sie den gesamten Datenverkehr durch beide VPNs gleichzeitig umleiten wollten (ja, es kann getan werden).

Bearbeiten:

Sie können OpenVPN sicherlich auch auf verschiedenen Netzwerkschnittstellen verwenden, wenn Sie möchten. Als Beispiel können Sie eine virtuelle Schnittstelle basierend auf Ihrer Ethernet-Karte wie folgt aufrufen:

   ip link add link eth0 mac0 address 56:61:4f:7c:77:db type macvlan
   ip link set mac0 up
   dhclient mac0

Und nun die IP-Adresse der virtuellen Schnittstelle mac0 mit

   ip addr show

Und Dann in ihre openvpn Client-Konfigurationsdatei, können Sie die Anweisung

   local IP_address_of_mac0

Und wenn Sie eine Verbindung zu Ihrem OpenVPN-Server herstellen, ist die Verbindung nur an die Schnittstelle mac0 gebunden. Um dann auf das Remote-LAN zuzugreifen, müssen Sie daran denken, alle Anwendungen an dieselbe Schnittstelle mac0 und an deren IP-Adresse zu binden. Um beispielsweise über ssh auf diese Weise auf einen PC zuzugreifen, müssen Sie sagen:

  ssh -b IP_address_of_mac0 user@remote_LAN_pc

Und so weiter. Für ping sollten Sie verwenden Sie

   ping -i IP_address_of_mac0 remote_LAN_pc
 10
Author: MariusMatutiae,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-02-01 13:27:06

Es ist durchaus möglich, mehrere VPNs gleichzeitig auszuführen.

Ich sehe ein paar Probleme mit Ihrem setup -

Je nachdem, was Sie versuchen, sollten Sie sicherstellen, dass der VPN-Server keine Standardroute veröffentlicht (oder eine niedrigere Metrik für die richtige Route ignoriert oder verwendet). Ansonsten haben Sie VPN versucht, durch einander zu routen und zu brechen. Dies bedeutet natürlich, dass Sie VPN verwenden, um nur bestimmte Netzwerke/Routen zu erreichen

Die zweite Ausgabe können Sie have (beachten Sie die doppelten 192.168.1.0-Netzwerke mit der Netzmaske 255.255.255.0) scheint zu sein, dass sich beide Netzwerke, die Sie erreichen möchten, bei 192.168.1 befinden.x. Dies ist ein Problem, da der Kernel nicht weiß, auf welchen Sie sich auch beziehen. Die richtige Lösung besteht darin, eines der Netzwerke neu zu nummerieren, sodass es sich in einem anderen Netzwerkblock befindet. (Es kann schreckliche, schreckliche, schreckliche Hacks geben, die Sie mit iptables und Hosts-Dateien und anderen Tricks ausführen können, um dies auf Ihrem System zu emulieren, aber es ist hochspezialisiert, zerbrechlich und nicht empfohlen).

BTW, bei der Herstellung von routentabellen, seine in der Regel besser, verwenden Sie die "-n" - Schalter, so dass Sie show IP ist eher dann versuchen zu beheben die Maschine Namen - Maschine-Namen bedeuten nichts für uns !!!

 2
Author: davidgo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-01-31 00:06:15

Was ist, wenn Sie einfach eine W7-VM in VirtualBox einrichten und das 2. VPN verwenden und dann die bidirektionale Ordnerfreigabe zwischen Host und Gast verwenden? Einfachheit. :)

 0
Author: OxygenIT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-06-22 22:54:19