Skip to content

Minikube VM inherits macOS DNS-over-TLS proxy (srp-mdns-proxy on port 853), causing DNS resolution failures inside VM #22786

@outcoldman

Description

@outcoldman

What Happened?

I’m experiencing consistent DNS resolution failures inside a Minikube VM on macOS, and after debugging I traced the issue to macOS exposing a DNS-over-TLS proxy (srp-mdns-proxy) on port 853, which Minikube appears to inherit as its upstream resolver.

The issue started when I noticed the standard, which is being referenced in some other issues, but those were Windows (which also maybe related to it)

Failing to connect to https://registry.k8s.io/ from inside the minikube VM

After that I tried once to create a ha cluster with --ha --nodes=6 and that is where I have noticed issues with DNS.

I have two Macs, one does not have this issue, the other one does. I have found possible a reason, why one of them fail, it is this process on macOS

sudo lsof -i :853

COMMAND   PID           USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
srp-mdns- 778 _mdnsresponder    5u  IPv6 0xba1ae837bbad06b4      0t0  TCP *:domain-s (LISTEN)

Both Macs have the same macOS version (26.4), one is MBP, another one is Mac Pro. So I guess that might be a difference, why one has this process, and another one does not.

The issue is, not only Failing to connect to https://registry.k8s.io/ from inside the minikube VM, but also

curl https://google.com
curl: (6) Could not resolve host: google.com

But!

$ nslookup google.com 1.1.1.1
Server:		1.1.1.1
Address:	1.1.1.1:53

Non-authoritative answer:
Name:	google.com
Address: 2607:f8b0:4008:809::200e

Non-authoritative answer:
Name:	google.com
Address: 142.251.35.238

And

resolvectl status

Global
           Protocols: +LLMNR +mDNS DNSOverTLS=opportunistic DNSSEC=no/unsupported
    resolv.conf mode: uplink
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google 1.0.0.1#cloudflare-dns.com 8.8.4.4#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2001:4860:4860::8888#dns.google
                      2606:4700:4700::1001#cloudflare-dns.com 2001:4860:4860::8844#dns.google

Link 2 (eth0)
    Current Scopes: DNS LLMNR/IPv4
         Protocols: +DefaultRoute +LLMNR -mDNS DNSOverTLS=opportunistic DNSSEC=no/unsupported
Current DNS Server: 192.168.65.1
       DNS Servers: 192.168.65.1

On the host, if I run

sudo netstat -anv | grep 853

I get a LOT of

tcp4       0      0  192.168.65.1.853       192.168.65.24.49286    TIME_WAIT           1124          845  131392  131768   srp-mdns-proxy:778    02131 00010004 0000000000020149 00000081 01080800      0      0 000000

And that is where I luck some knowledge what is actually causing this issue. Is that srp-mdns-proxy failing, or is it minikube does not talk correctly to it. Maybe DNSoverTLS should be disabled?

I will be happy to provide more details, if required. And going to dig more to see if I can find some information.

Attach the log file

See description

Operating System

macOS (Default)

Driver

vfkit

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions