Речь идет об Ubuntu, но она должна быть практически одинаковой для всех версий Linux. Допустим, я добавляю запись в свой /etc/hosts
Такие как
127.0.1.12 facebook.com
и виртуальный хост Apache, такой как
<VirtualHost 127.0.1.12>
ServerName facebook.com
DocumentRoot /var/www
</VirtualHost>
когда я открываю браузер и отправляю запрос GET на facebook.com, firefox просматривает мою папку / var / www.
Вопрос: Как я могу получить (например, используя wget в bash) реальный домен facebook.com - не стирая ни запись в / etc / hosts, ни мой Apache VirtualHost - IOW, как я могу обойти внутренний DNS?
Часто лучшая настройка - это наоборот - настройте DNS-сервер с зонами для сайтов, которые вы хотите подделывать, и направьте клиентов на ваш DNS-сервер. Затем вы можете установить внешний набор серверов в /etc/resolv.conf на своем веб-сервере или добавить запись hosts, указывающую на реальный сайт.
В /etc/nsswitch.conf
замените это:
hosts: files dns
с этим:
hosts: dns