2 Rechner über das Internet verbinden ???

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
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 , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
mk-soft
Beiträge: 3701
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: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

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.
Bild
Benutzeravatar
dige
Beiträge: 1183
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, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Antworten