Q. Can InterMapper listen on a specific interface?

A. The default behavior for InterMapper is to bind to all addresses on the machine when opening sockets. To change this default, you need to use the "--listen" command-line argument.

- On OS X:

Add the --listen argument to the /Library/LaunchDaemons/com.dartware.InterMapperServer.plist file. 

  

<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/intermapperd</string>
<string>--no-daemonize</string>
<string>--listen</string>
<string>192.168.1.148</string>
</array>


where the address 192.168.1.148 would be replaced by the appropriate IP address for the interface.

- On Windows:

To specify the command line arguments for the InterMapper service on Windows, you need to use regedit to add the arguments. The Registry key is:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InterMapper

Simply append the arguments to the value of ImagePath under this key. For example to specify that the service should listen to IP address 192.168.1.89, the ImagePath Registry value will be:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InterMapper\ImagePath\"C:\Program Files\InterMapper\InterMapper.exe" --listen 192.168.1.89

Note that if the path contains any white spaces, the path name has to be enclosed in quotes.

You will need to stop and restart the InterMapper service after you save the changes to the Registry.

- On Linux:

On Linux, you will need to modify the init.d script in /etc/init.d/intermapperd as follows:

1. Change the line containing PROGOPTIONS to the following:

PROGOPTIONS="-f $CONFPATH --listen 128.174.4.7"

2. Restart intermapperd, ie type /etc/init.d/intermapperd restart