Disable reverse lookup in rsync daemon
I'm having an issue with some rsync modules being served through rsync --daemon
This lines are from my /var/log/rsyncd.log file :
2013/02/08 12:15:28 [13174] name lookup failed for XXX.XXX.XXX.XXX: Name or service not known
2013/02/08 12:15:28 [13174] connect from UNKNOWN (XXX.XXX.XXX.XXX)
From rsyncd.conf man page:
reverse lookup
Controls whether the daemon performs a reverse lookup on the client's IP address to determine its hostname, which is used for "hosts allow"/"hosts deny" checks and the "%h" log escape. This is enabled by default, but you may wish to disable it to save time if you know the lookup will not return a useful result, in which case the daemon will use the name "UNDETERMINED" instead.
If this parameter is enabled globally (even by default), rsync performs the lookup as soon as a client connects, so disabling it for a module will not avoid the lookup. Thus, you probably want to disable it globally and then enable it for modules that need the information.
So I added the following line to the global conf in /etc/rsyncd.conf
reverse lookup = no
But, when I stopped and started the daemon this lines where added to the log file:
2013/02/08 12:47:17 [13675] Unknown Parameter encountered: "reverse lookup"
2013/02/08 12:47:17 [13675] IGNORING unknown parameter "reverse lookup"
2013/02/08 12:47:17 [13676] rsyncd version 3.0.7 starting, listening on port 873
This is the version installed on my server:
rsync version 3.0.7 protocol version 30
Solution 1:
The reverse lookup
option is only present in the upcoming 3.1.0 release:
NEWS for rsync 3.1.0 (UNRELEASED)
- Added the "reverse lookup" parameter to the rsync daemon config file to allow reverse-DNS lookups to be disabled.
Solution 2:
I don't think the option for turning off reverse dns lookup exists in rsync daemon. What you can do instead is put the client hosts and IP addresses in /etc/hosts
, of course assuming that your clients have static IP and are a few hosts.