Dnsmasq logging to remote server

I'm trying to log all DHCP and DNS requests to an external server, as my router has very little flash memory, and no USB port.

The config for DNS logging only lets me specify a path.

/etc/dnsmasq.conf

# /etc/dnsmasq.conf
log-dhcp
log-queries
log-facility=/tmp/dnsmasq.log

What I initially thought of was making a small C program that uses named pipes, and run that on my router, and change the log path to the name of my named pipe, as Windows treats named pipes like paths afaik (iirc write() and such calls redirect to the pipe).
I could then make the program redirect the logs to an external server.
I'm not sure if this will work, and I don't want to make it write to filesystem and then upload to a server, as it will wear out the flash memory.
What should I do in such a scenario?

This is how I've done it with syslog...

I use Visual Syslog on the laptop to view it.

There may be a way to tell dnsmasq to log to syslog.

https://community.ui.com/questions/Log-DNS-query-to-syslog/49283d59-e829-49c9-ba4b-15ca8d858b17#answer/2bf2222b-fce8-4a6a-a8d0-c05d04368b87

You can use CIFS or NFS client to mount a network drive and the dnsmasq logs will be saved directly to the remote server.

Isn’t this info already as default about 90% of the system log to begin with?
It should be enough to send the system log to the server and sort it out there with rsyslog for example.

1 Like

use syslog-ng, filter whatever you like and forward to remote syslog server.

Because of the amount of DNS-logs from dnsmasq, system logs to port 514 via UDP to be considered, instead of TCP.

Whatever works...

Thanks for the replies, I don't want to send the entire syslog over as it can be too disorganized, so I have decided to use something like rsync to send it separately, and then delete the source logs.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.