Назад | Перейти на главную страницу

Лучшая модель для частной зоны DNS

Я работаю в небольшой компании с несколькими общедоступными URL-адресами. DNS обслуживается крупным интернет-провайдером и имеет несколько записей A и CNAME.

Внутри нашей частной сети есть много серверов и хостов, которые подключаются друг к другу. Я использую yp / nis, чтобы опубликовать их имена. Когда рабочие станции Linux настроены на домен nis и настроен файл nsswitch.conf, я могу использовать эти имена.

На рабочих станциях Windows необходимо вручную обновить файл hosts.

Наивно, я бы хотел иметь локальный DNS-сервер, который расширяет company.com домен, но только для моих домашних систем. Например. Я бы запустил привязку на IP 10.10.10.10. Мои локальные системы получат дополнительные записи, но 10.10.10.10 не будет пытаться передать что-либо о company.com в восходящем направлении.

www.company.com - видны всем на планете

ralph.company.com - виден только внутренним системам, использующим 10.10.10.10

Это возможно ? Или 10.10.10.10 должен определять поддомен.

www.company.com

ralph.sandbox.company.com

Он работает так, как вы ожидаете, вы можете замаскировать свой общедоступный домен, если добавите зону во внутренний DNS-преобразователь. Если вы используете DNS-преобразователи вашего интернет-провайдера, вам придется настроить свои собственные, как указано в вашем вопросе.

Ваш внутренний DNS-преобразователь должен быть добавлен в resolv.conf файл (или эквивалент в Windows) на каждом компьютере в вашей сети и должен разрешать рекурсивные запросы, иначе ваши хосты не смогут разрешать какие-либо общедоступные имена.

Таким образом, узлы вашей внутренней сети увидят локальную версию company.com, а остальной мир увидит общедоступную версию, размещенную у интернет-провайдера.

Однако есть одна загвоздка: любые записи, которых нет в местных company.com зона не будет видна ни одним компьютером во внутренней сети, так как внутренний DNS не будет пересылать *.company.com запросы к внешнему миру. Итак, чтобы ваша внутренняя сеть могла получить доступ www.company.com вам нужно будет добавить запись в эту зону на вашем внутреннем DNS-сервере.

Для начала: да, это возможно.

Один из подходов - реализовать расщепленный горизонт DNS, который

- это средство реализации системы доменных имен (DNS) для предоставления различных наборов информации DNS, обычно выбираемой по адресу источника запроса DNS.

Однако это не сработает, если авторитетный сервер имен вашего домена размещен у вашего провайдера.

Итак, мне приходят на ум две возможности, но их больше (DNS довольно сложен, поэтому написать универсальный ответ невозможно, по крайней мере, для меня):

  • Разместите сервер имен самостоятельно, например, используя связывать.

  • Пусть ваш провайдер и дальше будет размещать авторитетный сервер имен. Внутри вашей частной сети настройте другой (на этот раз рекурсивный) сервер имен, например несвязанный. Направьте своих клиентов на этот сервер для разрешения доменного имени.

    Поместите записи, которые необходимы в вашей частной сети, в конфигурацию, например, через:

    local-data: "ralph.company.com A 10.10.10.10"
    local-data-ptr: "10.10.10.10 ralph.company.com"
    

    Пересылать запросы от unbound общедоступным резолверам DNS, например, через

    forward-zone:
      name: "."
      forward-addr: ${RESOLVER_IP_1}
      forward-addr: ${RESOLVER_IP_2}
    

    Редактировать: Использование этого второго подхода не позволит вам столкнуться с упомянутой "уловкой" в ответе Андре Фернандеса.