Wie kann ich eine Dynamische IP Adresse richtig einrichten?
Hallo,
Ich würde gerne einen Minecraft Server erstellen, welcher bei mir zuhause gehostet wird und ich möchte ihn auch über eine Domain erreichbar machen und habe auch schon eine domain erworben bei Cloudflare.Der Server(Betriebssystem is Linux Debian) ist erreichbar aber nur von meinem Heimnetzwerk und nun möchte ich ihn auch von öffentlich erreichbar machen aber das ist etwas schwieriger da ich eine Dynamische Heimnetzwerk IP Adresse habe und da komme ich nicht mehr weiter denn ich versuche seit Wochen oder sogar Monaten ihn öffentlich Erreichbar zu machen.
Die Dynamische Heimnetzwerk IP Adresse muss ja immer wieder Aktualisiert werden wenn eine sie wechselt und das wollte ich mit ddclient machen.
Ein ddclient file wird bei Dynamic DNS verwendet. DDNS ist ein Dienst mit welchem man einen Domainnamen wie in meinem Fall xevex.net automatisch mit der sich ändernden IP Adresse des Geräts synchronisiert, das nicht über eine statische IP Adresse verfügt, wie es oft bei Heimnetzwerken der Fall ist.
Gut nun habe ich auf Cloudflare so ein Anmeldetoken erstellt damit das Aktualisieren von DNS Einträgen bei dynamischen IPs möglich ist.
Ich habe die Ports 25565 schon freigegeben aber halt das mit Cloudflare funktioniert einfach nicht und da benötige ich Hilfe.
Ich habe auch schon testweise den Befehl ausgeführt (bevor ich ihn in das ddclient file schreibe)
wie finde ich die record ID heraus
Dafür benötige ich die Zone_ID und die Record ID und das API Token was ich erstellt habe für den zugriff auf Cloudflare. Mit diesem Befehl habe ich die record ID herausfinden wollen und scheint eigentlich auch erfolgreich zu sein:
curl -X GET "https://api.cloudflare.com/client/v4/zones/ZONE_ID/dns_records?name=xevex.net" \
-H "Authorization: Bearer MEIN_API_TOKEN" \
-H "Content-Type: application/json"
da kommt dann diese Ausgabe. Mit schwarz habe ich immer die Zonen ID übermalt und ich nehme an das erste ist die Record id?
Oder welches hier ist genau die Record id also welche farbe heissen alle einfach id 😭
Nun wenn ich die record id habe kann ich den Befehl doch testweise in der Konsole von meinem Server ausführen und zwar so oder:curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/ZONE_ID/dns_records/RECORD_ID" \
-H "Authorization: Bearer MEIN_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"type": "A", "name": "xevex.net", "content": "192.168.0.5", "ttl": 3600, "proxied": false}'
ändert sich die Record id eigentlich? Weil ich meinte gestern habe ich eine andere Record ID rausbekommen also die erste ID in der Ausgabe auf Bild 2 war gestern eine andere als ich heute bekommen habe.
Wenn ich den Befehl oben ausführe in meinem Server bekomme ich diese Ausgabe:
Es scheint die Record ID falsch zu sein sehe ich das richtig oder was heisst Record does not exist genau?
Wenn dieser Befehl dann funktionieren sollte muss ich das so in mein ddclient file reinschreiben und ich glaube das sollte so aussehen im file oder was vergessen? (# sind ja nur für Notiz): # ddclient.conf für Cloudflare
daemon=300 # Prüft alle 300 Sekunden
syslog=yes # Protokollierung aktivieren
ssl=yes # HTTPS-Verbindungen verwenden
use=web, web=dyndns # Meine aktuelle öffentliche IP abrufen
protocol=cloudflare # Cloudflare als DDNS-Anbieter
zone=xevex.net # Mein Domainname
login=<Meine Cloudflare-Account-E-Mail>
password=<Mein Cloudflare-API-Token> # API-Token von Cloudflare
xevex.net
1 Antwort
Im Moment löst xevex.net nach 62.155.245.88 auf. Müsste zum Telekom-Netz gehören. Wenn das hinkommt, dann funktioniert per DynDNS alles, dann musst Du auf Deiner Seite schauen.
Hast Du die Portweiterleitung im Router aktiviert und auf Deinen Server gesetzt?
Ist auf dem Server ggf. eine Firewall aktiv, die den Zugriff unterbindet? Wäre bei Debian erst mal ungewöhnlich, aber besser mal nachschauen.
Die IP für den MX ist aber eine von Apple. Die Frage ist, wo kommt die Telekom-IP 62.… her?
Du kannst beim DynDNS-Anbieter sicher eine IP händisch eintragen. Mach das mal bitte mit Deiner externen IP. Dann sieht man vielleicht mehr.
Die IP von Apple ist eben die wegen dem Mail weil ich mit icloud+ irgendwie meine eigene domain als Email da erstellen konnte also beide einträge da auf dem bild sind von der Mail bei Apple.
Also du meinst ich soll bei DynDNS Anbieter in meinem fall cloudflare die öffentliche ip eintragen, aber die ändert sich ja immer mal wieder? Und was soll ich dann genau machen?
Wenn Du sie erst mal von Hand einträgst kann man wenigstens testen, ob der Server dann auch erreichbar ist und tut, wie er soll.
Ist er dann erreichbar kann man im nächsten Schritt das Problem mit der Aktualisierung der IP lösen. Aber wie geschrieben, die scheint zu funktionieren, Du übermittelst nur die falsche IP.
Ah okay vielen Dank. Dann werde ich das machen sobald ich zuhause bin. Vielen Dank
Hey,
Also meinst du es sollte jetzt funktionieren?
Ich hab halt mal eine mail eingerichtet mit meiner domain
https://imgur.com/a/p74kjps
Ich weiss nicht aber meinst du der minecraf tserver ist auch erreichbar?
So wie es jetzt ist, wird es nicht funktionieren, nein.
Wie ist denn Deine externe IP? Ist sie identisch mit der, auf die die Domain auflöst?
Laut Portscan lauscht da kein Dienst, das Gerät scheint offline zu sein. Ob das am Router liegt oder am Server oder ob die Domain zur falschen IP auflöst ist von außen nicht wirklich zu beurteilen.
Aber es muss schon mal funktioniert haben, irgendwoher muss die IP ja kommen.
Also mein Gerät der Server ist aktuell offline ja. Meinst du was die öffentliche IP davon ist? Die ändert sich ja ständig und dass die domain mit der richtigen Aktuellen öffentliche ip verknüpft wird das versuche ich ha gerade zu machen und komme nicht weiter
Ok, ist jetzt peinlich, keine Ahnung, was ich vorhin gemacht habe oder ob Du was gemacht hast, vielleicht habe ich mich vertippt … jedenfalls löst jetzt die Domain nach 192.168.0.5 auf. Und das ist genau das, was Du im ersten Beitrag im A-Record als Content hinterlegt hast.
Spätestens jetzt kann man sagen, daß es mit der Übermittlung der dynamischen IP funktioniert, allerdings mit einem falschen Wert. Die 192.168.0.5 ist nämlich eine lokale IP, die nur im LAN zugreifbar ist.
Statt 192.168.0.5 muss da die externe IP rein.
Okay ist nicht peinlich wolltest ja nur helfen ich glaub hab eh nicht verstanden was du meintest xD. Ich hab aufjedenfall nichts daran geändert jetzt. Wo siehst du denn dass die sich nach 192.168.0.5 meiner lokalen ip auflöst?
Das ist die lokale ip die habe ich auch als a record auf cloudflare hinterlegt aber am ende sollte ja wirklich die öffentliche ip da sein damit der server eben öffentlich zugänglich ist.
Meinst du ich soll testweise jetzt da auf cloudflare beim a record meine öffentliche ip hinmachen und nicht mehr die lokale nur mal als test? Wenn es funktioniere muss ich ja dann machen dass es automatisch anpasst...
Ich sehe das bei einem Ping:
ping xevex.net
PING xevex.net (192.168.0.5) 56(84) bytes of data
Wie Du jetzt ddclient dazu bringst, die IP bei Cloudflare zu aktualisieren, kann ich Dir mangels Erfahrung nicht sagen, aber eine kurze Suche fördert z.B. das zu Tage:
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
pid=/var/run/ddclient.pid # record PID in file
ssl=yes # use TLS
use=web # get IP with website below
web='https://cloudflare.com/cdn-cgi/trace'
web-skip='ip=' # IP address above is after 'ip='
protocol=cloudflare, \
zone=mydomain.tld, \
ttl=1,
password='cloudflare-api-token',
mydomain.tld,subdomain.mydomain.tld
Quelle: https://www.davidschlachter.com/misc/cloudflare-ddclient
Scheint recht überschaubar zu sein.
Hallo, Ja wie im letzten Teil meiner Frage habe ich das ja auch hingeschrieben in etwa das gleiche das von dir jetzt. Gut danke dann scheint das richtig zu sein, aber wie gesagt zuerst versuche ich jetzt mal da bei cloudflare die lokale ip mit der aktuellen öffentliche ip zu wechseln und zu testen ob es geht danach schreibe ic hes ins ddclient file
In etwa das gleiche aber halt nicht gleich.
Probiere es doch mal mit der Config. Mehr als schiefgehen kann es nicht, und vielleicht funktioniert es ja auch.
Ja ich hab irgendwie 2 ddclient files eines im /etc/ddclient/ddclient.conf und eines bei /etc/ddclient.conf weiss nicht ganz welches das richtige ist. hab beide ausprobiert schon und beide falsch glaub lol
Eine frage noch, ist das auf dem bild die erste id welche ich mit rot übermal habe die record id? Ja doch oder? Und ändert die sie oder ist es immer die gleiche
Wenn ich die von mir gepostete Config anschaue, dann sehe ich da nichts von einer ID. Auch bei Deinem Beispiel sehe ich die nicht. Ich würde mich auch nicht erinnern, daß die bei DynDNS-Diensten je notwendig war. Denen wirft man die neue IP vor, die speichern die dann schon regelkonform.
Was die dann als Ergebnis zurückliefern kann noch mal was anderes sein und dort auch eine ID auftauchen. Aber übermitteln muss man die nach meinem Verständnis nicht. Woher sollst Du auch wissen, wie der Nameserver das intern handhabt? Das macht der dann schon, wie er es für richtig hält.
Hab jetzt bei cloudflare mal meine öffentliche ip hingeschrieben und nicht die lokale aber es geht nicht also der server ist nicht erreichbar. meine öffentliche ip hab ich einfach mit wtfismyip.com und dann die oberste IP adresse da genommen.
Jetzt ist auf jeden Fall mal eine IP hinterlegt, die Sinn ergibt.
ping xevex.net
PING xevex.net (87.102.155.98) 56(84) bytes of data.
Läuft Dein Server?
Jup Server läuft ich kann sogar immernoch mit der lokalen ip in meinem heimnetzwerk darauf joinen aber vom anderen pc mit hotspot kann ich nicht joinen
Ich verwalte den server mot pufferpanel (so dass ich nicht alles mit commands machen muss) und da hab ich die ip auhc geändert in den einstellungen zur öffentlichen und nun geht beides nicht mehr
Nee, die interne IP des Servers darfst Du nicht auf die öffentliche setzen. Die kennt Dein Router nur nach außen hin, im lokalen Netz kann er mit der nichts anfangen.
Du musst umgekehrt an die Sache ran: Der Server bekommt eine IP, mit der Du ihn im lokalen Netz erreichst und dem Router musst Du sagen, daß der Port offen ist und wenn Anfragen von außen auf Port 25565 kommen, er die an den Rechner mit der internen IP des Servers im lokalen Netz weiterleiten soll.
Internet -> (Anfrage an Port 25565) -> Router (sagt sich: ah, das geht an die interne IP 192.168.0.5) -> 192.168.0.5:25564.
Machst Du das nicht, bleibt der Port am Router für Datenpakete geschlossen, die nicht vorher von intern angefragt wurden. Dein Router ist damit eine Firewall.
Wenn Du den Port öffnest und ihn auf eine interne IP weiterleitest, dann werden auf diesem Port auch Pakete (Anfragen) akzeptiert, die keine Antworten sind. Und genau das will man ja bei einem Server. Der soll ja auf Anfragen von außerhalb des lokalen Netzes antworten können. Und antworten kann er nur, wenn er die Anfrage auch bekommt.
Hoffe, das stimmt so halbwegs, hatte gerade einen längeren Termin :) Wenn nicht, schiebe ich eventuelle Korrekturen morgen nach.
Vielen Dank für die Antwort, ergibt sinn ja ich habe den Port im Router freigegeben siehe screenshot: https://imgur.com/a/Obx1BXb
Der sollte offen sein eigentlich. Wie kann ich das überprüfen genau ohne dass ich auf den server joine?
Kein stress btw wegen terminen, hat natürlich vorrang
Nein leider nicht, das ist etwas anderes nicht mein Minecraft Server sondern vom email domain welche ich eingerichtet habe