我正在阅读有关 DNS 一般如何工作的信息,并且偶然发现了这个问题和答案。
根据接受的答案,第二步是当 DNS 与 ISP 服务器通信以获取主机名的 IP 地址时。
DNS:“好吧……等一下,我去问问ISP服务器。好吧,看起来像157.166.226.25。”
我碰巧读到这个答案,上面写着,
运行浏览器的客户端使用 UDP 协议向 DNS 服务器询问 A 记录
www.pippo.it在客户端,操作系统负责解析部分并与浏览器对话,浏览器从不直接与 DNS 对话,而是通过操作系统调用
gethostbyname()
,在 Linux 上,解析优先级由/etc/nsswitch.conf
那么,如果我使用防火墙规则阻止所有到我机器中端口 53 的出站流量,这是否意味着我根本无法解析任何主机名?
我相信情况不应该是这样,这就是为什么我们有/etc/nsswitch.conf文件的原因(在 Linux 机器上,尽管其他操作系统也可能存在类似的概念)。该文件了解hosts其中主机名和数字被gethostbyname()相关功能使用的数据库。
有人可以澄清我的理解是正确的还是误解了?