-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tor instances not running on the primary/first IP will be announced on the wrong IP and fail reachability test ('Address' needed) #153
Comments
Here the requested data: ip addr
ip ro
ip -6 ro
$ cat tor.yml
|
Thanks for the fast reply, could you also add
thanks! |
|
thanks for providing that info! tor version for the record: 0.3.2.10 An easy fix would be to simply add the following to the template:
if we run on public IPv4 addresses (no NAT) and if the user did not set I sent an email to tor-dev: |
It is less obvious than I thought, because currently it would work even if we are behind NAT on public IPs, if we start doing what I suggested above things would no longer work in such (rare) cases. |
…#153) Due to a bug in tor, instances that are not binding on the first public IPv4 address are not announcing their correct IP address (they use the first IP instead of the one configured via `OutboundBindAddress`) and therefor fail their reachability test and never upload a valid descriptor. This commit works around this by explicitly setting `Address` to the same IP address as the one used for `OutboundBindAddress`. Once the upstream bugs are fixed we should revert this change so we might also work in setups where public IPs are NATed to other public IPs. This bug affected all users which set `tor_maxPublicIPs` to a value greater than 1. Upstream bugs: https://trac.torproject.org/projects/tor/ticket/13953 https://trac.torproject.org/projects/tor/ticket/19919 Thanks to Tim Niemeyer (f3netze.de) for bringing this to our attention.
This is apparently an old upstream bug in tor reported in 2014 here: Until upstream fixed this we will workaround this issue by sitting We set the
Note: We do not set The fix will not require the operator to make any change to their configs (it should work out of the box). @RedDog99 Could you test b90109a and confirm that it works for you? (you could use the |
I think -C prevents the "Check if /etc/resolv.conf contains any Google DNS servers (Exits only)" to run. Without it, the "Abort if Google DNS server is in use (Exits only)" fails. I removed the include for the google check temporary. There are some more things why -C -D may not work: After removing all stdouts (there is even one in the template), i got a new torrc and just the removed stdout changed. So yes, the change solves the problem for me. Thank you for your fast and kind help. |
thanks for testing, I'll be putting out a new release with this fix in the next few hours. |
workaround is in v0.3.3. This ticket will remain open until the upstream issue |
the upstream issue https://gitlab.torproject.org/tpo/core/tor/-/issues/21044 has been closed as wontfix. we should be fine with our workaround b90109a |
Tim reports that on a multi public IP exit only the first 2 instances on the first public IP confirm ORPort reachability:
https://lists.torproject.org/pipermail/tor-relays/2018-March/014891.html
Note the mismatch between the IP addresses.
We expect this to be covered by our use of OutboundBindAddress
Tim worked around the issue by adjusting the torrc template to add the
Address
config parameter which we do not add by default.The text was updated successfully, but these errors were encountered: