Wie erreicht man Server hinter einem openVPN Netzwerk?


11.04.2020, 10:18

edit 01: hier der Log, den der openVPN Client erzeugt (xxx.xxx.xxx.xxx = externe IP)

https://pastebin.com/TEHV6gTT

installiert wurde alles hiermit:

https://github.com/angristan/openvpn-install

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Kommentiere hier nur, weil ich ebenfalls an Antworten interessiert bin.

Betreibe NAS mit FTP, dazu eine Image Gallery und Mailserver - ohne feste IPv4 habe ich es nicht zum laufen bekommen, Außenanfragen DSLite auf meinen Heimanschluss zu bekommen.

Abhilfe schaffte nur die Umstellung durch den DSL Anbieter von DSLite auf eigene IPv4. 1und1 macht das glücklicherweise anstandslos innerhalb eines netten Telefonats völlig kostenlos.

deruser1973 
Fragesteller
 11.04.2020, 10:08

Deutsche Glasfaser stellt sich da quer... hab ich schon mehrfach versucht...

0
floppydisk  11.04.2020, 10:21
@deruser1973

Übrigens wurde mir anstandslos IPv4 gegeben, weil ich dem Herrn am Telefon gesagt haben, dass ich auch DSLite nutzen würde, er mir aber eine Lösung für Außenzugriff geben muss. Es gab keine.

1
deruser1973 
Fragesteller
 11.04.2020, 10:21

Ich kann meine internen Server und IP Cams ja alle erreichen, über IPv6...

aber Ark Server laufen nicht über IPv6 und der Streamingserver macht das auch nicht richtig...

0
floppydisk  11.04.2020, 10:23
@deruser1973

Intern einen Server zu erreichen ist kein Problem, gleiches LAN. Von außen draufkommen ist aber eine andere Nummer. Der Hetzner Server hat vermutlich zig User drauf, kommt dort eine Anfrage für deinen Minecraft Server daheim an, weiss der nicht, an welchen Kunden er routen soll. So kann wahrscheinlich keine Lösung aussehen.

0
deruser1973 
Fragesteller
 11.04.2020, 10:29
@floppydisk

so sieht VPN aber aus...

Ein externer Server mit IPv4 verbindet sich mit dem Client, der darüber dann die IPv4 des Servers erreicht... oder seh ich das falsch... ?

0
floppydisk  11.04.2020, 10:35
@deruser1973

Umgedreht, du wählst dich quasi in das Netzwerk des Servers ein und nutzt es. Hätte der jetzt zb Netzwerkpfade freigegeben, die man nur mit interner IP sieht, würden bei dir diese Netzwerklaufwerke angezeigt. Das ist und Sinn und Zweck eines Firmen VPN.

Eine Anfrage, die auf der IP des Servers eingeht, hat aber nix mit deinem VPN zu tun. Das ist einfach nur eine Anfrage auf einen Port des Servers bei Hetzner und die wird nicht den Weg zu dir nach Hause finden.

0
deruser1973 
Fragesteller
 11.04.2020, 10:40
@floppydisk

Heisst das dann im Umkehrschluss vielleicht, dass ich den Client bei Hetzner installieren muss und der sich mit einem local hier bei mir gehosteten Server verbindet ? würde es dann gehen, dass ich mich über die von Hetzner bezogene IP erreichen kann ?

irgendwie muss es ja gehn, wie gesagt wie bei feste-ip.net, die schaffens ja auch mit VPN...

0
deruser1973 
Fragesteller
 29.08.2020, 08:50

Also, nach langem forschen und Suchen habe ich es doch endlich geschafft. Ich war auch schon nah dran...

Der Weg mittels VPN Server bei einem Hoster meiner Wahl (Hetzner momentan) ist der richtige...

Man setzt also in der Ferne einen VPN Server auf und konfiguriert ihn so, dass man sich verbinden kann...

Das verlinkte Script allein reicht.

Das was dann noch nötig ist, ist ein Portforwarding im VPN, was bisher leider niemand angesprochen hat...

Ein Prerouting des Ports von der externen IP auf die interne mit Angabe des Ports und des Protokolls

Und die eigentliche Portfreischaltung des Ports und Protokolls auf die interne IP...

Ich hänge die beiden Befehle noch an, sobald ich wieder am Rechner sitze..

Nur wem geb ich jetzt den Stern ? Echt schwierig, die Wahl..

0
deruser1973 
Fragesteller
 29.08.2020, 09:50
@deruser1973

die Commands auf Debian sind:

10.8.0.2 ist die Interne, durch den VPN Server vergebene, IP, die dem Client zugewiesen wird und worüber der, beispielsweise ARK Server, gehostet wird

sudo iptables -t nat -A PREROUTING -d [IP des VPN Servers] -p tcp --dport 25565 -j DNAT --to-dest 10.8.0.2:25565
sudo iptables -t filter -A INPUT -p tcp -d 10.8.0.2 --dport 25565 -j ACCEPT
0

Um mit dem Server im Internet zu Kommunizieren ,reicht es nicht aus eine IP vom ISP zugewiesen zu bekommen. Registriere dich bei DYNdns.org . Dort findest auch Anleitungen wie man die zugewiesenen Daten verwendet. Um also mit dem Server von Hetzner sich zu verbinden musst du auch im Internet sichtbar sein ,Weltweit.

Dies erreichst du mit DYNdns.org.

Wenn somit beide Stellen im Internet sichtbar sind können sie auch miteinander Kommunizieren ,vorausgesetzt es ist auch hier auf beiden Seiten dafür korrekt Konfiguriert.

Woher ich das weiß:Berufserfahrung
deruser1973 
Fragesteller
 17.04.2020, 01:17

dyn setzt mir doch nur einen Hostnamen auf meine IP... den brauche ich aber nicht zwingend... die IP reicht, aber erreichbar muss sie sein...

ich werde jetzt nochmals versuchen den VPN Server im heimischen Netz zu betreiben und von "aussen" per VPN Client zuverbinden... mit "aussen" ist die VPS bei Hetzner gemeint...

ich möchte also, wenn ein Spieler mit der IP von der VPS bei Hetzner verbindet, dass diese Daten über den Tunnel in mein Netzwerk gelangen und von dort den Gameserver erreichen...

Wie gesagt, es funktioniert, wenn man den VPN Dienst von Feste-IP.net:

https://www.feste-ip.net/

nutzt, aber ich will das selber machen um Kosten zu sparen...

0

Ein VPN ist nichts anderes wie ein LAN, aber eben mit entfernten Clienten. Innerhalb des VPN erreichst du jeden Client. Du schreibst hier von einer "externen" IP, aber das ist eben nur eine entfernte interne IP-Adresse.

Auch die 10.x.x.x ist eben wie die 192.168.x.x. nur ein privater LAN-Bereich.

deruser1973 
Fragesteller
 11.04.2020, 10:11

mag sein, dennoch brauche ich Hilfe, was ich einstellen muss, an den Gameservern...

den MC Server beispielsweise (der Einfachheit halber MC) erreiche ich über 127.0.0.1 und auch meine lokale IP 10.8.0.2...

Über die externe aber nicht... wie wenn der Port geschlossen wäre, aber laut IP Tables sollte alles offen sein...

ich habe übrigens dieses Script benutzt :

https://github.com/angristan/openvpn-install

0
floppydisk  11.04.2020, 10:29
@deruser1973

Selbst mit externer IPv4 würdest du ihn wahrscheinlich nicht erreichen. Erst einmal geht es los, dass der Server eine feste IP im Heim-Netzwerk bekommt und dann müssen die Ports forwarded werden. Also wenn am Router auf Port XYZ eine Anfrage reinkommt, muss die geroutet werden auf den Heimserver und dessen Port ZYX.

Problem ist, es kommen keine Anfragen an deinen Router rein. Sprichst du die DSLite IP von außen an - ob VPN oder nicht, landest du im Rechenzentrum des Providers, nicht bei dir daheim. Da du dir die IP mit verschiedenen anderen Glasfaser Nutzern teilst. Das ist das Problem. Woher soll der Verteiler beim Provider bei einer Anfrage wissen, an welchen Haushalt er es leiten soll? Geht nicht und da hab ich damals einen Hals gekriegt.

Dieses Problem habe ich monatelang versucht zu lösen, keine Chance außer IPv4 fest oder den gewünschten Serverdienst auf einem root oder vps von Hetzner, OVH und Konsorten zu installieren.

1
deruser1973 
Fragesteller
 11.04.2020, 10:35
@floppydisk

Ich spreche nicht die IP von DS Lite an, sondern die, die mir bei Hetzner (oder wo auch immer, is ja nur ne VM mit openVPN Server) gegeben wird... und die wird durch einen IPv6 Tunnel auf meinen Client getunnelt, der innerhalb meines Netzwerks läuft...

und das VPN intressiert mein Router nicht - das tunnelt durch... der Router dient bei IPv6 sowieso nur als Portblocker (Firewall) aber man muss keine IP freigeben, denn IPv6 geht direkt zum Server... jeder Server innerhalb des privaten Netztes, hat seine eigene IPv6... das ist ja das gute am IPv6... das muss sich nur erstmal durchsetzen - wegen mir kann man heute noch IPv4 abschalten, denn IPv6 ist VIEL einfacher....

0
Jaridien  11.04.2020, 12:00
@deruser1973

Du braucht eine öffentliche IP-Adresse, die auf den (interne) Server-IP umgeleitet werden kann. Dies wird in der Regel in einem Router gemacht, eventuell kann das in deiner VM ja auch so eingestellt werden. Ohne diese öffentlicher IP-Adresse ist dein VPN gar nicht mit dem Internet (v4) verbunden.

Wenn dir diese öffentliche IP bekannt ist, musst du dann einen Port auf den interem Server-IP weiterleiten.

0
deruser1973 
Fragesteller
 11.04.2020, 12:10
@Jaridien

ja, das hab ich ja alles...

nur die Frage, wo steht Server und wo Client...

und, kann der Client / Server einfach so, offen rumstehn und durch den Tunnel die IPv4 Packete weiterleiten, die meine Gameserver benötigen ?

Wie siht der Gameserver den Tunnel ? Muss ich den angeben ?

0

Das Log sieht doch nach erfolgreicher Verbindung aus? Ich kann da nur success aber kein fail* oder err* entdecken.

Die Gegenstelle muss sich dann ebenfalls mit einem Proxy verbinden, der den clientseitigen Eingang des VPN-Tunnels darstellt. Dafür braucht dieser Proxy natürlich die IPv6-Adresse des serverseitigen Proxys.

deruser1973 
Fragesteller
 11.04.2020, 10:56

hmm. die Spieler sollen sich doch aber mit der IP verbinden, die der Server bei Hetzner hat... und diese Verbindung tunnelt dann über IPv6 zu mir...

der Tunnel steht ja, das besagt das Protokoll...

nur wie verbinde ich den Client bei mir mit dem Server, der auch auf dem selben PC läuft, wie der VPN Client...

MC Server horcht auf 0.0.0.0, VPN Client IP ist 10.8.0.2 Interne IP von mir ist 192.168.2.162

von aussen soll man mit der IP draufkommen, die der VPN Server hat (bei Hetzner)

oder lieg ich da kompett falsch...

0
PWolff  11.04.2020, 11:16
@deruser1973

Ein VPN ist ein Virtual Private Network - d. h. die Computer an den Enden des Tunnels sehen nur das LAN, nicht aber das tatsächliche Netzwerk, welches das VPN durchtunnelt. Nur die Proxies an den Tunnelausgängen sehen das WAN, das durchtunnelte Netzwerk.

Entweder konfigurierst du die Proxy-Einstellungen des Webclients oder du gibst einen URL dieser Form an:

[Proxyserver-Protokoll]://[Proxy-Server]/[Weiterleitungs-Script]?url=[Dienstserver-Protokoll]%3A%2F%2F[Dienst-Server_im_VPN]%2F[Dienst-Applikation]

wobei %3A und %2F die URL-"Maskierungen" für : und / sind (und die Ausdrücke in eckigen Klammern natürlich entsprechend ersetzt werden müssen).

0
deruser1973 
Fragesteller
 11.04.2020, 11:31
@PWolff

Mir geht es nicht um Webserver - ich will Gameserver hosten - über IPv4, denn diese sind nicht IPv6 fähig....

und ich Tunnele mit die IPv4 über IPv6 zu mir nach Hause...

das geht, sowie man es bei Goole findet - ohne Proxy, denn

https://www.feste-ip.net/

macht es auch...

0
PWolff  11.04.2020, 11:45
@deruser1973

Du sagtest doch, dass du nach außen nur eine IPv6-Adresse hast, der Dienstserver (muss ja kein Server für Webseiten sein, kann irgendein Dienst sein, auch ein Spiel) aber nur über IPv4 erreichbar ist.

Du müsstest also eine der - knappen - IPv4-Adressen mieten.

0
deruser1973 
Fragesteller
 11.04.2020, 12:10
@PWolff

die miete ich mittels der VM bei Hetzner... das mache ich ja schon... und die soll getunnelt zu mir kommen... per VPN...

0
PWolff  11.04.2020, 12:16
@deruser1973

Serverseitig erhältst du ja nach deinem hochgeladenen Log eine Erfolgsmeldung.

Clientseitig musst du dann so vorgehen, wie es bei deinem Provider beschrieben ist.

0
deruser1973 
Fragesteller
 11.04.2020, 21:17
@PWolff

Bei meinem Provider ist nichts beschrieben - die haben selbst keinen Plan von ihrer Technik... der schlechteste Service neben Host Unlimited ;)

aber sie haben gute Leitungen - aber man muss alles selbst machen...

0