如何绕过内部 DNS?

如何绕过内部 DNS?

这是关于 Ubuntu 的,但在所有 Linux 版本上应该都差不多。假设我在我的目录中添加了一个条目,/etc/hosts例如

127.0.1.12   facebook.com

以及 Apache 虚拟主机,例如

<VirtualHost 127.0.1.12>
   ServerName facebook.com
   DocumentRoot /var/www
</VirtualHost>

当我打开浏览器并向 facebook.com 发送 GET 请求时,firefox 将浏览我的 /var/www 文件夹。

问题:我怎样才能获取(即在 bash 中使用 wget)真实的 facebook.com 域名 - 而不删除 /etc/hosts 中的条目或我的 Apache VirtualHost - 换句话说,我怎样才能绕过内部 DNS?

答案1

通常,最好的设置是反过来的 - 设置一个 DNS 服务器,其中包含您要欺骗的站点的区域,并将客户端指向您的 DNS 服务器。然后,您可以在 Web 服务器上的 /etc/resolv.conf 中设置一组外部服务器,或者添加指向真实站点的主机条目。

答案2

在 中/etc/nsswitch.conf,替换此内容:

hosts:          files dns

有了这个:

hosts:          dns

相关内容