Frage

Öffentliche IP Adresse

  • 4 February 2018
  • 7 Antworten
  • 8316 Ansichten

Hallo!
Es geht wieder einmal um das leidige Thema zum Finden der aktuell gültigen öffentlichen IP Adresse.

Deshalb meine Frage an die A1 Wissenden:

Wie wird Anbietern von DynDNS Services (z. b: no-ip usw.) die aktuell gültige öffentliche IP Adresse eines Privatkundenanschlusses mitgeteilt?
Mitgeteilt muss es diesen Anbieter ja werden - sonst wüssten sie die aktuell gültige IP Adresse ja nicht. (Dazu noch eine Anmerkung gleich vorweg, das dies im Modem eingestellt werden muss ist mir bekannt).
Sofern es für das Pirelli Modem ein API/HTML script oder was auch immer gibt um die IP dort abzufragen - auch gut
Mein Frage ist ausschließlich wie/woher die Anbieter die IP Adresse erhalten?
Was ich bräuchte es eine Beschreibung/Schnittstellenspezifikation/API (am besten bezogen auf ein C Programm oder php script - muss aber nicht unbedingt sein) um ebendiese aktuell gültige öffentliche IP anzufragen und weiter zu verwenden.

Vielen Dank für die Unterstützung,
Kari9999

7 Antworten

Benutzerebene 5
Abzeichen +6
z:B
https://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS
Benutzerebene 7
Abzeichen +8
Du siehst unter der Website vom Pirelli die IP

Fängt diese mit 100./10. an hast du CGN (Carrier Grade Nat) geschalten. Dann kannst du KEINE Dienste anbieten. z.B. Fernzugriff/VPN/ Gaming, you name it.

Einzige Lösung, eine öffentliche IP über die Hotline anfordern.
Angeblich dürfte es bei anderen ISPs (bzw. irgendwo kam mir ein Standard dafür unter) auch schon Wege geben Portforwardings durch das CGN zu schalten.
Bei mir fängt diese mit 178 an somit ist die öffentlich.
Lg
Jo
Benutzerebene 3
So weit ich weiß, sind das einfach simple Links die einfach die aktuelle IP beinhalten, die mit dem Benutzernamen und Passwort on-the-fly berechnet werden. Jeder Anbieter hat da aber was eigenes, deswegen ist es nicht so einfach, jeden zu unterstützen.

Wenn es dich interessiert, kannst du die Scripts von OpenWRT direkt im Source Code ansehen
https://github.com/openwrt/packages/tree/master/net/ddns-scripts

Wenn du Carrier Grade Nat verwendest, kannst du bei den meisten DDNS Providern auch ein Lookup verlangen, mit dem dir der Anbieter deine IP mitteilt, anstatt der Router direkt.
Benutzerebene 7
Abzeichen +8
@florian98.rg
das Skript habe ich im Einsatz. bzw auch einen cronjob der mit
code:
* * * * * curl http://update.dedyn.io/update?USERNAME/PA$$WORD

Jedoch mit CGN kann man keine Portweiterleitungen machen. Als wozu braucht man dann noch DynDNS?
Benutzerebene 7
Abzeichen +7
"Wenn du Carrier Grade Nat verwendest, kannst du bei den meisten DDNS Providern auch ein Lookup verlangen, mit dem dir der Anbieter deine IP mitteilt, anstatt der Router direkt."

Welche öffentliche ip soll da was nützen? Bei NAT im Providernetz wird die öffentliche IP mit anderen Kunden geteilt. Zugriff aus dem Internet auf einen bestimmten Anschluss ist somit unmöglich ohne Port forewarding aller Ports im CGN des Providers auf Deine Subadresse und das wäre dann exklusiv nur für einen Kunden pro gemeinsamer öffentlicher ip-Adresse möglich. Also völlig unrealistisch.
Benutzerebene 3
Ich meinte natürlich doppeltes NAT 😅
Benutzerebene 7
Abzeichen +6
hallo,

wie bei jeden webseitenzugriff wird die eigene öffentliche ip adresse sowieso automatisch mitgeliefert an den webserver
ob dies der ddns anbieter auswertet oder explizit die angabe der ip adresse als parameter verlangt ist nun wieder seine sache
lässt sich aber leicht rausfinden
entsprechende script beispiele in verschiedenen script sprachen gibt es für fast alle anbieter

man kann je nach ddns anbieter einen update machen ohne die öffentliche ip adresse zu kennen (siehe url beispiel von jo93)

ein problem ergibt sich allerdings
viele ddns provider blockieren einen wiederholten update und sperren den service in folge um eine überlastung des webservices zu vermeiden
man sollte daher vor einem update prüfen ob sich die öffentliche ip adresse geändert hat und nur dann den update machen

das ist relativ einfach mit einem eigenen script
es gibt öffentliche webdienste welche die ip adresse retour liefern
z.b. http://icanhazip.com/ liefert die eigene öffentliche ip
geht natürlich auch bei 'doppel-nat' nur halt nicht sinnvoll bei 'cg-nat' wie diskutiert

auszug aus einem linux bash script den ich selbst verwende (raspi)
code:
#!/bin/bash
#ddns script

# get actual public ip
GETEXTIP=$(curl --silent icanhazip.com)

# get ip from my ddns entry
GETDNSIP=$(dig +short rwhlive.dtdns.net @8.8.8.8)

# update if ddns entry has not the actual public ip
if [ "$GETDNSIP" != "$GETEXTIP" ]; then
...

Antworten