09/01/2025: Aktualisierung auf eine stabilere und leistungsfähigere Version mit der Möglichkeit, Warnungen von bestimmten IP-Adressen auszuschließen.
Ich habe einen Synology-Router und 2 Internetverbindungen (eine bei Starlink und die andere bei Proximus). Dank der Option auf dem Synology-Router balanciere ich automatisch eine Internetverbindung zur anderen, wenn eine der beiden nicht mehr verfügbar ist.
Das Problem ist, dass meine Proximus-Verbindung eine sehr kleine Verbindung mit einem begrenzten Kontingent ist. Ich möchte so viel wie möglich auf der Starlink-Verbindung bleiben, die unbegrenzt ist, aber wie kann ich wissen, dass ich die eine zur anderen balanciere? Ich finde mich unwissentlich tagelang und nachts bei Proximus wieder, mit dem Risiko, mein Kontingent zu überschreiten.
Ich habe daher ein kleines Tool erstellt, das auf Synology installiert wird (mit dem Paket .Net Core 6.0 installiert) und mir eine E-Mail sendet, wenn es erkennt, dass ich auf einer anderen Internet-IP-Adresse bin! Das Balancing geschieht also ohne mein Wissen! Sehr praktisch!
Hier ist, was es ergibt:
2024-02-04 17:52:24.8188 INFO DetectChangeIp.Program Vorherige IP gefunden: '0.0.0.0' geladen. 2024-02-04 17:52:26.9158 INFO DetectChangeIp.Program Erkennung neuer IP-Adressänderung: 245.xxx.xxx.xxx - SPACEX-STARLINK
2024-02-04 17:55:26.9158 INFO DetectChangeIp.Program Erkennung neuer IP-Adressänderung: 114.xxx.xxx.xxx - Proximus NV
Es gibt eine Version für Windows, wenn Sie kein Synology-NAS haben, und eine Linux-Version.
Auf Synology
Sie können die LINUX-Version auf Synology über eine beim Start auszuführende Aufgabe ausführen.
1) Stellen Sie sicher, dass das Paket ".Net 8" auf Ihrem Synology installiert ist.
2) Laden Sie die Linux-Version der Anwendung herunter und kopieren Sie alle Dateien in ein Verzeichnis Ihrer Wahl auf Ihrem Synology (zum Beispiel in "/homes/[Ihr Benutzername unter Synology]/DetectChangeIp").
3) Sie müssen die Ausführungsberechtigungen für die Datei "DetectChangeIp" festlegen (chmod +rwx DetectChangeIp). Sie können dies in "FileZilla" tun, indem Sie mit der rechten Maustaste auf die Datei klicken und dann "Eigenschaften" im Tab "Berechtigungen" auswählen, und alle Kästchen aktivieren (oder es über SSH mit dem Befehl "chmod +rwx DetectChangeIp" tun).
4) Öffnen Sie auf Ihrem Synology das "Systemsteuerung" und dann "Aufgabenplaner".
5) Erstellen Sie eine neue "ausgelöste" Aufgabe. Ein Fenster öffnet sich, wählen Sie "Start" neben "Ereignis" aus, damit die App "DetectChangeIp" gestartet wird, sobald der Synology startet.
6) Unter dem Tab "Aufgabenparameter" müssen Sie den Pfad zur Datei "DetectChangeIp" notieren, zum Beispiel: /volume1/homes/[Ihr Benutzername unter Synology]/DetectChangeIp/DetectChangeIp.
Fertig! Führen Sie beim ersten Mal die Aufgabe manuell mit der Schaltfläche "Ausführen" aus. Sie können die Protokolle sehen, wenn die App unter der Schaltfläche "Aktion" > "Ergebnis anzeigen" gut läuft.
Als 'Dienst' unter Windows
1) Stellen Sie sicher, dass Sie das .Net Core 8.0-Runtime installiert haben.
2) Um eine Konsolenanwendung als Dienst zu installieren, verwenden Sie nssm: https://nssm.cc/download
3) Kopieren Sie die Datei nssm nach C:\Windows\System32.
4) Laden Sie die Windows-Version von DetectChangeIp herunter und kopieren Sie sie in eines Ihrer Verzeichnisse.
5) Öffnen Sie eine Eingabeaufforderung und geben Sie ein: nssm install DetectChangeIpService "C:\pfad\zu\DetectChangeIp.exe"
So, jetzt, wenn Sie Ihren Dienst stoppen möchten, können Sie eingeben: nssm stop DetectChangeIpService
* nssm restart DetectChangeIpService
* nssm remove DetectChangeIpService bestätigen.
Konfigurationsdatei "appSettings.json"
In der Konfigurationsdatei "appSettings.json" müssen Sie unbedingt eine E-Mail und einen Server angeben, damit er E-Mails an Ihr Postfach sendet.
Es gibt auch die Möglichkeit, Ausschlüsse festzulegen, zum Beispiel, wenn Sie ein VPN verwenden, möchten Sie nicht informiert werden, wenn Sie sich unter einer bestimmten IP-Adresse befinden.
Vorsicht, für Windows oder Linux (sowie Synology) müssen Sie zuvor das .Net 8.0-Runtime installiert haben (https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
Aucun commentaire pour le moment.