100

Show HN: Running the second public ODoH relay

Every privacy-focused DNS service requires an account: NextDNS, Cloudflare for Families, Apple's iCloud Private Relay (paid, iOS-only). The protocol that doesn’t require one - ODoH - had basically one well-known public relay operator (Frank Denis on Fastly Compute, default in dnscrypt-proxy). I built a second one and the client to talk to it.

To me this feels like turtles all the way down. Ultimately who owns and controls the layer-4 proxies and DoH servers matters and can easily get into turtle arguments. Who controls the certs controls the mathematical obfuscation (encryption) also matters. Pieces of the puzzle can be shared and recombined at any time.

Me personally, I will stick with running my own DoH servers and thus I need not run any turtles (layer 4 proxies) in the middle of my already encrypted connections. Anyone running Unbound DNS can enable DoH if Unbound was built including '--with-libnghttp2' which the Alpine Linux version has. At the moment my browser is talking to Unbound over DoH on my local network so I get the advantages of ECN but I can easily switch it to any server where I have installed Unbound. Ultimately DNS at some point will be unencrypted UDP port 53 so I would rather it be me that determines where that happens so I can optimize my own cache and pre-cache cron jobs to mask my DNS behavior, but that's just me. Others can do whatever they want, as they should. The people that operate my ISP are bigger deviants than I and they know that I know that they know that I know this.

Oh and as a funny side note, I can warm up cache on entirely unrelated nodes and then transfer the cache export to any node and keep it valid on that node as long as I wish making the vast majority of my DNS requests respond in less than 700 nanoseconds not that I am in any hurry.

    unbound-control dump_cache | bzip -9c > /dev/shm/dump_node_1045.txt.bz2
I can then bring those cache dumps in from any node to my home network making DNS resolution entirely invisible. Automation is only limited to ones imagination. Or AI's imagination. I personally find it beneficial to listen to Pure Imagination from Willy Wonka & The Chocolate Factory (1971) RIP Gene Wilder
4 hours agoBender

What’s the selling point of ODoH given the low uptake of ECH which means the name of the server you’re talking to is given away anyway?

6 hours agocedws

By that logic, someone else would ask "what's the point of ECH since that data will just leak via DNS?" and then neither technology would ever roll out. Deploying this now despite that is exactly how you fix that chicken-and-egg problem.

2 hours agojosephcsible

What's the selling point of locking your front door given that you have an easily breakable window nearby?

4 hours agoaftbit

It's more like closing the blinds while your frontdoor is wide open.

2 hours agocwillu

It means you can use a decently fast DNS server like Cloudflare without the major privacy problems of using Cloudflare. Or DNS4EU, or any non-ISP DNS server really.

Your ISP snooping on you with SNI logging is something people using normal ISPs don't need to worry about, but feeding all your data into a profit-driven company is.

6 hours agojeroenhd

> something people using normal ISPs don't need to worry about

It doesn't matter which ISP you're using if the cables are tapped, which they pretty much are.

5 hours agoLoganDark

If you piss off any government enough that you suspect your wires may be tapped, ODoH will not save you and TOR probably will not do much better.

If you live in a place with omnipresent government monitoring (China/Iran/etc.), there is no solution. Any solution to getting wiretapped with a legal order will almost certainly be an extra charge the day you do get arrested.

2 hours agojeroenhd

Please don’t be intentionally tone-deaf. “a nation-state can track my shit therefore it’s not with doing” is a silly, silly, silly approach to security, and does not speak to the concerns of the vast majority of even privacy-focused people.

4 hours agoUqWBcuFx6NV4r
[deleted]
2 hours ago

My, admittedly cynical, view of it is that the main selling point is that you share your data with the person running the ODoH server.

The truth is that very very few people run their own recursive nameserver. The entirely reasonable assumption for any authoritative nameserver, like .com, is that the query is being asked on behalf of someone else and knowing that a user of your nameserver asked for the ip of sexysheep.com doesn't give them a lot of useful info.

I'm think many ISPs actually sell a lot of data from their recursive nameservers, but I'm willing to bet that almost no-one bothers to sniff port 53 udp traffic going elsewhere.

My vote for the best privacy option is always going to be just run pi-hole with your own recursive nameservers.

6 hours agoelp

The relay sees IP + ciphertext, the target sees question + relay's IP. No single party gets both

5 hours agordme

What if the relay and target are being operated by the same provider? The relay controls where the question is sent right? They can collude?

5 hours agopetcat

no, you are actually telling the relay where to redirect your question from the start (because you are encrypting the question with the public key of the destination resolver) - the relay sending the question where it wants would result in the destination to not be able to decrypt it

5 hours agordme

> your own recursive nameserver

But then the internet can know that you are the one using your own resolvers and so they can trivially identify your traffic.

Really you need to use some public resolver with a critical mass of other users in order to have any hope for anonymity. But then of course you have to trust that resolver too.

6 hours agopetcat

I'm disappointed that sexysheep.com is just a domain parking page. I'm not sure what I was hoping for, but I think that's the worst possible outcome.

4 hours agoaftbit

I'd think that if you've got several leaks then patching one up is still forward progress even if it doesn't deliver a full fix immediately.

6 hours agofc417fc802

They solve different things. ODoH hides your question, not who you're talking to.

6 hours agordme

Sure ODoH hides your query but you then turn around and leak the question you just asked as part of the TLS handshake.

6 hours agofc417fc802

I agree with you, however that's a separate problem that needs to be solved

6 hours agordme

this is what i was looking for. seems like a truly zero conf alternative to technetium hope it works nice on mac even with docker. can it run as a service? any future integration planned with tailscale? it would be nice to have a pluggable system so this can be used instead of tsdproxy as well. maybe a connection to docker socket is necessary to have a service discovery feature.

an hour agodontfeedthemac

actually that is exactly how i am currently running it - dogfooding from my Mac

sudo numa install handles launchd, numa then becomes tailscale's fallback resolver

docker socket service discovery - on the roadmap

an hour agordme

anyone know how the diagram was made? pretty cool.

3 hours agopiuvas

Claude. Check out the recent "the unusual effectiveness of HTML" articles on HN recently.

3 hours agondom91

What would it take to get truly anonymous dns? I guess it’s not really possible no?

6 hours agogigatexal

You wrap the DNS request in a different layer of encryption than the relay server, so the relay server only knows you tried to resolve something, and the DNS server only knows someone tried to resolve a particular domain. That's how ODoH works.

To make it harder for parties to collude, you need additional encrypted hops, the way Tor does. ODoH doesn't do that, unless you're routing ODoH through Tor of course.

You would also need some kind of proof that the DNS records returned by the resolving DNS server haven't been tampered with, or a tracking DNS server could direct you to one of their IP addresses and proxy the request transparently. Unfortunately, the best solution we have for that is DNSSEC which is a very 90s take on DNS validation. It works fine if you don't abuse DNS in weird ways, but it's due for a redesign.

6 hours agojeroenhd
[deleted]
5 hours ago

Why not? Cloudflare makes 1.1.1.1 available over tor although the latency is through the roof and you still need to consider the possibility of fingerprinting the client network stack.

6 hours agofc417fc802

The relay is a systemd unit on a VPS, Caddy for TLS, SSRF-hardened (regex-strict hostnames, no IP literals). eTLD+1 same-operator check rejects relay+target run by the same org by default. HPKE is odoh-rs from Cloudflare

``` cargo install numa

# set mode = "odoh" in numa.toml ```

Repo: https://github.com/razvandimescu/numa

7 hours agordme

[flagged]

6 hours agoplexescor

[dead]

4 hours agoaboardRat4

[dead]

6 hours agopetcat

What is the end-game for the private TLD? Is this going to turn into some cryptocurrency thing?

4 hours agoskinfaxi

sovereign naming without ICANN or registrars - pkarr through DHT (not blockchain)

3 hours agordme

That's really great. I apologize for my initial cynicism. How can you address something like namesquatting if it's first-come?