Wo loggt relayd hin?

Kugel

Member
Grüß Gott,

hat jemand eine Idee, wo relayd hinloggen könnte?
Bei mir tut's weder nach /var/log/* noch pflog.
Ich sehe die Logausgaben nur auf STDOUT, wenn ich relayd mit der Option -d (Do not daemonize) starte.

Zusatzangaben:

Code:
$ uname -mrs
OpenBSD 6.2 amd64

$ relayctl log verbose

# /etc/relayd.conf
http protocol http {
        # erlauben
        pass

        # loggen
        match request header log "Referer"
}
relay http {
        listen on 0.0.0.0 port 80
        protocol http

        # an Webserver weiterleiten
        forward to <127.0.0.1> port 80
}
 
Danke für den Vorschlag!
Mit der Direktive "log all" will relayd gar nicht erst starten. (Wenn ich mich nicht täsche, hatte sich vor einigen Jahren die Syntax der relayd.conf geändert.)
Und "-d" in rc.conf.local mitzugeben scheint mir nicht unbedingt eine gute Idee zu sein...
 
Danke für den Vorschlag!
Mit der Direktive "log all" will relayd gar nicht erst starten. (Wenn ich mich nicht täsche, hatte sich vor einigen Jahren die Syntax der relayd.conf geändert.)
Und "-d" in rc.conf.local mitzugeben scheint mir nicht unbedingt eine gute Idee zu sein...
Heißt jetzt quasi, dass du es über die syslog.conf löst?
 
Also relayd sollte eigentlich per syslog() loggen. Du musst also eine syslog.conf schreiben, die die relayd Logs auch in deiner Datei festhält und diese per newsyslog.conf rotieren lassen. Außerdem kann relayd auch PF Regeln erzeugen. Diese können noch mal PF logging über pflog(4) verwenden. Deine Frage ist also noch nicht genau genug.
 
Vorab: Den aktuellen log level kannst Du z.B. so aendern:
Code:
# relayctl log verbose

Der verbose log geht an syslogd. Standardmaessig ist das allerdings deaktiviert. Um das zu aktivieren, gehe wie folgt vor:
Code:
In /etc/syslog.conf:

!relayd
*.* /var/log/relayd

syslogd(8) erstellt allerdings keine files. Diese muessen noch von Hand angelegt werden:
Code:
# touch /var/log/relayd

Danach syslogd neu starten:
Code:
rcctl restart syslogd
 
Danke für die Vorschläge!

@Crest,
da in der syslog.conf
Code:
"daemon.info /var/log/daemon"
steht, sollten die Logausgaben von relayd ja dort landen, oder?
Bei mir tauchen die nirgendwo in /var/log auf.

Ich würde lieber mit relayd statt pf loggen, weil man das dort feiner einstellen kann. pf loggt (meines Wissens) ja den kompletten Header.

@midnight,
das habe ich jetzt so gemacht und in /var/log/relayd steht z.B.

Code:
Jan 17 20:11:19 xxx relayd[86693]: startup
Jan 17 20:11:19 xxx relayd[78244]: adding 1 hosts from table httpd:80 (no check)

Aber ein Webseitenaufruf erzeugt dort keinen neuen Eintrag.

(Ich weiß, dass die HTTP-Anfragen auch in /var/www/logs/access nachsehen kann, aber solche Anfragen wie "/phpmyadmin" sollen gar nicht erst bis zum httpd kommen, sondern bereits von relayd abgelehnt und geloggt werden. Und gerade beim Loggen hapert's.)
 
@Rob,
das ist richtig. Aber weil das Blocken funktioniert, habe ich mich auf die Log-Regeln beschränkt.

Hab's eben mit 'relayd_flags="-v -d"' in der rc.conf.local versucht, aber damit kann man den Dienst nicht mit rcctl neustarten.
 
Zurück
Oben