Il server dhcp isc-dhcp-server utilizza il demone syslog per loggare la propria attività. In questo articolo vediamo come configurare rsyslog per permettere al server dhcp di scrivere i messaggi di log su un nuovo file in /var/log al posto del file predefinito /var/log/syslog.
Premesse
Siamo su un server con debian 9, dove sono installati rsyslogd e isc-dhcp-server e logrotate già installati e funzionanti.
Nel file di configurazione /etc/dhcp/dhcpd.conf troviamo la direttiva log-facility:
1 |
log-facility local7; |
Poichè local7 non è configurato in rsyslog, tutti i log del server dhcp vengono inviati sul file /var/log/syslog
Configuriamo rsyslog
Dobbiamo quindi configurare questa rotta in rsyslog, per farlo ci basta creare un nuovo file in /etc/rsyslog.d/
1 2 3 4 5 |
# # cat > /etc/rsyslog.d/dhcpd.conf <<! local7.* /var/log/dhcpd/dhcpd.log ! # chmod +r /etc/rsyslog.d/dhcpd.conf |
In questo modo abbiamo detto di inviare sul file /var/log/dhcpd.log tutti i canali di log ( debug, err, info ecc ) inviati a local7
Creiamo il nuovo file di log
1 2 3 4 5 |
# mkdir /var/log/dhcpd # touch /var/log/dhcpd/dhcpd.log # chmod +w /var/log/dhcpd/dhcpd.log |
Ora possiamo riavviare il servizio rsyslog
1 |
# systemctl restart rsyslog |
Riavviamo anche il demone dhcp
1 |
# systemctl restart isc-dhcp-server |
Ora possiamo vedere che il file di log /var/log/dhcpd.log contiene i messaggi di avvio del servizio
Configuriamo logrotate
Non ci resta che istruire logrotate per gestire il nuovo file di log, terremo in /var/log gli ultimi 4 file in formato gzip oltre al file di log attuale che ruoteranno con cadenza giornaliera
1 2 3 4 5 6 7 8 9 10 |
# cat > /etc/logrotate.d/dhcpd <<! /var/log/dhcpd/dhcpd.log { rotate 4 daily create compress missingok notifempty } ! |