Monowall syslog wegschreiben lassen

rMarkus

Chuck The Plant
Hallo,

heute ist meine M0n0wall 1.11 auf der WRAP-Plattform eingefroren (nach 80 Tagen uptime).
Mich wurmt das und vor allem kann ich nicht mehr feststellen, woran es dann lag, da die Logs im RAM-Drive lagen.

Zukuenftig will ich ihn auf einen anderen FreeBSD-Rechner via Syslog protokollieren lassen.
Unter System->Diagnostics->Logs->Settings->" Enable syslog'ing to remote syslog server" waere das moeglich.
Problematisch ist, dass mein Syslog-Server nur etwa 5 Tage die Woche verfuegbar waere.
-> Ist das ein Problem, wenn die Nachrichten nicht immer weggeschrieben werden koennen?
->Was passiert mit den Nachrichten, die anfallen, wenn der Syslog-Host ausgeschaltet ist?
->Wie muss ich den Syslog-Host vorbereiten, damit er ueberhaupt Nachrichten annimmt?

Danke!
 
Junge, lies doch einfach syslogd(8) und syslog.conf(5). Da steht alles genau drin.

Nachrichten, die abgeschickt werden, wenn der Logserver down ist, gehen natuerlich verloren. Pech gehabt.
 
Entschuldigung, ich wusste gar nicht, dass ich damit Jemanden persönlich angegriffen habe.

Mein Problem war und ist, dass mein Syslog trotz nach genauem Vorgehen nach den Anleitungen nicht wegeschreibt.

Die m0n0wall schreibt weg auf den Host, wenn man wie oben beschrieben vorgeht.
Die FreeBSD-Maschine nimmt auch an, wenn man in /etc/rc.conf die Zeile "syslogd_flags="-a firewall.local" hinzufügt.
"firewall.local" ist hier die m0n0wall.

Nur verschluckt der Syslog die Meldungen bei folgender Konfiguration
/etc/syslogd.conf
Code:
# Syslog-Eintraege dieser Maschine
+@
*.err;kern.debug;auth.notice;mail.crit          /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err   /var/log/messages
security.*                                      /var/log/security
auth.info;authpriv.info                         /var/log/auth.log
mail.info                                       /var/log/maillog
lpr.info                                        /var/log/lpd-errs
ftp.info                                        /var/log/xferlog
cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info                                   /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.*                                            /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.*                                            @loghost
# uncomment these if you're running inn
# news.crit                                     /var/log/news/news.crit
# news.err                                      /var/log/news/news.err
# news.notice                                   /var/log/news/news.notice
!startslip
*.*                                             /var/log/slip.log
!ppp
*.*                                             /var/log/ppp.log

# Syslog-Eintraege der entfernten Maschine
+firewall.local
*.*                                            /vor/log/firewall/messages

Selbstverständlich habe ich diese Log-Datei auch in die /etc/newsyslog.conf erweitert um:
Code:
/var/log/firewall/messages              640  7     500  *     J
Die Datei habe ich auch mit 640 leer angelegt.

Nach meinen Unterlagen (man-pages, /etc/defaults/rc.conf) müsste das so funktionieren.
Macht es aber nicht.
+@ --> funktioniert sogar, es landen dann nur die lokalen Nachrichten in den Dateien
Ich habe es auch mal mit IP oder kurznamen statt vollen Namen versucht. DNS funktioniert bei mir.



PS: Entschuldigung nochmal!
 
Du brauchst dich nicht entschuldigen, aber warum hast du all diese Information nicht gleich im ersten Post gebracht? Nunja, dann wollen wir mal:

1. Existiert /var/log/firewall/messages als leere Datei?
2. Probiers mal komplett ohne Hostangaben in syslog.conf. Funktioniert bei mir einwandfrei.
3. Wie sieht syslogd.conf auf dem Client aus?
4. Was sagt tcpdump zum syslog-Verkehr?
 
Danke für die schnelle Antwort:

MrFixit schrieb:
1. Existiert /var/log/firewall/messages als leere Datei?
ja, auch mit 640. Root ist der Besitzer.

MrFixit schrieb:
2. Probiers mal komplett ohne Hostangaben in syslog.conf. Funktioniert bei mir einwandfrei.
So funktioniert es erstmal, d.h. die Daten kommen in jedem Fall richtig zum entfernten Syslog.
Ich habe im ersten Schritt nur "+@" aus der syslog.conf rausgenommen, so dass die ursprünglichen Einträge nicht mehr nur für die lokale Maschine gelten und er alles wegschreibt.
Das funktioniert, jetzt schreibt der Syslog brav die Daten weg. Es erscheint sogar dann darin der Bezug zu der Firewall (namentlich).

Jetzt muss ich nur noch schauen, warum die Host-Sektion der syslog.conf bei Localhost Wirkung zeigt aber nicht bei dem entfernten Host.
 
Treffer!

Da ich einen Fehler feststellen konnte und im Internet immer bei aehnlichen Fehlern auf syslog-ng verwiesen wurde, habe ich mal meine Firewall in die /etc/hosts der Syslog-Maschine eingetragen.

Und: Es geht!

Verwunderlich ist das schon etwas, da ich ein vollstaendig funktionierendes DNS habe und sogar in die /etc/syslog.conf die Firewall via IP eingetragen habe.

Ich versuche das mal demnaechst mal als Anleitung fuer das Wiki hier zusammenzuschreiben, dass nicht wieder Jemand suchen muss.
 
Zurück
Oben