Remtoe Syslog Server bekommt nach IP Wechsel keine Daten mehr



  • Hallo,
    der remote Syslog ist eingeschaltet und es kommen die ausgewählten Meldungen auf meinem RasPi zu Hause an. Wenn, durch den Provider verursacht, meine externe IP sich ändert, bekommt die entfernte PfSense das anscheinen nicht mit und schickt vermutlich fleissig an die initial ermittelte IP des Remote Syslogs. Ich muss mich dort erst einloggen und ein mal auf den Save Button klicken (Status->System Logs->Settings->Remote Syslog). Dann kommen sofort wieder die Logmeldungen herein.
    Man kann genau sehen wann die Fritzbox eine Trennung durchführt und die Logeinträge aufhören.
    Ist das ein Bug oder kann man die offensichtlich einmalig gelernte IP des remote Syslog Servers in der pfSense irgendwie aktuell halten? Ggf. einen Dienst/Daemon zum bekannten Zeitpunkt der Provider Trennung neu starten.
    Habe schon etwas herumgesucht, aber noch nichts dazu gefunden. Eine static IP gibt´s beim Provider nicht.
    Es ist eine 2.2.2er Release von 2015. Danke für einen Tip/Rat/Idee dazu.



  • Hallo!

    @armleuchter said in Remtoe Syslog Server bekommt nach IP Wechsel keine Daten mehr:

    Es ist eine 2.2.2er Release von 2015.

    Warum das? Möglicherweise existiert dieses Problem bei der aktuellen Version gar nicht mehr.
    Ein Upgrade wäre hier unbedingt ratsam.

    Mit einem externen Remote-Syslog Server mit dynamische IP habe ich zwar nicht die Erfahrung, doch normal ist das sicher nicht. Ein DynDNS Hostnamen, den du ja vermutlich als Remote Syslog-Server verwendest, hat normalerweise eine sehr kurze Lebenszeit (1 od. 2 Minuten) und sollte nach dieser Zeit automatisch aus dem DNS Cache entfernt und dann bei Bedarf neu erfragt werden.
    Vermutlich vermutlich hält das aber der Syslog-Dienst in seinem eigenen Cache und nimmt auf die TTL keine Rücksicht.

    Wenn der Zeitpunkt der IP-Neuvergabe bekannt ist, kannst du auch den Syslog-Service per Cron-Job neu starten, um die IP zu aktualisieren.
    Installiere dazu erst das Cron-Paket, wenn du dieses noch nicht hast. Dann kannst du einen Job hinzufügen, der als root zur gegebenen Zeit

    /etc/rc.d/syslogd restart
    

    ausführt.

    Grüße



  • Moin,
    danke für Deine Antwort...ja warum so eine alte Release...das sind nen Haufen Sachen eingerichtet und ich habe schlechte Erfahrungen mit dem einfachen Anklicken in Dashboard gemacht. Und bis auf die eine Sache läuft ja alles.

    Ich dachte mir auch, dass es am einfachste wäre, wenn man zum bekannten Zeitpunkt den Dienst neu startet. Aber genau das hab ich nicht hinbekommen. CRON ist installiert. Nach Deinem Befehl kommt: /etc/rc.d/rsyslog: Command not found.
    Ein ps ax | grep 'syslogd' ergab dann folgendes: 33017 - Ss 0:00.07 /usr/sbin/syslogd -s -c -c -l /var/dhcpd/var/run/log

    Habe leider nur gefährliches Halbwissen. Aber wenn ich den Prozess (jier PID 33017) kille und den Syslog mit /usr/sbin/syslogd neu starte, dann kommen wieder Logeinträge am remoten Syslog an. Scheint also der richtige Ansatz zu sein. OK, ein Update könnte vielleicht auch helfen ;)



  • @armleuchter said in Remtoe Syslog Server bekommt nach IP Wechsel keine Daten mehr:

    Nach Deinem Befehl kommt: /etc/rc.d/rsyslog: Command not found.

    Diese Antwort ist nicht logisch, der Befehl heißt "syslogd"!
    Schau nochmal, ob du das richtig geschrieben hast und versuche es einfach mal in der Shell auszuführen.

    /etc/rc.d/syslogd ist ein Script. Darin gibt es auch kein "syslog"-Kommando. Ob das Script in deiner Version vorhanden ist, kannst du ja leicht herausfinden.



  • Da hast Du recht. Habe noch etwas anders probiert und habe falsch kopiert. Das Ergebnis bleibt leider das selbe -> /etc/rc.d/syslogd: Command not found.
    De Syslog scheint (ich habe wirklich wenig Ahnung) als Programm aufgerufen zu werden, immerhin finde ich ihn unter /usr/sbin/syslogd (und eine .conf Datei hab ich auch gesehen).
    Frage lautet nun: Wie kann ich den per CRON Job beenden und neu starten. Ich muss ja offensichtlich die PID herausfinden, diese dann per kill abschiessen und den Syslog dann neu starten. Da gibt es sicher einen Voodoo Befehl oder ein Script, dass so etwas kann. Mit dem ps -ax bekommt man ja schon mal die PID heraus. Kann man die Ausgabe so abschneiden, dass nur dir PID übrig bleib?



  • syslogd ist ein Daemon. Den sollte man ganz normal restarten können, das richtige Kommando vorausgesetzt.

    Versuche es mal mit

    service syslogd restart
    

    Das sollte auch FreeBSD 10 verstehen.



  • Nur mal so für zwischendurch...meine heimische pfSense (2.4.2) macht das mit dem remote syslog auch so. Ändert sich meine public IP auf dem WAN der Fritzbox, dann kommen auch keine Logs mehr an bis ich in der pfSense auf Speichern drücke. Scheint also nicht an der äteren Release 2.2.2 zu liegen.



  • @armleuchter said in Remtoe Syslog Server bekommt nach IP Wechsel keine Daten mehr:

    Ändert sich meine public IP auf dem WAN der Fritzbox, dann kommen auch keine Logs mehr an bis ich in der pfSense auf Speichern drücke

    Trotz DynDNS-Update?



  • Jep. Kurz nachdem ich die Verbindung getrennt habe wird ja das ddns Update gesendet und der Eintrag aktuallisiert. Gleich danach, als ich gesehen habe, dass keine Logs mehr kommen, hab ich in der heimischen pfSense auf Speichern gedrückt und unmittelbar danach kamen wieder Logs herein.

    So. Habe Deinen Befehl mal ausgeführt (hatte ich schon vorher mal probiert) und es kommt dabei das heraus:
    syslogd does not exist in /etc/rc.d or the local startup
    directories (/usr/local/etc/rc.d)



  • @armleuchter said in Remtoe Syslog Server bekommt nach IP Wechsel keine Daten mehr:

    syslogd does not exist in /etc/rc.d

    Das wissen wir schon aus dem anderen Befehl. Verstehe ich nicht. syslogd wird ja als Service ausgeführt und der genau Pfad sollte mit dem service-Befehl nicht nötig sein, weil er diesem dann ohnehin bekannt sein muss.

    Ich bin dann am Ende. Habe leider keine 2.2er zum Testen verfügbar.



  • Hmm.
    Ich habe das so verstanden, dass die Service Geschichten in /etc/rc.d/ stehen. Das ist aber beim syslogd nicht der Fall, der steht ja in /usr/sbin/. Das sieht mir eher nach Programmen aus. Kann man ja mit dem VI auch reingucken, nach Script sieht das auch nicht aus.

    BTW:
    Auf meiner 2.4.2er pfSense klappt das mit Deinem Befehl zum Neustart -> /etc/rc.d/syslogd restart
    Liegt also an der alten Release.

    Noch eine Idee, wie man evtl. per Einzeiler die PID vom Syslog herausbekommen und diesen killen und neu starten kann?

    Schon mal Danke für die Hilfe und fürs Mitlesen. Wünsche Euch allen einen guten Rutsch ins neue Jahr!



  • Hallo noch mal. Hab da was gefunden....:

    pgrep -f process_name | xargs kill
    /usr/sbin/syslogd

    Das Erste beendet den Syslog und das zweite startet ihn erneut. Ich denke da mache ich ein Script draus und CRONne es einfach 5 Minuten nach dem Wechsel meiner IP. Trotzdem irgendwie blöd, dass das nicht von allein geht. Anderseits schickt man solche Logs auch nicht quer durchs Netz und verwendet dazu auch eine feste IP. Ich gebe noch mal Bescheid, wenn das funktioniert.



  • Nabend und ein frohes Neues!
    Also das mit dem Restart des SyslogD klappt so, aber....es hängen dann die anderen Logs (z.B. DHCP, Captive Portal,...). Mein Fazit alutet: Lasst es! Remote Syslog also nur mit einer static IP. Syslogs zu Hause auf dem Pi sammeln, bei einer nächtlichen Erneuerung der eigenen IP klappt aktuell nicht (2.4.2).

    Evtl. kann man das ja über eine VPN Verbindung realisieren. Möglicherweise erledigt der Aufbau des Tunnels ja das Problem mit der sich ändernden IP. Als Remote Syslog müsste man dann die private IP hinter dem VPN angeben. Hat das zufällig schon mal jemand so ausprobiert?

    Grüsse
    Armleuchter


  • LAYER 8 Moderator

    @armleuchter said in Remtoe Syslog Server bekommt nach IP Wechsel keine Daten mehr:

    danke für Deine Antwort...ja warum so eine alte Release...das sind nen Haufen Sachen eingerichtet und ich habe schlechte Erfahrungen mit dem einfachen Anklicken in Dashboard gemacht. Und bis auf die eine Sache läuft ja alles.

    Genau, es läuft alles. Auf Stand 2015 mit einem seit Jahren unsupporteten und nicht mehr gefixten OS drunter, mit Komponenten die inzwischen mehrere Bugs, Bugfixes und Lücken haben. Auf einer Firewall. Seems legit...

    Habe leider nur gefährliches Halbwissen.

    Dann solltest du dringend wenigstens eines Verinnerlichen: Eine Firewall ist ein Security Produkt. Das Ding dann 5 Jahre lang nicht zu updaten ist fahrlässig. Zumal 2.2.x nicht nur einmal sondern bereits zweifach EOL und tot ist und es dort Probleme/Pakete gab, die heute gar nicht mehr existieren. Somit tust du dir selbst und allen die vom Produkt abhängen, wenn du das Ding aktuell hältst.


Log in to reply