It's OK for any self-reorganizing network, including the Tor one! The red flag - in means of connection listing - if there will be a connections to the IP addresses you're sure that are not members of Tor network and not a services you do need to use.
Tor uses TCP tunnels, so - regardless of the previous answer - no need to use it. The hidden service is reached from the Tor node that is hosting it, usually through a localhost. The scenario you've described about IP revealing - yes, it can be a privacy problem. The design doc states clear - the system is anonymizing mostly the client, not the server - it's ...
It's OK - all the ip-to-geo databases do have their mistakes. If you need it to be as precise as it can - buy a paid GeoIP database and feed it to Tor, but even this time - it will have it's misses, just be prepared
Well, for this task I used to have this setup and it proved itself to be bulletproof:
You have your onion site - either balanced by OnionBalance or not - on your servers. If you do have a balanced setup - repeat it for every node
You arise a separated Tor instances with the bridge server on really static IP's
You connect your site instances to your bridges
In simple words:
CircID serves the purpose to separate the circuits = onion 3-node chains. As it described in design - I'm citing: The header includes a circuit identifier (circID) that
specifies which circuit the cell refers to (many circuits can
be multiplexed over the single TLS connection), and a com-
mand to describe what to do with the cell’s payload.
ControlPort is not so safe to be opened just by itself even in a private network, but a STunnel with a strict local CA and certificate verification solves this problem easily. SSH port can be opened to your private network, but for public network just make a hidden service for it with the client key to avoid the service guessing and corresponding attack ...
The Tor Project has a nice overview page of how onion services work: https://community.torproject.org/onion-services/overview/
Here is my own attempt at reading the specification
Based upon the public key extracted from the .onion domain and a random value (that changes over time), math can be done to figure out which of the many thousands of nodes have a &...
You're correct: Tor will detect the address change unless it's instructed to use a specific IP address in the torrc config. To speed up the address detection use a python script that will use Stem library for Tor and will check if your address has changed. And - when it changed - send SIGNAL NEWNYM to Tor control port and try to make an outgoing request, it ...