了解 /etc/resolv.conf 文件中的 DNS 服务器

了解 /etc/resolv.conf 文件中的 DNS 服务器

我在虚拟机中安装了 ubuntu 服务器。我开始探索网络,并阅读了相关书籍。

它说我的 DNS 服务器在 /etc/resolv.conf 文件中给出。

这是我的服务器的IP。

luvpreet@server16:~$ hostname -I
192.168.122.62 

这是 /etc/resolv.conf 文件,

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.122.1

好吧,DNS 服务器将人类可读的地址映射到 IP 地址。在我的主机中(不是在 VM 中)

tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      2332/dnsmasq    

DNS 服务器正在运行。

但是它是如何工作的,我不知道这个 IP 地址(即 192.168.122.1)是如何充当我的 DNS 服务器的。请详细解释它的工作原理以及此 DNS 服务器的工作流程。

我知道 DNS 服务器是如何工作的,它就像电话簿一样,可以帮助我们定位到特定的网站。DNS 缓存在哪里?我想知道这个 IP 地址如何作为我的 DNS 服务器工作?我可以将任何 IP 地址绑定为我的 DNS 服务器吗?如果可以,该怎么做?如果不可以,为什么?

抱歉,这听起来很蠢,但我不明白。

答案1

您的问题对我来说太模糊了,但无论如何我都会尝试澄清一些事情。

正如您所知,192.168.122.62这是您的服务器(VM)IP,并且您应该位于192.168.122.0/24网络上。

如果您ifconfig -a在主机上运行,​​我很确定您将获得192.168.122.1其中一个接口的 IP 地址,它应该位于由您的虚拟机管理程序创建的虚拟接口上,例如可以是 VirtualBox。

同时,我猜测您的虚拟网络位于 NAT(网络地址转换)后面,并且您的主机充当您的虚拟机的路由器。

这就是为什么当您查找时resolve.conf您会得到您的主机 IP,实际上您的主机(它是您的 VM 的路由器)负责解析 DNS 请求。

您可以在您的虚拟机上运行ip rroutenetstat -nr查看您的路由表。

我已经很久没有使用 dnsmasq 了,但如果我没有记错的话,如果你USR1向它的进程发送信号,它会在其服务状态下生成一些有关缓存地址的日志,如下所示:

kill -USR1 `pidof dnsmasq`

如果您想运行 DNS 服务器:BIND9
要了解有关在您的主机上监听的 dnsmasq 的更多信息:域名管理系统

相关内容