Opened 3 years ago

Closed 3 years ago

#17281 closed defect (fixed)

Make IPv6-only clients work and bootstrap

Reported by: nickm Owned by: teor
Priority: High Milestone: Tor: 0.2.8.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: ipv6 028-triage
Cc: ln5, mcs Actual Points:
Parent ID: #17840 Points: medium/large
Reviewer: Sponsor:

Description

We have a big pile of IPv6 tickets, but none of them actually is for this.

If you start a tor client on an IPv6-only connection, it should bootstrap and connect to the network happily.

Part of this can be solved through the use of fallback directories on ipv6, but we need to make sure that the code actually works (#15235)

Child Tickets

Change History (8)

comment:1 Changed 3 years ago by teor

The IPv6 code for fallback directory (and authority) line parsing doesn't work, even for clients. I was working on it in #6027 & #8374, I'll make future comments here.

comment:2 Changed 3 years ago by mcs

Cc: mcs added
Severity: Normal

comment:3 Changed 3 years ago by teor

Parent ID: #17811

comment:4 Changed 3 years ago by teor

Design notes:

  • Add ClientPreferIPv6DirPort to break ties for directory documents on IPv4 / IPv6 systems.

comment:5 in reply to:  4 Changed 3 years ago by teor

Replying to teor:

Design notes:

  • Add ClientPreferIPv6DirPort to break ties for directory documents on IPv4 / IPv6 systems.

See #17834

comment:6 Changed 3 years ago by teor

Owner: set to teor
Status: newaccepted

I wonder how much of this works already?

Clearly, we need at least some authorities or fallback directories with hard-coded IPv6 addresses (#17327), otherwise an IPv6-only client has no hope of bootstrapping.

I'm not sure if we need to fix reachable addresses (#9067), unless it denies all IPv6 directory or OR addresses by default (#9068).

I'm not sure if clients already use whatever addresses they can bootstrap and OR over (#17217), or if they always choose IPv4 addresses. Will I need to set ClientPreferIPv6ORPort or ClientPreferIPv6DirPort (#17834)?

I suspect that if we don't listen on IPv6 by default on the SOCKSPort (#11360), then this will be a show-stopper, but only after the client is connected to the Tor network.

I'll be doing my testing with a client build with:

  • The latest patch for authority IPv6 addresses (#17327)
  • ClientIPv6 1 set

comment:7 Changed 3 years ago by teor

Parent ID: #17811#17840

The changes in #17840 are enough to get clients on IPv6 bootstrapping and connecting, when configured correctly, although quite a few improvements could be made (see my comments in #17840, and the list of tasks in #17811).

This ticket can close when #17840 merges.

comment:8 Changed 3 years ago by teor

Resolution: fixed
Status: acceptedclosed

We resolved this in #17840 by introducing ClientUseIPv4. IPv6-only clients should set ClientUseIPv4 to 0.

They then bootstrap using IPv6 authorities or fallback directory mirrors (#17158), and connect using IPv6 relays.

See my branch feature17840-v11-squashed in #17840.

Note: See TracTickets for help on using tickets.