У меня есть Сервер Snow Leopard Mac OS X как мой сетевой маршрутизатор. Это возможный установить глобальный хост в его/etc/hosts файле, как:
127.0.0.1 www.foo.bar
это перенаправляет все запросы (например, просматривающий www.foo.bar) от целой сети до того IP? Таким образом, я не должен устанавливать его во всех клиентских машинах?
Файл hosts является просто чем-то локальным для машины.
Поэтому, если у Вас будет компьютер, который запрашивает www.foo.bar, то это сначала посмотрит в своем файле хоста, найти, что ничто затем не запрашивает его сервер DNS. DNS посмотрит в своих локальных зонах, ничего не найти и отправить рекурсивный запрос (?... должен проверить дважды) к, он связал серверы DNS и затем если это ничего не найдет, то это отправит запрос в корневые зоны.
Ни в каком смысле сервисы DNS на машину под влиянием их собственного файла hosts. Таким образом, если Вы добавите его, то это просто будет для сервера и только сервера.
Однако ЕСЛИ тот сервер является сервером DNS для сети, можно легко вставить новую зону для foo.bar и запись A/Cname для www или просто *, сопровождаемый значением 127.0.0.1, это должно сделать то, что Вы хотите для всей сети.
Не обычно. Разрешение сделано на хосте - значение, если Вы поиск www.foo.bar на машине A, это - машина A, разрешая правила, которые определяют IP для того адреса, не маршрутизатор.
Машина A проверит свое собственное hosts
файл, и затем это сверится с DNS. (Другие системы разрешения могли использоваться.)
Если Ваш маршрутизатор служит локальным DNS для Вашей сети, то можно осуществить это - или через записи локальной зоны при использовании настоящего сервера DNS как BIND, или путем особенного конфигурирования кэширующегося сервера DNS как DNSmasq для проверки его локального файла hosts сначала.
Для DNSmasq (наиболее часто используемый на OpenWRT и встроенных микропрограммных обеспечениях маршрутизатора DD-WRT), добавить expand-hosts
к /etc/dnsmasq.conf
файл для добавления этой функциональности.