Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #33238
Closed (moved) (moved)
Open
Created Feb 11, 2020 by teor@teor

Prop 312: 3.2.3. Use Local Interface IPv6 Address

This ticket depends on Address IPv6 support in #33233 (moved).

If they don't have usable Address or ORPort addresses, relays (and bridges) should use publicly routable addresses from the OS interface addresses or routing table, as their IPv4 and IPv6 addresses.

Tor has local interface address resolution functions, which support most major OSes. Tor uses these functions to guess its IPv4 address. We propose using them to also guess tor's IPv6 address.

We also propose modifying the address resolution order, so interface addresses are used before the local hostname. This decision is based on our principles: interface addresses are local, trusted, and reliable; hostname lookups may be remote, untrusted, and unreliable.

If the local interface addresses are unavailable, tor opens a UDP socket to a publicly routable address, but doesn't actually send any packets. Instead, it uses the socket APIs to discover the interface address for the socket. (UDP is used because it is stateless, so the OS will not send any packets to open a connection.)

Tor already ignores private IPv4 interface addresses on public relays. We propose to also ignore private IPv6 interface addresses.

See proposal 312, section 3.2.1, general case: https://gitweb.torproject.org/torspec.git/tree/proposals/312-relay-auto-ipv6-addr.txt#n359

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking