How Kubernetes CoreDNS works

CoreDNS is the default, flexible, and extensible DNS server in Kubernetes, providing service discovery and name resolution by mapping service and pod names to IP addresses within the cluster. It allows pods to find services using human-readable domain names instead of IPs. CoreDNS is running as pods (a Kubernetes deployment with 2 replicas) in the kube-system namespace.

root@vps-2153e875:~# kubectl get pods -A -o wide
NAMESPACE        NAME                                   READY   STATUS    RESTARTS      AGE    IP               NODE        
kube-flannel     kube-flannel-ds-xcdcr                  1/1     Running   2 (21d ago)   105d   135.125.174.14   vps-2153e875
kube-system      coredns-674b8bbfcf-8qdxv               1/1     Running   2 (21d ago)   105d   10.244.0.34      vps-2153e875
kube-system      coredns-674b8bbfcf-btksw               1/1     Running   2 (21d ago)   105d   10.244.0.33      vps-2153e875
kube-system      etcd-vps-2153e875                      1/1     Running   2 (21d ago)   105d   135.125.174.14   vps-2153e875
kube-system      kube-apiserver-vps-2153e875            1/1     Running   2 (21d ago)   105d   135.125.174.14   vps-2153e875
kube-system      kube-controller-manager-vps-2153e875   1/1     Running   2 (21d ago)   105d   135.125.174.14   vps-2153e875
kube-system      kube-proxy-sr72s                       1/1     Running   2 (21d ago)   105d   135.125.174.14   vps-2153e875
kube-system      kube-scheduler-vps-2153e875            1/1     Running   2 (21d ago)   105d   135.125.174.14   vps-2153e875
kube-system      metrics-server-797759896b-j7wnz        1/1     Running   1 (21d ago)   21d    135.125.174.14   vps-2153e875
ns-adibexpress   frontend-q8llk                         1/1     Running   1 (21d ago)   21d    10.244.0.36      vps-2153e875
ns-adibexpress   mysql                                  1/1     Running   1 (21d ago)   21d    10.244.0.35      vps-2153e875

10.96.0.10 is the default internal IP address for the Kubernetes DNS service (CoreDNS) in a default Kubernetes cluster, acting as the nameserver for pods to resolve service names within the cluster. It’s a ClusterIP, meaning it’s a virtual IP for a service, load balancing traffic to the underlying DNS pods, allowing other pods to find services like ‘kubernetes.default.svc.cluster.local’ using DNS.

root@vps-2153e875:~# kubectl get svc -A -o wide
NAMESPACE        NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE    SELECTOR
default          kubernetes       ClusterIP   10.96.0.1       <none>        443/TCP                  105d   <none>
kube-system      kube-dns         ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   105d   k8s-app=kube-dns
kube-system      metrics-server   ClusterIP   10.110.247.79   <none>        443/TCP                  21d    k8s-app=metrics-server
ns-adibexpress   frontend         ClusterIP   10.96.0.4       <none>        80/TCP                   55d    name=frontend
ns-adibexpress   mysql            ClusterIP   10.96.0.2       <none>        3306/TCP                 55d    name=mysql


root@vps-2153e875:~# kubectl describe svc kube-dns -n kube-system
Name:                     kube-dns
Namespace:                kube-system
Labels:                   k8s-app=kube-dns
                          kubernetes.io/cluster-service=true
                          kubernetes.io/name=CoreDNS
Annotations:              prometheus.io/port: 9153
                          prometheus.io/scrape: true
Selector:                 k8s-app=kube-dns
Type:                     ClusterIP
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.96.0.10
IPs:                      10.96.0.10
Port:                     dns  53/UDP
TargetPort:               53/UDP
Endpoints:                10.244.0.34:53,10.244.0.33:53
Port:                     dns-tcp  53/TCP
TargetPort:               53/TCP
Endpoints:                10.244.0.34:53,10.244.0.33:53
Port:                     metrics  9153/TCP
TargetPort:               9153/TCP
Endpoints:                10.244.0.34:9153,10.244.0.33:9153
Session Affinity:         None
Internal Traffic Policy:  Cluster
Events:                   <none>

CoreDNS dynamically watches the Kubernetes API server for changes to Pods and Services, using the kubernetes plugin to automatically update its internal records (like A/SRV records) in real-time, ensuring that DNS resolution reflects the current state of the cluster without manual intervention, leveraging Kubernetes’ event-driven architecture for service discovery. Notice on the following output that each CoreDNS Pod has the ‘coredns’ process which is permanently connected to the IP ‘10.96.0.1:443‘, which is the service IP for the Kubernetes API server. From this connection, CoreDNS receives the changes regarding the Pods and the Services.

root@vps-2153e875:~# ip -all netns exec netstat -ptuan
...
...
netns: cni-7f5857ae-3ae5-4fd1-e2a3-db82c77ecacd
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 10.244.0.34:45448       10.96.0.1:443           ESTABLISHED 3206/coredns
tcp6       0      0 :::53                   :::*                    LISTEN      3206/coredns
tcp6       0      0 :::9153                 :::*                    LISTEN      3206/coredns
tcp6       0      0 :::8181                 :::*                    LISTEN      3206/coredns
tcp6       0      0 :::8080                 :::*                    LISTEN      3206/coredns
udp6       0      0 :::53                   :::*                                3206/coredns
---
netns: cni-810f9b65-9809-e471-0ba3-c8d9560937bd
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 10.244.0.33:59776       10.96.0.1:443           ESTABLISHED 3066/coredns
tcp6       0      0 :::8181                 :::*                    LISTEN      3066/coredns
tcp6       0      0 :::8080                 :::*                    LISTEN      3066/coredns
tcp6       0      0 :::53                   :::*                    LISTEN      3066/coredns
tcp6       0      0 :::9153                 :::*                    LISTEN      3066/coredns
udp6       0      0 :::53                   :::*                                3066/coredns
---


root@vps-2153e875:~# kubectl describe svc kubernetes -n default
Name:                     kubernetes
Namespace:                default
Labels:                   component=apiserver
                          provider=kubernetes
Annotations:              <none>
Selector:                 <none>
Type:                     ClusterIP
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.96.0.1
IPs:                      10.96.0.1
Port:                     https  443/TCP
TargetPort:               6443/TCP
Endpoints:                135.125.174.14:6443
Session Affinity:         None
Internal Traffic Policy:  Cluster
Events:                   <none>


root@vps-2153e875:~# netstat -ptuln | grep LISTEN | grep 6443
tcp6       0      0 :::6443                 :::*                    LISTEN      1799/kube-apiserver

In Kubernetes, the kubelet is the primary component responsible for setting and managing the /etc/resolv.conf file within pods. When a pod is scheduled on a node, the kubelet configures the container’s DNS settings based on the dnsPolicy defined in the pod’s specification:

ClusterFirst (Default): The kubelet sets the nameserver to the Cluster IP of the cluster’s DNS service (typically CoreDNS). It also configures search paths (e.g., .svc.cluster.local) to allow for short-name resolution within the cluster.

Default: Despite the name, this policy causes the pod to inherit the DNS configuration from the underlying node’s /etc/resolv.conf.

None: The kubelet ignores all cluster-level DNS settings. The user must manually provide DNS configurations via the dnsConfig field in the Pod Spec.

ClusterFirstWithHostNet: Used for pods running with hostNetwork: true that still need cluster-level DNS resolution.

root@vps-2153e875:~# kubectl get pod frontend-q8llk -n ns-adibexpress -o yaml | grep dnsPolicy
  dnsPolicy: ClusterFirst

The kubelet also determines what to put in a pod’s /etc/resolv.conf using its own configuration parameters:

–cluster-dns: Specifies the IP address of the cluster DNS server.
–cluster-domain: Sets the cluster’s local domain name (usually cluster.local).
–resolv-conf: Points to the file on the host (e.g., /etc/resolv.conf or /run/systemd/resolve/resolv.conf) used as the basis for pods with a Default policy

root@vps-2153e875:~# ps aux | grep "\/usr\/bin\/kubele[t]"
root        1451  3.1  1.4 2274988 113112 ?      Ssl  Jan01 964:04 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock --pod-infra-container-image=registry.k8s.io/pause:3.10

root@vps-2153e875:~# cat /var/lib/kubelet/config.yaml | grep -A1 clusterDNS
clusterDNS:
- 10.96.0.10

root@vps-2153e875:~# cat /var/lib/kubelet/config.yaml | grep clusterDomain
clusterDomain: cluster.local

root@vps-2153e875:~# cat /var/lib/kubelet/config.yaml | grep resolv
resolvConf: /run/systemd/resolve/resolv.conf

Now, let’s see the content of the ‘/etc/resolv.conf’ file of a particular Pod. Below you have this content, and also some ping commands from inside this Pod to do a DNS resolution for another Pod address, and we also do another DNS resolution for a Service.

root@frontend-q8llk:/var/www/html# cat /etc/resolv.conf
search ns-adibexpress.svc.cluster.local svc.cluster.local cluster.local openstacklocal
nameserver 10.96.0.10
options ndots:5

root@frontend-q8llk:/var/www/html# ping -c1 10-244-0-35.ns-adibexpress.pod.cluster.local
PING 10-244-0-35.ns-adibexpress.pod.cluster.local (10.244.0.35) 56(84) bytes of data.

root@frontend-q8llk:/var/www/html# ping -c1 frontend
PING frontend.ns-adibexpress.svc.cluster.local (10.96.0.4) 56(84) bytes of data.

I ran a tcpdump network capture filtering by the port 53 (DNS resolutions) on the Kubernetes node before running the last ping command (against the ‘frontend‘ service), and below you have this output. You can see that ‘ns-adibexpress.svc.cluster.local‘ has been automatically added, and that the DNS resolution goes from the Pod where we are running the command against the configured DNS service IP ‘10.96.0.10‘, and this connection is natted (kube-proxy is who manages and keeps iptables NAT rules for the ClusterIPs) the to destination IP ‘10.244.0.34‘ which is the IP of one of the CoreDNS Pods. Once CoreDNS received the request, it replies with the corresponding IP associated with the ‘frontend’ service name (10.96.0.4).

root@vps-2153e875:~# tcpdump -nn -i any port 53
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
04:00:48.518985 veth7a0388b7 P   IP 10.244.0.36.56907 > 10.96.0.10.53: 51579+ A? frontend.ns-adibexpress.svc.cluster.local. (59)
04:00:48.519082 veth4555af4e Out IP 10.244.0.36.56907 > 10.244.0.34.53: 51579+ A? frontend.ns-adibexpress.svc.cluster.local. (59)
04:00:48.519113 veth7a0388b7 P   IP 10.244.0.36.56907 > 10.96.0.10.53: 51073+ AAAA? frontend.ns-adibexpress.svc.cluster.local. (59)
04:00:48.519128 veth4555af4e Out IP 10.244.0.36.56907 > 10.244.0.34.53: 51073+ AAAA? frontend.ns-adibexpress.svc.cluster.local. (59)
04:00:48.519829 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.56907: 51073*- 0/1/0 (152)
04:00:48.519851 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.56907: 51073*- 0/1/0 (152)
04:00:48.520028 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.56907: 51579*- 1/0/0 A 10.96.0.4 (116)
04:00:48.520066 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.56907: 51579*- 1/0/0 A 10.96.0.4 (116)

And as a last example, let’s see what a tcpdump capture looks like, filtering by port 53, when we run the command ‘ping -c1 www.google.com‘ from a Pod. Notice that first tries the resolution by appending ‘ns-adibexpress.svc.cluster.local‘ to ‘www.google.com‘ for which CoreDNS returns non-existing domain (NXDomain), then tries appending ‘svc.cluster.local‘, continues trying with ‘cluster.local‘, and after that tries appending ‘openstacklocal‘ for which CoreDNS forwards the DNS request to the Kubernetes host, and the host tries to resolve using the configured DNS on the server (213.186.33.99) which returns NXDomain, and finally the Pod tries the resolution for ‘www.google.com‘ (without appending anything) for which CoreDNS forwards the DNS request to the host, and the host resolves against the DNS server ‘213.186.33.99‘ which returns the IP address ‘172.217.21.4‘ for the host address ‘www.google.com‘.

root@frontend-q8llk:/var/www/html# ping -c1 www.google.com
PING www.google.com (172.217.21.4) 56(84) bytes of data.
64 bytes from muc11s13-in-f4.1e100.net (172.217.21.4): icmp_seq=1 ttl=107 time=16.5 ms


root@vps-2153e875:~# tcpdump -nn -i any port 53
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
04:12:06.610619 veth7a0388b7 P   IP 10.244.0.36.56860 > 10.96.0.10.53: 7008+ A? www.google.com.ns-adibexpress.svc.cluster.local. (65)
04:12:06.610729 veth4555af4e Out IP 10.244.0.36.56860 > 10.244.0.34.53: 7008+ A? www.google.com.ns-adibexpress.svc.cluster.local. (65)
04:12:06.610774 veth7a0388b7 P   IP 10.244.0.36.56860 > 10.96.0.10.53: 20348+ AAAA? www.google.com.ns-adibexpress.svc.cluster.local. (65)
04:12:06.610792 veth4555af4e Out IP 10.244.0.36.56860 > 10.244.0.34.53: 20348+ AAAA? www.google.com.ns-adibexpress.svc.cluster.local. (65)
04:12:06.611719 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.56860: 20348 NXDomain*- 0/1/0 (158)
04:12:06.611759 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.56860: 20348 NXDomain*- 0/1/0 (158)
04:12:06.611902 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.56860: 7008 NXDomain*- 0/1/0 (158)
04:12:06.611919 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.56860: 7008 NXDomain*- 0/1/0 (158)
04:12:06.612047 veth7a0388b7 P   IP 10.244.0.36.33520 > 10.96.0.10.53: 56584+ A? www.google.com.svc.cluster.local. (50)
04:12:06.612091 veth8b4a677f Out IP 10.244.0.36.33520 > 10.244.0.33.53: 56584+ A? www.google.com.svc.cluster.local. (50)
04:12:06.612123 veth7a0388b7 P   IP 10.244.0.36.33520 > 10.96.0.10.53: 18676+ AAAA? www.google.com.svc.cluster.local. (50)
04:12:06.612149 veth8b4a677f Out IP 10.244.0.36.33520 > 10.244.0.33.53: 18676+ AAAA? www.google.com.svc.cluster.local. (50)
04:12:06.613450 veth8b4a677f P   IP 10.244.0.33.53 > 10.244.0.36.33520: 56584 NXDomain*- 0/1/0 (143)
04:12:06.613466 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.33520: 56584 NXDomain*- 0/1/0 (143)
04:12:06.613572 veth8b4a677f P   IP 10.244.0.33.53 > 10.244.0.36.33520: 18676 NXDomain*- 0/1/0 (143)
04:12:06.613583 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.33520: 18676 NXDomain*- 0/1/0 (143)
04:12:06.613705 veth7a0388b7 P   IP 10.244.0.36.46618 > 10.96.0.10.53: 49939+ A? www.google.com.cluster.local. (46)
04:12:06.613760 veth8b4a677f Out IP 10.244.0.36.46618 > 10.244.0.33.53: 49939+ A? www.google.com.cluster.local. (46)
04:12:06.613778 veth7a0388b7 P   IP 10.244.0.36.46618 > 10.96.0.10.53: 57356+ AAAA? www.google.com.cluster.local. (46)
04:12:06.613804 veth8b4a677f Out IP 10.244.0.36.46618 > 10.244.0.33.53: 57356+ AAAA? www.google.com.cluster.local. (46)
04:12:06.613985 veth8b4a677f P   IP 10.244.0.33.53 > 10.244.0.36.46618: 57356 NXDomain*- 0/1/0 (139)
04:12:06.614001 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.46618: 57356 NXDomain*- 0/1/0 (139)
04:12:06.614166 veth8b4a677f P   IP 10.244.0.33.53 > 10.244.0.36.46618: 49939 NXDomain*- 0/1/0 (139)
04:12:06.614179 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.46618: 49939 NXDomain*- 0/1/0 (139)
04:12:06.614430 veth7a0388b7 P   IP 10.244.0.36.54520 > 10.96.0.10.53: 24105+ A? www.google.com.openstacklocal. (47)
04:12:06.614459 veth8b4a677f Out IP 10.244.0.36.54520 > 10.244.0.33.53: 24105+ A? www.google.com.openstacklocal. (47)
04:12:06.614487 veth7a0388b7 P   IP 10.244.0.36.54520 > 10.96.0.10.53: 16427+ AAAA? www.google.com.openstacklocal. (47)
04:12:06.614509 veth8b4a677f Out IP 10.244.0.36.54520 > 10.244.0.33.53: 16427+ AAAA? www.google.com.openstacklocal. (47)
04:12:06.614809 veth8b4a677f P   IP 10.244.0.33.56615 > 213.186.33.99.53: 4563+ AAAA? www.google.com.openstacklocal. (47)
04:12:06.614809 cni0  In  IP 10.244.0.33.56615 > 213.186.33.99.53: 4563+ AAAA? www.google.com.openstacklocal. (47)
04:12:06.614875 ens3  Out IP 135.125.174.14.40041 > 213.186.33.99.53: 4563+ AAAA? www.google.com.openstacklocal. (47)
04:12:06.615078 veth8b4a677f P   IP 10.244.0.33.37116 > 213.186.33.99.53: 24345+ A? www.google.com.openstacklocal. (47)
04:12:06.615078 cni0  In  IP 10.244.0.33.37116 > 213.186.33.99.53: 24345+ A? www.google.com.openstacklocal. (47)
04:12:06.615115 ens3  Out IP 135.125.174.14.44456 > 213.186.33.99.53: 24345+ A? www.google.com.openstacklocal. (47)
04:12:06.615222 ens3  In  IP 213.186.33.99.53 > 135.125.174.14.40041: 4563 NXDomain* 0/0/0 (47)
04:12:06.615246 cni0  Out IP 213.186.33.99.53 > 10.244.0.33.56615: 4563 NXDomain* 0/0/0 (47)
04:12:06.615251 veth8b4a677f Out IP 213.186.33.99.53 > 10.244.0.33.56615: 4563 NXDomain* 0/0/0 (47)
04:12:06.615371 veth8b4a677f P   IP 10.244.0.33.53 > 10.244.0.36.54520: 16427 NXDomain* 0/0/0 (47)
04:12:06.615377 ens3  In  IP 213.186.33.99.53 > 135.125.174.14.44456: 24345 NXDomain* 0/0/0 (47)
04:12:06.615387 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.54520: 16427 NXDomain* 0/0/0 (47)
04:12:06.615391 cni0  Out IP 213.186.33.99.53 > 10.244.0.33.37116: 24345 NXDomain* 0/0/0 (47)
04:12:06.615394 veth8b4a677f Out IP 213.186.33.99.53 > 10.244.0.33.37116: 24345 NXDomain* 0/0/0 (47)
04:12:06.615485 veth8b4a677f P   IP 10.244.0.33.53 > 10.244.0.36.54520: 24105 NXDomain* 0/0/0 (47)
04:12:06.615497 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.54520: 24105 NXDomain* 0/0/0 (47)
04:12:06.615668 veth7a0388b7 P   IP 10.244.0.36.49663 > 10.96.0.10.53: 58194+ A? www.google.com. (32)
04:12:06.615695 veth4555af4e Out IP 10.244.0.36.49663 > 10.244.0.34.53: 58194+ A? www.google.com. (32)
04:12:06.616443 veth4555af4e P   IP 10.244.0.34.40457 > 213.186.33.99.53: 49103+ A? www.google.com. (32)
04:12:06.616443 cni0  In  IP 10.244.0.34.40457 > 213.186.33.99.53: 49103+ A? www.google.com. (32)
04:12:06.616489 ens3  Out IP 135.125.174.14.30080 > 213.186.33.99.53: 49103+ A? www.google.com. (32)
04:12:06.616546 veth7a0388b7 P   IP 10.244.0.36.49663 > 10.96.0.10.53: 26704+ AAAA? www.google.com. (32)
04:12:06.616565 veth4555af4e Out IP 10.244.0.36.49663 > 10.244.0.34.53: 26704+ AAAA? www.google.com. (32)
04:12:06.616833 veth4555af4e P   IP 10.244.0.34.60111 > 213.186.33.99.53: 4045+ AAAA? www.google.com. (32)
04:12:06.616833 cni0  In  IP 10.244.0.34.60111 > 213.186.33.99.53: 4045+ AAAA? www.google.com. (32)
04:12:06.616867 ens3  Out IP 135.125.174.14.43991 > 213.186.33.99.53: 4045+ AAAA? www.google.com. (32)
04:12:06.639512 ens3  In  IP 213.186.33.99.53 > 135.125.174.14.43991: 4045 1/0/0 AAAA 2a00:1450:4006:808::2004 (60)
04:12:06.639534 cni0  Out IP 213.186.33.99.53 > 10.244.0.34.60111: 4045 1/0/0 AAAA 2a00:1450:4006:808::2004 (60)
04:12:06.639540 veth4555af4e Out IP 213.186.33.99.53 > 10.244.0.34.60111: 4045 1/0/0 AAAA 2a00:1450:4006:808::2004 (60)
04:12:06.639849 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.49663: 26704 1/0/0 AAAA 2a00:1450:4006:808::2004 (74)
04:12:06.639879 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.49663: 26704 1/0/0 AAAA 2a00:1450:4006:808::2004 (74)
04:12:06.640103 ens3  In  IP 213.186.33.99.53 > 135.125.174.14.30080: 49103 1/0/0 A 172.217.21.4 (48)
04:12:06.640114 cni0  Out IP 213.186.33.99.53 > 10.244.0.34.40457: 49103 1/0/0 A 172.217.21.4 (48)
04:12:06.640117 veth4555af4e Out IP 213.186.33.99.53 > 10.244.0.34.40457: 49103 1/0/0 A 172.217.21.4 (48)
04:12:06.640284 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.49663: 58194 1/0/0 A 172.217.21.4 (62)
04:12:06.640299 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.49663: 58194 1/0/0 A 172.217.21.4 (62)
04:12:06.658574 veth7a0388b7 P   IP 10.244.0.36.41743 > 10.96.0.10.53: 33033+ PTR? 4.21.217.172.in-addr.arpa. (43)
04:12:06.658629 veth4555af4e Out IP 10.244.0.36.41743 > 10.244.0.34.53: 33033+ PTR? 4.21.217.172.in-addr.arpa. (43)
04:12:06.658998 veth4555af4e P   IP 10.244.0.34.40457 > 213.186.33.99.53: 60753+ PTR? 4.21.217.172.in-addr.arpa. (43)
04:12:06.658998 cni0  In  IP 10.244.0.34.40457 > 213.186.33.99.53: 60753+ PTR? 4.21.217.172.in-addr.arpa. (43)
04:12:06.659031 ens3  Out IP 135.125.174.14.30080 > 213.186.33.99.53: 60753+ PTR? 4.21.217.172.in-addr.arpa. (43)
04:12:06.691968 ens3  In  IP 213.186.33.99.53 > 135.125.174.14.30080: 60753 3/0/0 PTR muc11s13-in-f4.1e100.net., PTR mrs09s10-in-f4.1e100.net., PTR fra07s29-in-f4.1e100.net. (139)
04:12:06.692010 cni0  Out IP 213.186.33.99.53 > 10.244.0.34.40457: 60753 3/0/0 PTR muc11s13-in-f4.1e100.net., PTR mrs09s10-in-f4.1e100.net., PTR fra07s29-in-f4.1e100.net. (139)
04:12:06.692020 veth4555af4e Out IP 213.186.33.99.53 > 10.244.0.34.40457: 60753 3/0/0 PTR muc11s13-in-f4.1e100.net., PTR mrs09s10-in-f4.1e100.net., PTR fra07s29-in-f4.1e100.net. (139)
04:12:06.692287 veth4555af4e P   IP 10.244.0.34.53 > 10.244.0.36.41743: 33033 3/0/0 PTR muc11s13-in-f4.1e100.net., PTR mrs09s10-in-f4.1e100.net., PTR fra07s29-in-f4.1e100.net. (232)
04:12:06.692305 veth7a0388b7 Out IP 10.96.0.10.53 > 10.244.0.36.41743: 33033 3/0/0 PTR muc11s13-in-f4.1e100.net., PTR mrs09s10-in-f4.1e100.net., PTR fra07s29-in-f4.1e100.net. (232)
^C
74 packets captured
83 packets received by filter
0 packets dropped by kernel

Adib Ahmed Akhtar