Entwickler-Ecke
Internet / Netzwerk - Router und Internet-IP verbinden
IhopeonlyReader - Mi 23.05.12 15:54
Titel: Router und Internet-IP verbinden
Guten Tag,
da ich das Problem habe, dass sich ständig die IP wechselt, würde ich gerne Fragen wie man trotzdem einen Konstanten Server laufen lassen kann, ohne seine IP-Adresse irgendwo zu aktualisieren (wie zB. ein Web-Server).
Informationen:
-router-IP bleibt gleich (ersten 2 zahlen der Internet IP)
-Netzwerk-IP bleibt unverändert
ist es möglich irgendwie eine Anfrage an den Router zu schicken mit der Netzwerk IP des gesuchten PCs, so dass der Router die momentane Internet IP rausgibt?
Beispiel:
PC-Internet-IP am 20.05.12 ist 90.200.65.120
PC-Internet-IP am 22.05.12 ist 90.200.48.88
PC-Netzwerk-IP an beiden Tagen: 192.168.0.2
ist es also mit den Daten des Routers (90.200) und der Netzwerk-IP (192.168.0.2) möglich an die aktuelle PC-Internet-IP zu kommen?
Gausi - Mi 23.05.12 17:15
Wenn du von außerhalb Zugriff haben illst, dann nützt dir die Netzwerk-IP ungefähr gar nichts, vielleicht auch noch etwas weniger. :mrgreen:
Deinen Router (oder irgendeinen anderen Rechner dahinter) kannst du dann nicht fragen - du kennst dei IP ja nicht. Bleibt also nur, in regelmäßigen Abständen die aktuelle IP irgendwo zu hinterlegen, damit du sie dort abrufen kannst. Eine Möglichkeit wäre wohl DynDNS.
Wenn du auf einem Rechner im Netzwerk einen Webserver laufen lassen willst, der auch von außen erreichbar ist, musst du (wenn du IPv4 nutzt) mit Port-Forwarding arbeiten.
IhopeonlyReader - Mi 23.05.12 20:16
Gausi hat folgendes geschrieben : |
Eine Möglichkeit wäre wohl DynDNS. |
Wir geht das?= und welche komponenten sind dazu notwendig
Gausi hat folgendes geschrieben : |
Wenn du auf einem Rechner im Netzwerk einen Webserver laufen lassen willst, der auch von außen erreichbar ist, musst du (wenn du IPv4 nutzt) mit Port-Forwarding arbeiten. |
Genau :) Es soll ein Server gebaut werden, der immer erreichbar ist. Trotz neuer IP durch neustart.
PS: Es bleibt ja ein und derselbe Router, ist es nicht möglich, sich über den Router weiterleiten zu lassen? z.B. wenn 123.456.22.45 angefragt wird, dann leite auf 123.456.22.33 um. Diese umleit IP könnte dann doch beim hochfahren geändert werden und druch die neue erstetz werden
Gausi - Mi 23.05.12 20:30
Hm, du möchtest also alle Anfragen, die weltweit durchs Internet geistern, und die so ähnlich sind wie deine IP-Adresse, auf deinen Rechner weiterleiten lassen? Ja, ne. is klar. :mrgreen:
Für DynDNS brauchst du keine Komponenten. Das musst du an deinem Router einschalten, und da die passenden Daten des benutzten Dienstes eintragen. Wenn dein Router eine neue IP bekommt, dann meldet der das diesem Dienst, und verteilt dann die Info "ihopeonlyReader.wasweisich.org.com.dot.net hat die IP 123.456.789.101" im Netz. :D
jfheins - Mi 23.05.12 20:31
DynDNS geht eigentlich genau so:
Zitat: |
seine IP-Adresse irgendwo zu aktualisieren (wie zB. ein Web-Server). |
Wenn du nur weißt
dass ein bestimmter Server existiert, aber seine Adresse nicht kennst, kannst du ihn leider nicht erreichen. Ist genau so wie im richtigen Leben ;-)
Es gibt übrigens viele Router, die nach einer Änderung der Internet-IP diese automatisch bei dyndns hinerlegen können. (Zum Teil werden auch andere Anbeiter unterstützt)
Es gibt auch DSL-Anbieter die - gegen Aufpreis - eine feste IP anbieten. Oder gleich einen richtigen Server mieten. Alles ist möglich ;-)
IhopeonlyReader - Mi 23.05.12 20:46
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Schön dass du das "ich möchte nicht verwenden" nicht mitzitiert hast :D
und die IP ist ja nicht komplett geändert, sondern nur die letzten beiden Zahlen.
Das problem ist einfach, dass ich eine "Internet"-Abfrage-IP nicht einrichten möchte, da mein Chat-Server immer zwischen 2 Leuten läuft. (Host+User und User) der Host nutz mein erstes Programm, als Host einrichten, dann wird IP, RouterIP und NetzwerkIP in einer datei gespeichert. Auf dem anderen Rechner liegt jetzt der chatclient mit dieser datei vor. Und beim Start(öffnen) des Chats wird abgefragt ob der Server online ist und verbunden werden kann. Nur wenn sich jedes mal die IP des Servers ändert, dann funktioniert meine Methode leider nicht. Ebenso ändert sich die IP des Users immer :(.
Komsich: -Manuell ist es möglich über eine (ehemalige) IP und die NetwerkIP an die neuste IP zu kommen.
Soviel ich weiß führt der Router doch ein Protokol, welches aufführt welche IP welchem PC einmal gehörte oder? (z.B pc 192.168.0.3 gehörte mal die ip 123.456.44.120). gibt es wirklich keine möglichkeit, sich sozusagen mit einem Router zu verbinden und dann an die NetzwerkIP weitergeleitet wird???
Bitte, ich hasse es, dass man um chatten zu können, seine IP z.B. per skype, vorher an die Leute schicken mus. Da ist es unnötig sich einen Chat zu basteln :(
jaenicke - Mi 23.05.12 21:05
Dein Gegenüber muss aber nunmal deine aktuelle IP kennen. Und die muss er von einer bekannten Stelle abfragen können, sprich einem Server im Internet, den er über eine bekannte feste IP oder Adresse erreichen kann.
Ob das nun DynDNS ist oder ein eigener Webspace oder ein eigener Server ist egal. Aber ohne ist es ohne feste eigene IP technisch (und logisch) schlicht nicht möglich.
Wenn du dich unterwegs in ein Lokal setzt, musst du jemandem, mit dem du dich treffen willst, ja auch erst sagen wo du bist...
Oder wenn du im Urlaub bist, jemandem sagen wo er Post hinschicken soll, wenn dich jemand per Post kontaktieren will.
Gausi - Mi 23.05.12 21:06
Um es nochmal deutlich zu sagen: Wenn du die aktuelle IP des Routers nicht kennst, und keine anderen Dienste benutzen willst, die dir die aktuelle IP liefern könnten, kannst du mit dem Router nicht kommunizieren. Punkt. Was der Router früher mal für eine IP hatte, ist völlig wurst - die hat jetzt vermutlich jemand anderes.
IhopeonlyReader - Mi 23.05.12 21:18
Naja
jaenicke hat folgendes geschrieben : |
Wenn du dich unterwegs in ein Lokal setzt, musst du jemandem, mit dem du dich treffen willst, ja auch erst sagen wo du bist...
Oder wenn du im Urlaub bist, jemandem sagen wo er Post hinschicken soll, wenn dich jemand per Post kontaktieren will. |
Ich kenn die Stadt und ich weiß das das Lokal in der Stadt "X" genannt wird.
Ich kenn zwar nicht den Namen des Lokals, aber ich weiß wie es genannt wird. Ich würde jetzt gerne die Stadt fragen wie X denn wirklich heißt, auch wenn sich der name ständig ändert.
Und:
Gausi hat folgendes geschrieben : |
Um es nochmal deutlich zu sagen: Wenn du die aktuelle IP des Routers nicht kennst, |
klar, ich kenn die IP des Routers, die ändert sich ja nicht^^ Es ändert sich nur der Suffix
Moderiert von
Narses: Zitat repariert.
Moderiert von
Narses: Beiträge zusammengefasst
Man könnte die Frage auch so stellen:
Über Praefix und Netzwerk-IP (Standart-Gateway bzw. Bevorzugter DNS-Server) an Suffix kommen.
Gausi - Mi 23.05.12 21:43
Welchen Teil von "Geht nicht" hast du denn jetzt nicht verstanden? :gruebel:
Stell dir vor, dein Freund hat eine Handynummer, die sich ständig ändert. Ob die sich komplett ändert, oder nur die letzten 6 Stellen, ist dabei egal. Wenn du ihn anrufen willst, brauchst du die komplette Nummer. Eine Hälfte der Nummer hilft dir nur insofern, dass du den Brute-Force-Angriff reduzieren kannst.
IhopeonlyReader - Mi 23.05.12 21:49
Gausi hat folgendes geschrieben : |
Welchen Teil von "Geht nicht" hast du denn jetzt nicht verstanden? :gruebel:
|
Das wusste ich von Anfang an!
Meine Frage berught ja darauf, ob man den Router per Quelltext fragen kann.
Manuell ist es übringes Möglich ;)
Moderiert von
Narses: Zitat repariert.
Gausi - Mi 23.05.12 22:10
Ok, dann erklär doch mal gaaanz genau, was du machen willst, und was manuell (angeblich) funktioniert. Wie willst du denn den Router etwas fragen, wenn du ihn nicht kennst? :autsch:
IhopeonlyReader - Mi 23.05.12 22:13
Gausi hat folgendes geschrieben : |
Ok, dann erklär doch mal gaaanz genau, was du machen willst, und was manuell (angeblich) funktioniert. Wie willst du denn den Router etwas fragen, wenn du ihn nicht kennst? :autsch: |
wie kommt ihr darauf dass ich den Router nicht kenne? den praefix kenne ich doch (zum 3 mal)
Manuell täuscht man eine zugehörigtkeit zum Netzwerk (beim router) auf verbindet sich mit der Netzwerkip und lässt sich die internet ip geben. Dann mit InternetIP verbinden.
Gausi - Mi 23.05.12 22:19
Was ist denn das Präfix? Die ersten 2 Bytes der Adresse? Das 90.200.? das bringt dir nichts. Zum gefühlt 10. Mal.
Ich klinke mich jetzt aus. Es sei denn, du überweist mir 10 auf mein Konto.
Meine Kontonummer ist 56465(....), BLZ ist 3664(...). Alternativ kannst du ich auch zu Hause anrufen. Meine Telefonnummer ist (0211). Dann reden wir weiter. Die fehlenden Ziffern sind ja nur das Suffix, das findest du bestimmt raus.
(Die Kontodaten sind Fake, aber die Vorwahl stimmt. ;-))
IhopeonlyReader - Mi 23.05.12 22:32
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
IP = Praefix + Suffix
Praefix = RouterIP -> Hier ist der Router erreichbar und hier wird man druch den Suffix an den entsprechenden PC geleitet.
Ist man selbst im selben Netzerk, stimmt also der Praefix überein, so reicht es die NetzwerkIP anzugeben um mit dem ZielPC eine verbindung einzugehen.
täuscht man den router jetzt in dem man seinen eigenen Praefix faket, so kann man über die NetzwerkIP an den ZielPC andocken, jedoch wird mal durch Firewall etc. natrülich geblockt. Also sollte eine Datei existieren in der die InternetIP steht, die Datei muss dann in einem für das Heimnetzerk freigebenem Ordner sein. (lässt sich ja per Delphi machen: Datei im Ornder erstellen)
Diese Datei kann ich lesen und die InternetIP des Zielrechners ermitteln. Nun könnte eine Chatverbindung eingehen.
Jetzt meine Frage: ist das auch per Delphi möglich einen Router zu täuschen um an "öffentliche" Daten eines Computers für das Heimnetzerk zu kommen?
Ich denke theoretisch ja, aber ich weiß leider nicht wie ich dem Router einen Fake-Praefix vortäusche, da ich soetwas noch nie in einer Programmiersprache verwirklicht habe.
Gausi - Mi 23.05.12 22:39
Lies dir bitte mal durch, wie das Internet funktioniert. Insbesondere, was es mit den unterschiedlichen IP-Adressen auf sich hat, was an diesen 192.168-Adressen besonders ist und wie
NAT [
http://de.wikipedia.org/wiki/Network_Address_Translation] funktioniert.
Was du hier als Präfix bezeichnest, ist nicht die Router-IP, sondern nur eine Hälfte davon.
Blawen - Mi 23.05.12 23:07
Irgendwie habe ich den Verdacht, dass Du einige Dinge durcheinander bringst.
Zitat: |
IP = Praefix + Suffix |
Was verstehst Du unter Suffix? Ich vermute mal die Portnummer, also im Sinne 192.168.1.1:80
Zitat: |
Ist man selbst im selben Netzerk, stimmt also der Praefix überein, so reicht es die NetzwerkIP anzugeben um mit dem ZielPC eine verbindung einzugehen. |
Dir ist schon klar, dass zwei unterschiedlche IP-Adressen existieren? (Provider 77.239.xx.xxx -> Router -> Netzwerk 192.168.1.1)
Zitat: |
täuscht man den router jetzt in dem man seinen eigenen Praefix faket, so kann man über die NetzwerkIP an den ZielPC andocken |
Wenn es wirklich so einfach wäre... Woher hast Du denn diesen "Blöds...."?
Zitat: |
Manuell täuscht man eine zugehörigtkeit zum Netzwerk (beim router) auf verbindet sich mit der Netzwerkip und lässt sich die internet ip geben. Dann mit InternetIP verbinden. |
Der "externe" Rechner müsste zuerst mal die öffentliche IP kennen, um etwas faken zu können. Kennt er diese, wäre das faken aber wiederum sinnlos. (Innerhalb des Netzwerks ist es kein Problem, die öffentliche IP festzustellen. Aber eben, dem externen Rechner muss auf geeignete Weise die IP mitgeteilt werden (z.B. per Email oder aber mittels DynDNS)
Weil ich vermute, dass Du das Prinzip von DynDNS nicht verstanden hast:
DynDNS ist im Prinzip nichts anderes als ein öffentliches Telefonbuch.
Der Router meldet seine öffentliche IP jeweils an DynDNS.
Um nun die IP in Erfahrung zu bringen, reicht eine kurze "Anfrage" nach dem Muster HansMeier.dyndns.org.
Als Rückmeldung erhälst Du dann die Telefonnummer von HansMeier (eben die IP-Adresse des Routers)
Zitat: |
...ist es mit delphi möglich |
klar.
Aber wie schon vorgängig mehrfach geschrieben wurde, kannst Du den kostenlosen DynDns Dienst nutzen. So reicht schon die Angabe MeinKonto.DynDns.org um die IP-Adresse zu bekommen. Ohne Verrenkungen und "Murks...
IhopeonlyReader - Do 24.05.12 16:17
Blawen hat folgendes geschrieben : |
Weil ich vermute, dass Du das Prinzip von DynDNS nicht verstanden hast:
DynDNS ist im Prinzip nichts anderes als ein öffentliches Telefonbuch.
Der Router meldet seine öffentliche IP jeweils an DynDNS.
Um nun die IP in Erfahrung zu bringen, reicht eine kurze "Anfrage" nach dem Muster HansMeier.dyndns.org.
Als Rückmeldung erhälst Du dann die Telefonnummer von HansMeier (eben die IP-Adresse des Routers)
Zitat: | ...ist es mit delphi möglich | klar.
Aber wie schon vorgängig mehrfach geschrieben wurde, kannst Du den kostenlosen DynDns Dienst nutzen. So reicht schon die Angabe MeinKonto.DynDns.org um die IP-Adresse zu bekommen. Ohne Verrenkungen und "Murks... |
Interessant, muss dein meinkonto registrieren, oder im Router einstellen? Wie schon erwähnt soll der Server so aufgebaut sein. Das Client a an Server a und Client b an Server b sendet. Wenn jedoch Server a und b denselben Account verwenden, dann ist diese Methode natürlich auf mein Beispiel unanwendbar.
Blawen - Do 24.05.12 21:55
IhopeonlyReader hat folgendes geschrieben : |
Interessant, muss dein meinkonto registrieren, oder im Router einstellen? Wie schon erwähnt soll der Server so aufgebaut sein. Das Client a an Server a und Client b an Server b sendet. Wenn jedoch Server a und b denselben Account verwenden, dann ist diese Methode natürlich auf mein Beispiel unanwendbar. |
Du meldest Dich (z.B.) bei DynDNS an und trägst die Anmeldedaten im Setup des Routers ein. Pro Router benötigst Du einen Account.
IhopeonlyReader - Do 24.05.12 22:20
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Damit fällt diese Methode dann leider ins Wasser. Allerdings werd ich wohl bald meine Angel holen müssen, da ich merke, dass es nicht reicht Programme zu schreiben, sondern der User selbst auch etwas dafür tun muss.
jaenicke - Fr 25.05.12 08:48
Ein eigener Server ist doch im Internet für 99,99% der Benutzer ohnehin weder sinnvoll noch gut machbar. Klar gibt es vielleicht auch ein paar, die sich einen aufmachen wollen, aber deren Anzahl dürfte verschwindend gering sein.
Es hat schon einen Grund weshalb so gut wie alle Chatprogramme heutzutage feste Server im Internet verwenden. :zwinker:
Auf jeden Fall musst du dir eben überlegen was du eigentlich machen möchtest. Wenn du ein Chatprogramm erstellen willst, bei dem jeder nen eigenen Server aufmachen kann, dann muss derjenige den auch einrichten, da geht kein Weg dran vorbei.
Du könntest aber selbst die Auflösung der IP Adressen der einzelnen Server anbieten, aber da wären wir wieder bei einem eigenen Server für dich im Netz. Und das willst du ja offenbar auch nicht. :nixweiss:
IhopeonlyReader - Fr 25.05.12 13:10
jaenicke hat folgendes geschrieben : |
Es hat schon einen Grund weshalb so gut wie alle Chatprogramme heutzutage feste Server im Internet verwenden. :zwinker:
|
yo, ich habs jett erkannt :D ich werde das so machen, das ich nur einen Host gleichzeitig mache! Da der Chat dann rumgereicht werden kann und immer alle auf den selben Server zugreifen.
Also würde ich dann DynDNS verwenden. kann mir bitte jemand erklären wie man das genau einstellt/ Wie ich das dann mit Delphi auslese (hochladen wird ja durch IP-Verteilung des Routers durchgeführt
Moderiert von
Narses: Zitat repariert.
jaenicke - Fr 25.05.12 14:26
Da gibt es nicht viel zu ändern bei dir. Du gehst dann einfach über die DynDNS Adresse statt einer IP.
Wie unpraktisch ein Server zu Hause ist wirst du vermutlich bald feststellen. Das hatte ich in meiner Schulzeit, habe aber wenige Monate nach derlei Tests einen gemietet. ;-)
IhopeonlyReader - Sa 26.05.12 23:30
Habe es nun über
http://www.no-ip.com gelöst. Hier wird (über ein Programm) deine aktuelle (internet)-IP an den von dir gewhälten Server gescikt. (Beipsiel: dein name->BspName+deinHost(no-ip.org)) dann gibt man anstatt der Hostaddresse einfach die Adresse an (BspName.np-ip.org) dann wird man direkt an die zuletzt aktualisierte IP weitergeleitet :).
Klappt bis jetzt alles Problemlos... auch wenn der Server dann nicht aktiv ist, kann man ja in dem Client darauf reagieren (in onError einfach if Errorcode=#10611 then Errorcode:=0) reinschreiben :D ;) (oder wie auch immer der Errorcode für unerreichbarkeit ist^^).
Danke an Petros (
http://www.delphi-forum.de/profile.php?mode=viewprofile&u=31329 ) :).
Blawen - So 27.05.12 22:34
Ich kenne
http://www.no-ip.com nicht, aber das System ist in etwa das selbe wie DynDNS. ;-)
Margott - Di 21.08.12 17:08
Viel ist auch aabhängig vom User, dass stimmt!;) Haste eine Lösung gefunden?
mvollmer - Mi 22.08.12 08:58
IhopeonlyReader hat folgendes geschrieben : |
Interessant, muss dein meinkonto registrieren, oder im Router einstellen? Wie schon erwähnt soll der Server so aufgebaut sein. Das Client a an Server a und Client b an Server b sendet. Wenn jedoch Server a und b denselben Account verwenden, dann ist diese Methode natürlich auf mein Beispiel unanwendbar. |
Nope, dann gehst du hin und lässt beide Server auf einem PC laufen, jedoch sollten die Ports des Servers unterschiedlich sein.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!