For some time now, I regularly but randomly sport spontaneous
disconnects of my ADSL router at home, which is (as of today) a
Zyxel Prestige 650-R. This little goodie sports a UNIX
which lets you record almost everything that happens during
operation. Including, hopefully, the reason why it disconnects
So far, so good. The only thing I needed at the other end of the
pipe was some actual syslogd. No problem, I thought,
Mac OS X
is UNIX based and has this built-in. Unfortunately, for some
good reasons, the
syslogd only accepts local
logging. Furthermore, the
man page was actually
outdated and did not match the options
syslogd currently understands.
So started my quest for more viable information. The first hit
good. Except that it was written for Jaguar which sports an older
version of syslogd. The remedy came in the form of an
updated man page
for syslogd: Obviously, omitting the
-s option and
adding a correct
-a allowed_peer option would make
Several hours and lots of searches for a
logger client that let me log from one client to a
server later, I finally managed to log the events. Simple. Just
sudo /usr/sbin/syslogd -a [source_ip]:514
and you’re done. You can conveniently change this in
/etc/rc, line 122 or so.
The only thing you have to do on the server side is to setup
/etc/syslog.conf with the right options to log the
Router’s events to a separate file:
# Zyxel Prestige Router log facilitylocal1.* /var/log/router.log
will log all events coming from the
to the desired file.
Finally, to complete the setup on the router, you have to set it
to the same
local1 facility and to add the
destination IP. If—as in my case— you use DHCP to
configure your computer’s IP, you can also add the
broadcast IP of your local network. That is, if your home
networks IP range is something like
then just put
192.168.1.255 as the router’s
syslog destination IP.
Voilà. Computing is that easy.
must exist prior to the launch of the
syslogd daemon. Otherwise, nothing will be logged!