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.