Я знаком с уловкой редактирования файла / etc / hosts для направления трафика вашего компьютера на определенные IP-адреса. Теперь я ищу решение для всей локальной сети. Конечно, я мог бы редактировать файлы / etc / hosts всех компьютеров (вручную или автоматически), но это не идеально.
Идеальное решение будет включать в себя машину, на которой запущен DNS-сервер, и маршрутизатор, распознающий его как сервер, имеющий приоритет над всем, что могут предложить DNS-серверы в Интернете. Или, возможно, маршрутизатор мог бы действовать как DNS-сервер (в конце концов, он знает, как преобразовывать имена компьютеров в IP-адреса как часть DHCP). я бы предпочел не нужно изменить какие-либо настройки на компьютерах в сети.
Какие-либо предложения? Я надеюсь, что это будет довольно легко.
Настройте DNS на машине и скажите маршрутизатору выдать этот IP-адрес в качестве DNS-сервера в рамках конфигурации DHCP. Если ваш роутер не поддерживает это, возможно, подумайте о чем-нибудь менее задорном.
Возможно, я неверно истолковал вопрос, но похоже, что вы пытаетесь выдать конкретный адрес для одного или двух конкретных доменов, вместо того, чтобы предоставлять возможность полного внешнего поиска / кэширования DNS для группы хостов в вашей локальной сети. В этом случае вы добиваетесь этого, настраивая сервер привязки только для внутреннего использования и настраивая его для обслуживания доменов, которые вы пытаетесь изменить, в качестве зон.
Например, если foocorp.com обычно возвращает внешний адрес 4.2.2.2 для остального внешнего мира, но для хостов в вашей локальной сети вы хотите, чтобы он возвращал 192.168.0.95, сообщите своему внутреннему серверу BIND, что он владеет зону 'foocorp.com' и присвойте ей файл зоны, который определяет A-запись для www.foocorp.com как 192.168.0.95. Когда хосты вашей локальной сети запрашивают 'foocorp.com', ваш внутренний сервер BIND даже не потрудится выполнить внешний поиск. Вместо этого он просто скажет: «Ага, у меня есть файл зоны для foocorp.com, я собираюсь вернуть из него данные».
HTH,
- Ли
dnsmasq должен соответствовать всем вашим потребностям. Он может действовать как DNS-сервер, принимая записи из вашего файла hosts. Кроме того, его можно настроить как DHCP-сервер, чтобы все остальные машины в локальной сети автоматически получали свои адреса, адрес шлюза и адрес вашего локального DNS-сервера.
вы можете настроить Bind на выделенном сервере. (http://www.bind9.net/) Затем на маршрутизаторе (или брандмауэре), который действует как DHCP + DNS-сервер, вы указываете, что маршрутизатор должен использовать ваш DNS-сервер в качестве основного. Когда люди обновят свой адрес, у них будет ваш DNS-сервер в качестве основного. Важна разница между первичным и вторичным: когда пользователь запрашивает доменное имя, на которое первичный сервер не сможет ответить, будет запрошено второе. Если вы создаете собственные хосты на DNS-сервере, люди будут просить об этом, и это будет работать.
По сути, я бы просто повторил то, что уже сказал Уомбл. Я бы добавил, однако, что в ваших интересах будет немного почитать и понять DNS, DHCP и файл hosts. Они настолько важны для сетей, что вы столкнетесь с проблемами, если не поймете их.
Если вы используете маршрутизатор потребительского уровня, я бы посоветовал поискать для него DDWRT, так как ddwrt - это ОС Linux, не должно быть сложно настроить на нем сервер привязки или djbdns, но это больно получить настройку, если вы ТОЧНО не знаете, что делаете.
Еще одно замечание, DNS-серверы, как правило, представляют угрозу безопасности, даже внутреннюю, из-за конфигурации, а также из-за уязвимостей. Решением может быть запуск легкой ОС (knoppix или сокращенный centOS), которая ПРАВИЛЬНО настроена на виртуальной машине в системе, так что если она все-таки попадет, вы можете легко сделать снимок ее обратно туда, где она была, это также означает, что вы не нужна «выделенная» машина, но она может быть у вас.