CoreDNS Host is unreachable

Cluster information:

cluster communication via vpn interface.
Internet communication via default interface.

Kubernetes version:
Cloud being used: bare-metal
Installation method: kubeadm
Host OS: ubuntu 20.04
CNI and version: Weave 1.16
CRI and version: cri-o 1.21.2

I’ve noticed that the DNS resolution inside my cluster doesn’t work.
A Nslookup command inside a container gives me the following error.

/ # nslookup kubernetes.default
;; connection timed out; no servers could be reached

The resolv.conf shows the correct dns service.
The nslookup from the node to coredns work for public entries but kubernetes.default gives me an error.
See coredns log:

[INFO] - 33664 "A IN udp 45 false 4096" NOERROR qr,rd,ra 301 0.01980966s
[INFO] - 6560 "A IN kubernetes.default. udp 59 false 4096" NXDOMAIN qr,rd,ra,ad 111 0.020894275s

The CoreDNS pod itself is reachable via the node but not from the container.
Putting a debugging pod into the coredns namespace did not fix the issue.
The logs for crio, coredns, kube-proxy and kubelet show no errors or suspicious lines.

I’ve already followed the “Debugging DNS Resolution” and “Debug Services” Guides which didn’t help.

I welcome any sort of help and advice.

When you configure you domain name in DNS server, then only “nslookup” will work.

Hi @vinodhvenugopal,
thank you for your reply.
What configuration do you mean?
As far as I understood the documentation kubernetes services should automatically receive an entry inside coredns. And also coredns is entirely not reachable from within my pods. That should not happen by default either from what I can tell.