我有一个典型的家用路由器/交换机 DSL 调制解调器,它为我的家庭网络提供所有常见服务(DHCP、DNS、Web 等)。客户端计算机在 /etc/resolv.conf 中将路由器的 IP 作为名称服务器,一切正常。
但是在路由器上我看不到任何正在运行的 DNS 服务器(TCP/UDP,通常是端口 53),但我可以看到它在 67 上运行 DHCP,在 80 和 443 上运行 Web 管理界面。我正在使用 nmap 进行端口扫描。
我的网络如何获取 DNS?
答案1
当您获得 IP 租约时,路由器可以通过 DHCP 选项提供名称服务器供您使用。因此,路由器本身不需要解析 DNS 或转发它。
看RFC2132:
域名服务器选项指定了可供客户端使用的域名系统 (STD 13、RFC 1035 [8]) 名称服务器列表。服务器应按优先顺序列出。
如果它使用该选项为您提供路由器的 IP 作为名称服务器,则意味着您的路由器正在处理 DNS。它可以通过在 WAN 上执行自己的 DHCP(或者如果您静态分配一个)时使用 ISP 的 DNS 服务器并转发请求来执行此操作,或者它可以通过递归查询根服务器来自己解决查询。在后两种情况下,您都会发现 DNS 服务器在端口 53 上侦听,包括 UDP 和 TCP。
答案2
您的路由器充当 DNS 转发器 - 任何到达路由器的请求都会转发到路由器中配置的 DNS 服务器(可能是您的 ISP 的 DNS 服务器或任何其他公共 DNS 提供商)。