Hello everyone.
Long story short I have just begun experimenting with running multiple Tor instances on a couple of my servers, namely to see if it actually makes an appreciable difference to my overall throughput.
I have multiple public IPs on my servers, and I would like each Tor instance to use its own dedicated address so I have configured the appropriate ip:port addresses in my second torrc file.
When I start up the second instance, everything gets bound to the correct ip:port combinations (as specified in my torrc file), and I have no problems getting Tor to bootstrap and successfully open a circuit.
The problem appears when Tor tries to verify that my ORPort/DirPort are reachable, because for some reason it's trying to check the wrong IP address?
EG - Here are the relevant ports from my torrc file:
SocksPort 9053
ControlPort 9063
Log notice file /var/log/tor/notices3.log
RunAsDaemon 1
DataDirectory /var/lib/tor/3
When I start Tor, everything matches the above:
Jan 08 11:56:23.179 [notice] Opening Control listener on
127.0.0.1:9063Jan 08 11:56:23.179 [notice] Opening Directory listener on
50.7.178.99:83
Tor successfully bootstraps and establishes a circuit:
Jan 08 11:57:13.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Jan 08 11:57:13.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Jan 08 11:57:13.000 [notice] Bootstrapped 100%: Done
BUT THEN ...
Jan 08 11:57:13.000 [notice] Now checking whether ORPort
50.7.178.102:444 and DirPort
50.7.178.102:83 are reachable... (this may take up to 20 minutes -- look for log messages indicating success)
Notice that it's still checking the correct port from the torrc file, but not the correct ip address. I've tried different IP:port combinations, and each time it's the same result. Right port, wrong IP.
I've tried now on two different servers, and had exactly the same results each time.
Machines are running Debian 8.0 with Tor 0.2.7.6. I have tried installing from the Debian repo, as well as building from the latest source. No difference.
What's causing this to go wrong?
Is there something incredibly simple which I'm simply just not doing properly, or is there possibly more going on here than first meets the eye?