System pods getting same ip of control plane node

I am creating new cluster using Kubeadm and seeing that system pods like controller manager, etcd, apiserver etc getting ip same as that of control node IP. Can anyone suggest if I am missing something or any particular config I need to modify that I may have skipped.

Cluster information:

Kubernetes version: 1.31
Cloud being used: (put bare-metal if not on a public cloud) bare-metal
Installation method: Kubeadm
Host OS: Ubuntu 24
CNI and version: Flannel/Weave
CRI and version: containerd
VM: One Virtual box VM for control plane and one for VM. I have not joined worker node in cluster till now because of this issue.

Note: I could schedule one nginx pod successfully on controller node and PODS and nodes are stable. It is only IP that seems wrong for cube-system pods. Coredns got correct IP once I installed Network add-on.