2 Rechner über das Internet verbinden ???

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

2 Rechner über das Internet verbinden ???

Beitrag von tft »

Hallo,

ich komme hier sicher mit einer völlig unausgegorenen Frage.
Bevor es überall Router gab. Konnte man sich recht einfach mit Rechnern im Internet verbinden. Heute jedoch steckt fast jeder Rechner in einem Home Netzwerk hinter einem Router.
Wie kann ich also 2 Rechner verbinden???.
Als daten stehen mir die IP innerhalb des Home Netzwekes zur Verfügung, und die IP des Routers im Netz. Sowie die Port Adressen. Wenn ich einen Server auf Rechner A erstelle.
und Ihn vom Rechner B aus erreichen will. Reichen das scheinbar nicht. Aber der Router bei Rechner A lässt keine Daten durch. Wenn ich einen Dritten rechner als Server benutze und Rechner A und B als Clients
Dann geht das eigentlich recht einfach. Beide Clients melden sich beim Server. Und dieser routet die Daten weiter. Ich möchte aber beide Rechner direkt verbinden.
Hat jemand sowas schon gemacht?
Bei BlizBasic gabs damals einen Conekt Server. Der das Verbinden irgendwie übernommen hat.
Ich habe auch gehört und gelesen das es sowas wie eine Peer to Peer verbindung gibt. Aber ich habe noch nirgends eine funktionierende Aplikation gesehen.

Helfr bitte einem alten Mann auf die Sprünge

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
mk-soft
Beiträge: 3902
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: 2 Rechner über das Internet verbinden ???

Beitrag von mk-soft »

1.
Das einfachste ist den VPN Dienst von deinen Router zu verwenden.
(Eventuell ist ein extern DNS Dienst erforderlich, da sich die öffentliche IP-Adresse des Routers ändert. Mache Router Hersteller bieten den Dienst selber an)
Dazu muss aber den lokalen Netzen unterschiedliche IP-Kreise verwendet werden,
sonst funktionier das Routing nicht.

Zum Beispiel:
Netz A: 192.168.178.0 (Standard Fritzbox)
Netz B: 192.168.170.0 (Angepasst)

2.
- Externer DNS Dienst
- Port Forwarding im Router auf deinen lokalen Rechner
- Server-Client Lösung mit Purebasic selber schreiben.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8837
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: 2 Rechner über das Internet verbinden ???

Beitrag von NicTheQuick »

Peer-2-Peer ist ja nicht anderes als eine Direktverbindung zwischen zwei Programmen. Dazu müssen aber eben die Voraussetzungen erfüllt sein. Sprich, im Router muss Portforwarding aktiviert sein und entsprechend eingerichtet sein. Damit man nicht mehr manuell in seinem Router eine solche Regel einrichten musste, gab es später UPnP. Das haben damals glaube ich eMule, Kazaa, Torrents und Co benutzt. Das funktioniert aber auch nicht mit jedem Router und man braucht man glaube ich auch die Zugangsdaten zum Router, um mit ihm kommunizieren zu können.

Ich glaube außerdem nicht, dass BlitzBasic das konnte. Da hast du sicherlich etwas falsch in Erinnerung. Erstens ist es ein generelles Sicherheitskonzept in Heimnetzwerken, dass die Ports jedes einzelnen Rechners im Netz nicht nach außen geöffnet sind. Und zweitens weiß der Router ohne Anweisung ja auch gar nicht zu welchem Rechner, der an ihm angeschlossen ist, er welchen Port weiterleiten soll.

Fazit ist jedenfalls: Du kannst nicht einfach eine Peer-2-Peer-Verbindung aufbauen, nur weil du alle IP-Adressen weißt. Du musst definitiv auf der Seite, die den Server spielt, auch eine Regel im Router festlegen. Dass muss im Idealfall einmal gemacht werden, wenn der Port eh immer gleich bleibt. Aber bedenke auch, dass deine Serveranwendung auch sauber programmiert sein sollte, da ein offener port nach außen immer eine Angriffsfläche bietet. Es ist zwar unwahrscheinlich, dass ein unbekannter home-grown Server angegriffen wird, aber man muss ja kein Risiko eingehen. Außerdem sind Daten, die über diese Weise übertragen werden, nicht verschlüsselt. Möchtest du also noch eine Schippe drauflegen und Sicherheit haben, dann ist vielleicht ein VPN die bessere Alternative, wenn du nicht gerade selbst eine TLS-Verbindung darüberlegen willst, was mit den Hausmitteln von Purebasic sowieso nicht möglich ist.
Benutzeravatar
dige
Beiträge: 1247
Registriert: 08.09.2004 08:53

Re: 2 Rechner über das Internet verbinden ???

Beitrag von dige »

Wie mk-soft schon schrieb, einfach einen vpn tunnel verwenden. Schau dir mal dazu Ngrok an.
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten