Synapse: NAT
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Synapse: NAT
Wenn ich mich lokal über 127.0.0.1 mit einem TCPClient zu einem TCPServer verbinde, klappt alles. Nehme ich die Internet-Adresse meines Routers (DSL-Modem), dann kommt nichts an. Das kann ich beheben, indem ich dem Router unter NAT sage, dass der Port 5000 an die Adresse 192.168.2.101 weiter geleitet werden soll. Wie kann ich diese Eingabe vermeiden. Ist das der HTTP-Tunnel?
- af0815
- Lazarusforum e. V.
- Beiträge: 6827
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Synapse: NAT
Es ist im Wesen von NAT, das man sagen muß, welches Endgerät für den Port zuständig ist.
Abhilfen:
*) Man routet und verwendet kein NAT (Setzt Adressen voraus).
*) Man setzt den Rechner als DMZ ein (keine gute Lösung - wenn NAT auch ein bischen Firewall spielen soll)
Bei einem Tunnel (der nicht vom Router verwaltet wird) musst du trotzdem das NAT konfigurieren, denn sonst ist der Tunnelendpunkt wieder nicht von aussen erreichbar. Damit sind wir wieder - siehe oben.
Mein Vorschlag:
Nimm im Router für die 'erreichbaren' Rechner reservierte (oder fixe) Adressen und trage NAT Bereiche im Router ein. Dann hat man die Arbeit nur einmalig.
Abhilfen:
*) Man routet und verwendet kein NAT (Setzt Adressen voraus).
*) Man setzt den Rechner als DMZ ein (keine gute Lösung - wenn NAT auch ein bischen Firewall spielen soll)
Bei einem Tunnel (der nicht vom Router verwaltet wird) musst du trotzdem das NAT konfigurieren, denn sonst ist der Tunnelendpunkt wieder nicht von aussen erreichbar. Damit sind wir wieder - siehe oben.
Mein Vorschlag:
Nimm im Router für die 'erreichbaren' Rechner reservierte (oder fixe) Adressen und trage NAT Bereiche im Router ein. Dann hat man die Arbeit nur einmalig.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Synapse: NAT
Ich verstehe kein Wort
Routing ohne NAT? DMZ?
Auf keinen Fall will ich dem Benutzer zumuten, im Router irgendwas umstellen zu müssen. Wie macht das denn ein Browser? Bisher hatte ich Indy (DelphI) und ich kann mich nicht erinnern, dass ich da was basteln musste.

Auf keinen Fall will ich dem Benutzer zumuten, im Router irgendwas umstellen zu müssen. Wie macht das denn ein Browser? Bisher hatte ich Indy (DelphI) und ich kann mich nicht erinnern, dass ich da was basteln musste.
- af0815
- Lazarusforum e. V.
- Beiträge: 6827
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Synapse: NAT
Es gibt genügend Routerforen die das erklärenScotty hat geschrieben:Ich verstehe kein WortRouting ohne NAT? DMZ?

Da ist der Browser der aktive Part und dann weis der Router, wer von 'innen' das Paket verschickt hat und zu wem es somit zurückgesendet werden soll. Wenn du also eine Kommunikation auf der selben Basis machst, so wirds auch funktionieren.Scotty hat geschrieben: Auf keinen Fall will ich dem Benutzer zumuten, im Router irgendwas umstellen zu müssen. Wie macht das denn ein Browser? Bisher hatte ich Indy (DelphI) und ich kann mich nicht erinnern, dass ich da was basteln musste.
Sehr viele (Online) Spiele muten den Benutzern zu, Umstellungen im NAT zu machen. Deshalb sind auch die Routerforen voll mit Fragen zu Ports und NAT. Das Thema ist so alt wie die Multiplayerspiele selbst.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Synapse: NAT
Wenn du zufällig noch den einen oder anderen guten Link hättest... 

- af0815
- Lazarusforum e. V.
- Beiträge: 6827
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Synapse: NAT
Google und Bling sind zwar schon erfunden aber hier ist einer der EinstiegspunkteScotty hat geschrieben:Wenn du zufällig noch den einen oder anderen guten Link hättest...
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 475
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Synapse: NAT
Sorry, dass ich mich einmische, aber ich hab dein Ziel noch nicht verstanden.
Nein im ernst. Muss sich das Progi mit einem bestimmten (deinem?) Rechner verbinden? Für Updates könnte man ja auch die Sachen ins Netz stellen und das Progi holt sie sich per HTTP (Port 80) oder FTP (Port 20 und 21). Dann hast du keinen Ärger mit NAT oder Firewalls.
Nehme ich die Internet-Adresse meines Routers (DSL-Modem), dann kommt nichts an.
Du möchtest, dass die Benutzer deines Progis sich mit dir verbinden? Fernwartung oder Trojaner?Auf keinen Fall will ich dem Benutzer zumuten, im Router irgendwas umstellen zu müssen.

Nein im ernst. Muss sich das Progi mit einem bestimmten (deinem?) Rechner verbinden? Für Updates könnte man ja auch die Sachen ins Netz stellen und das Progi holt sie sich per HTTP (Port 80) oder FTP (Port 20 und 21). Dann hast du keinen Ärger mit NAT oder Firewalls.
Port 5000 wird bereits für UPNP verwendet, du solltest einen anderen nehmen. Allerdings wirst du dann wohl Probleme mit den Firewalls bekommen, da unbekannte Ports meist blockiert werden.Das kann ich beheben, indem ich dem Router unter NAT sage, dass der Port 5000 an die Adresse 192.168.2.101 weiter geleitet werden soll.
mfg Ingo
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Synapse: NAT
shokwave hat geschrieben:Muss sich das Progi mit einem bestimmten (deinem?) Rechner verbinden? ... HTTP (Port 80) oder FTP (Port 20 und 21)...Port 5000 wird bereits für UPNP...Firewalls
Es geht um den Onlineteil eines Spiels mit bis zu vier Mitspielern. Bisher habe ich Indy benutzt (und Delphi) und kann mich nicht an solche zusätzlichen Einstellungen erinnern. Den Port habe ich variabel gehalten, vielleicht setze ich 5002 als default ein.
NAT liefert 67^6 Ergebnisse...af0815 hat geschrieben:Google und Bling sind zwar schon erfunden

-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Re: Synapse: NAT
Zur Not läuft Indy aber auch mit Lazarus und das unter Windows und Linux (wobei ich persönlich nur ersteres bisher getestet habe).
http://wiki.lazarus.freepascal.org/Indy_with_Lazarus" onclick="window.open(this.href);return false;
Vielleicht ist das (je nach Umfang) einfacher, als auf Synapse zu wechseln.
http://wiki.lazarus.freepascal.org/Indy_with_Lazarus" onclick="window.open(this.href);return false;
Vielleicht ist das (je nach Umfang) einfacher, als auf Synapse zu wechseln.
Johannes
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Synapse: NAT
Das wäre meine letzte Hoffnung. Allerdings ist Indy nicht gerade nativ Freepascal. Ich denke bei solchen Fragen an jemanden, der meinen Code herunter lädt und kompilieren will. Dazu sollen so wenig Komponenten wie möglich installiert werden müssen und der Benutzer soll auch seine Hierarchie anwenden können. Das, finde ich, ist ein Manko an Synapse - man kopiert es "irgendwo" hin. Am liebsten würde ich deswegen lNet benutzen, weil sich das schön integrieren lässt. Aber da bekomme ich andere Sachen nicht hin.monta hat geschrieben:Zur Not läuft Indy aber auch mit Lazarus...

-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Synapse: NAT
Ich weiß ja noch nicht, wie Indy die NAT umgehen soll, wenn Synapse das nicht schafft...
Vllt. hilft das Stichwort STUN weiter
Vllt. hilft das Stichwort STUN weiter
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Synapse: NAT
STUN nützt hier relativ wenig, da das - wie alle NAT Tricksereien - nur für UDP funktioniert
- af0815
- Lazarusforum e. V.
- Beiträge: 6827
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Synapse: NAT
Es hilft schon, damit man die 'externe' IP Adresse innerhalb des geNATteten Netzwerk sicher herausbekommt. Beim richtigen Konfigurieren hilfts dann weniger. Deshalb sollte der, der einen Server(-Prozess) betreibt schon ein wenig mit dem Router umgehen können (So wie die Spielefreaks).Hitman hat geschrieben:STUN nützt hier relativ wenig, da das - wie alle NAT Tricksereien - nur für UDP funktioniert
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Synapse: NAT
Wo ist denn da das Problem?Scotty hat geschrieben: Das, finde ich, ist ein Manko an Synapse - man kopiert es "irgendwo" hin. Am liebsten würde ich deswegen lNet benutzen,
Ich finde das ein Vorteil von Synapse. Die meisten Threads die man zu Indy liest, heissen: "Hilfe, kann Indy nicht installieren".
Ausserdem ist ein Package in wenigen Minuten gemacht. Hatte hier mal eins erstellt: http://www.lazarus.freepascal.org/index ... l#msg33281" onclick="window.open(this.href);return false;
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Synapse: NAT
"Aktiver Part" hat mich auf eine Idee gebracht. Der Serverthread bekommt eine Liste mit und merkt sich dort die Kommunikation. Jeder Client fragt in regelmäßigen Abständen (z.B. 10s) nach, ob irgendwas zu tun ist. Dadurch ist ein Chat freilich etwas zäh, aber prinzipiell könnte das doch gehen. Außerdem schreibe ich ja kein Chat-Programm. Was meint ihr?
@Theo: Für einen erfahrenen Benutzer ist da kein Problem. Alles wäre vom Feinsten, wenn jemand regelmäßig die Package erstellen würde und das irgendwo bei FPC oder Lazarus verlinkt wäre. Andererseits: Wenn man sich etwas damit beschäftigt, gehts auch so. BTW: Im SVN-Trunk sind jetzt die legacy-Funktionen ersetzt (news://news.gmane.org/gmane.comp.lang.delphi.synapse.public" onclick="window.open(this.href);return false; -> compatibility with FPC trunk).
@Theo: Für einen erfahrenen Benutzer ist da kein Problem. Alles wäre vom Feinsten, wenn jemand regelmäßig die Package erstellen würde und das irgendwo bei FPC oder Lazarus verlinkt wäre. Andererseits: Wenn man sich etwas damit beschäftigt, gehts auch so. BTW: Im SVN-Trunk sind jetzt die legacy-Funktionen ersetzt (news://news.gmane.org/gmane.comp.lang.delphi.synapse.public" onclick="window.open(this.href);return false; -> compatibility with FPC trunk).