Ich habe einen virtuellen privaten Server, auf dem ich einen Webserver ausführen möchte, während mein Server mit einem VPN-Dienst verbunden ist
Wenn die VPN-Verbindung zu meinem Provider nicht funktioniert, kann ich mit diesem Server, ssh, scp, http usw. alles tun, was ich will.
Sobald der openvpn läuft und mit dem VPN-Dienst des Anbieters verbunden ist, ist der Server unter keinen Umständen und natürlich aus gutem Grund zugänglich
Das Bild sieht ungefähr so aus:
My VPS ------------
+----------------+ / \
| | / Internet / 101.11.12.13
| 50.1.2.3|-----------------\ cloud /----<--- me@myhome
| | / \
| 10.80.70.60| / \
+----------------+ \ \
: \_____________/
: :
: :
: :
: :
+------------------+ :
| 10.80.70.61 | :
| \ | :
| \ | :
| 175.41.42.43:1197|..............:
| 175.41.42.43:yy|
| ..... |
| 175.41.42.43:xx|
+------------------+
Legend
------ Line No VPN connection present
...... Line VPN connection established
Dinge zu klären:
- Alle IP-Adressen und Portnummern darüber und darunter sind fiktiv
- Die Zeilen mit den Portnummern xx, yy und irgendetwas dazwischen sind meine Annahme, nicht etwas, das ich für eine Tatsache kenne.
- Ich habe einen Cron-Job eingerichtet, der jede Minute einen anderen VPS pingt und Apache2 ausführt. In den Apache2-Protokollen kann ich sehen, dass sich die Ursprungs-IP-Adresse von 50.1.2.3 auf 175.41.42.43 ändert, wenn VPN aktiv ist, sodass VPN einwandfrei funktioniert
OpenVPN-Protokolle zeigen Folgendes:
UDPv4 link remote: [AF_INET]175.41.42.43:1197
[ProviderName] Peer Connection Initiated with [AF_INET]175.41.42.43:1197
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 local 10.80.70.60 peer 10.80.70.61
An dieser Stelle möchte ich in der Lage sein, von myhome
bis My VPS
in das Bild zu sshen , während das VPN aktiv ist und PuTTY verwendet.
In der Vergangenheit wurde mir an einem meiner Arbeitsplätze eine sehr seltsame Sequenz für den SSH-Vorgang auf einem äußerst sicheren Server mit drei @
Zeichen in der Zeichenfolge zugewiesen. Es sprang also von Box zu Box, wie ich es mir vorstelle, aber da auf den Jump-Boxen eine Version des Windows-Betriebssystems und eine proprietäre App ausgeführt wurden, war für mich nicht ersichtlich, was unter dem Strich vor sich ging. Also habe ich nicht viel aufgepasst. Jetzt beginne ich zu begreifen, dass ich mich möglicherweise in der gleichen oder einer ähnlichen Situation befinde.
Kann mir jemand anhand der IP-Adressen und Ports im Diagramm und / oder im Protokollausschnitt sagen, wie ich diesen Tunnel durchqueren und auf meinen Server zugreifen kann?
quelle
Das mag etwas spät sein, aber ...
Das Problem ist, dass das Standardgateway von OpenVPN geändert wird und die aktuelle SSH-Verbindung unterbrochen wird, es sei denn, Sie richten vor dem Start von OpenVPN entsprechende Routen ein.
Was folgt, funktioniert bei mir. Es benutzt iptables und ip (iproute2). Im Folgenden wird davon ausgegangen, dass die Standard-Gateway-Schnittstelle vor dem Start von OpenVPN "eth0" ist. Damit soll sichergestellt werden, dass beim Herstellen einer Verbindung zu eth0 die Antwortpakete für die Verbindung wieder auf eth0 zurückgehen, auch wenn eth0 nicht mehr die Standard-Gateway-Schnittstelle ist.
Sie können dieselbe Nummer für die Verbindungsmarke, die Firewallmarke und die Routingtabelle verwenden. Ich habe verschiedene Zahlen verwendet, um die Unterschiede zwischen ihnen deutlicher zu machen.
===
AKTUALISIEREN:
Das oben Genannte funktioniert gut für Debian Jessie. Aber auf einem älteren Wheezy-System habe ich gerade festgestellt, dass ich dem Routing-Tabelleneintrag "via" hinzufügen muss:
Dort muss "12.345.67.89" das ursprüngliche Nicht-VPN-Gateway sein.
quelle