Hallo,
von meinem Provider bekomme ich täglich eine neue Ipv 4 Adresse. Oft ist diese aber nicht aus Deutschland, sondern wird als Adresse eines anderen Landes erkannt. Dadurch habe ich teilweise Probleme mit Installationen. Besteht die Möglichkeit, bei einer nicht "konformen" Adresse, die Internetverbindung zu "kappen", bis eine "konforme" Adresse zugeteilt wird??
Momentan mache ich das händisch. Die öffentlich Adresse wird in fhem angezeigt und wenn es Probleme gibt, dann frage ich über utrace die Lokalität ab. Heute habe ich z.B. eine Adresse aus der Ukraine.. Durch (teilweise mehrmaliges) neuverbinden in der Fritzbox bekomme ich irgendwann eine "konforme" Adresse.
Mangels meiner Programierkenntnisse habe ich ein Problem dies zu automatisieren. Vielleicht nimmt mich ja jemand an die Hand..
Beste Grüße
Jürgen K.
Hast du die Adressen mal bei RIPE (https://apps.db.ripe.net/db-web-ui/query) geprüft? Oder nutzt du zusätzlich noch ein VPN?
Nein, bei Ripe habe ich noch nicht getestet. Mache ich über Utrace.
Ich nutze WireGuard für den VPN Zugang. Das funktioniert. Nur bei z.B. bei Installationen habe ich Probleme mit den IP Adressen, weil die nicht für Deutschland zugeteilt sind.
Zitat von: juergen012 am 05 Juni 2021, 13:05:10
Durch (teilweise mehrmaliges) neuverbinden in der Fritzbox bekomme ich irgendwann eine "konforme" Adresse.
Ein Teil der Lösung Deines Problems könnte der Fork des Fritzbox-Moduls von Jörg sein.
https://forum.fhem.de/index.php/topic,118150.msg1125692.html#msg1125692
Mit diesem Modul könntest Du Dir schon mal automatisiert eine neue IP holen:
get Fritzbox luaFunction internet/inetstat_monitor.lua?myXhr=1&action=disconnect&useajax=1&xhr=1
Hoffe das hilft Dir weiter
cheers
mi.ke
Hallo Jürgen,
Ein paar Anregungen:
Das reconnect geht auch von FHEM aus: https://wiki.fhem.de/wiki/FRITZBOX#TR-064_Beispiele
Ein Script was Deine Location ermittelt, Shell Beispiel:
curl http://ip-api.com/json/$(curl -s https://ipinfo.io/ip)
Gibt einen json String mit Deiner Lokation.
Das müsste man umwandeln, auswerten und reagieren :) da gibt es bestimmt viele Möglichkeiten. Vielleicht kann man auch die box_ipExtern vom Fritzbox Device direkt in ein jsonmod abfrage einpacken...
Gruß Otto
Danke für die Hlfe. Werde testen.
OT: Was ich bei der Geschichte überhaupt nicht verstehe: Wieso vergibt ein deutscher Provider ausländische IP-Adressen?
Er hat wohl zu wenig ipv 4 adressen geordert...
da man weder einfach 'fremde' adressen vergeben kann noch die vergabe einzel adress weise erfolgt hat der provider vermutlich einfach einen zusätzlichen bisher unbenutzten block gekauft. vermutlich ist einfach die information das es 'ausländisch' ist veraltet.
wer oder was prüft denn aus welchem land die adresse angeblich ist?
Hallo,
Aktuell hatte ich das Problem Ms Office 365 zu installieren. Die damalige ip Adresse war 31.29.60.47.
Nachdem ich die Adresse erneuert hatte (134.101.159.128), funktionierte die Installation. Utrace gab den Iran als Land an.
Beste Grüße
Jürgen K.
Gerade mal probiert:
Als Grundlage:
define Location JsonMod http://ip-api.com/json/1.1.1.1
attr Location readingList complete()
Dann die aktuelle IP Adresse dazu (FHEM Kommandozeile):
{my $IP=ReadingsVal('FB7490','box_ipExtern','8.8.8.8');;fhem("modify Location http://ip-api.com/json/$IP")}
set Location reread
Liefert die Readings der Lokation komplett :)
Ich weiß, das ist jetzt bloß ein Würgaround - vielleicht auch aus Unkenntnis.
Man müsste der definition von jsonmod einen dynamischen Anteil mitgeben können. Ich frage mal den Modulautor ob das geht...
nein, geht nicht. Einfacher trotzdem, zb https://forum.fhem.de/index.php?topic=121498.msg1161091#msg1161091
Dann wäre ein Lösungsansatz:
Der Vorschlag von Jörg
defmod myip JsonMod https://api.myip.com/
attr myip readingList complete()
Ein notify auf die Fritzbox:
define n_FBipExtern notify Fritzbox:box_ipExtern:.* set myip reread
Ein notify auf das Land:
define n_myip notify myip:country:.* {if ($EVTPART1 ne "Germany") {fhem("get Fritzbox tr064Command WANIPConnection:1 wanipconnection1 ForceTermination")}}
Hauptsache die Schleife löst sich auf, das müsste man zur Sicherheit noch einbauen. Oder erstmal nur mit Nachrichten arbeiten. Oder nur manuell auslösen.
Hallo,
zunächst mal VIELEN DANK für die tolle Hilfe. Damit hatte ich nicht gerechnet.
Wenn ich defmod myip JsonMod https://api.myip.com/
attr myip readingList complete()
ausführe bekomme ich Germany als Land angezeigt. In utrace wird mir aber CH als Land genannt.
Es gibt eine API von utrace
http://en.utrace.de/api.php (http://en.utrace.de/api.php).
Damit habe ich rumgespielt, bekomme aber mit HTTPMOD keine Ergebnisse. Da zeigen sich wieder die mangelnden Kenntnisse..
Vielleicht kann mir ja jemand den Weg aufzeigen das XML Interface in fhem einzubinden..
Hallo,
hier ein Vorschlag mit HTTPMOD
defmod IP_Localisation HTTPMOD http://xml.utrace.de/?query=%%URL%% 7200
attr IP_Localisation enableControlSet 1
attr IP_Localisation reading01Name IP_Country
attr IP_Localisation reading01Regex <countrycode>(.*?)</countrycode>
attr IP_Localisation replacement01Mode expression
attr IP_Localisation replacement01Regex %%URL%%
attr IP_Localisation replacement01Value ReadingsVal("FritzBox", "box_ipExtern", "")
attr IP_Localisation showBody 1
attr IP_Localisation useSetExtensions 1
attr IP_Localisation userReadings IP_HTTP_BODY { InternalVal('IP_Localisation','httpbody','') }
attr IP_Localisation stateFormat {ReadingsVal("FritzBox", "box_ipExtern", "")}
Über ein notify oder doif kannst Du dann auf das Reading IP_Country reagieren.
Grüße Jörg
Ich habe derweil auch probiert, aber wenn man es weiß wie es geht (wie Jörg) 8) kommt man eben zu besseren Ergebnissen. :)
Lustig finde ich den Fakt das jedes Tool etwas anderes ermittelt. Offenbar weil jeder eine andere Datenbasis verwendet.
3 Tools -> 3 teils unterschiedliche Ergebnisse :-\
Gruß Otto
eben. und genau das ist das problem. falsche oder veraltete daten. vielleicht wäre es gut sich bei microsoft beschweren statt (nur) zu versuchen am symptom zu basteln.
Danke! Ihr hab ja sooo recht ! Eine Ip von einem deutschen Provider sollte auch überall als eine solche erkannt werden!!
Gruß
Jürgen k.
Es läuft.. SUPER!!!