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

Настройка домена верхнего уровня

Я только начал новую работу, и у нас есть интрасеть с нашим собственным доменом верхнего уровня, например .abc. Таким образом, если я хочу войти на наш «сайт электронных пособий», я просто открою веб-браузер и перейду на worklink.abc и войдите оттуда.

Как разработчику, который слишком мало знает о DNS и ИТ-системах, мне любопытно, как это работает и что мне нужно сделать, чтобы добиться чего-то подобного дома.

Меня зовут Адам, и я хотел бы иметь домашнюю интрасеть, в которой, возможно, все домены заканчивались .adm суффикс. Таким образом, я мог разрабатывать внутренние веб-приложения Java для сопоставления страниц вроде http://mydomain.adm?foo=barи т.д. Я совершенно уверен, что это приведет меня в новый мир DNS-серверов и конфигураций, но это меня не пугает.

Может ли кто-нибудь из вас, «системные ребята», дать плохому Java-разработчику высокоуровневое, непрофессиональное представление о том, как я могу это сделать? На данный момент я даже не знаю, с чего начать. Если вы дадите мне достойный список возможностей для работы, я смогу изучить детали оттуда. Заранее спасибо!

Как сказал Дэн, вы можете использовать свою систему /etc/hosts файл, чтобы выполнить то, что вы хотите. Это не означает «создание TLD» каким-либо значимым образом, поскольку на самом деле это не имеет ничего общего с DNS. /etc/hosts (... обычно ...) ссылается ваша система перед он проверяет DNS. В hosts файл просто сопоставляет имена с адресами и ничего не знает о доменах. Итак, если вы вставите это /etc/hosts:

127.0.0.1 localhost apple.com

А потом сделайте так:

curl http://apple.com/

curl попытаюсь подключиться к 127.0.0.1. Но если вы сделаете это:

curl http://www.apple.com/

Ваша система (... возможно ...) будет ссылаться на DNS, потому что www.apple.com не был найден в hosts файл. Поскольку в большинстве программ используются средства разрешения имен систем (контролируемые /etc/nsswitch.conf), это будет работать практически для всего. Все просто, но есть недостатки:

  • Если у вас более одной машины, вам нужно оставить hosts регулярно обновляйте информацию обо всех из них.
  • Вы не можете предоставить ничего, кроме сопоставления имени и адреса, используя hosts файл. Так что нет MX или SRV записи, нет CNAME записи и так далее.

Следующее простое решение - использовать dnsmasq, который представляет собой очень изящный инструмент, который предоставляет службы DNS, DHCP и TFTP - другими словами, практически все, что вам нужно для небольшой сети. С помощью dnsmasq, ты можешь:

  • Создайте свой собственный TLD для использования в вашей сети,
  • Предоставлять IP-адрес вашего локального сервера имен автоматически клиентам через DHCP,
  • Заменить ответы от общедоступных DNS-серверов (например, вы можете заменить www.google.com на внутренний сервер по вашему выбору).

dnsmasq довольно хорошо документирован, но если после просмотра документации у вас возникнут конкретные вопросы, возвращайтесь, и я посмотрю, что я могу сделать.

Вот действительно короткий пример ... если вы запустите это:

dnsmasq -C /dev/null --local=/localnet/ -s localnet -E

В -C /dev/null чтобы убедиться, что мы начинаем с «пустой» конфигурации, поскольку я не знаю, что может быть в вашем локальном /etc/dnsmasq.conf. Будет ли эта командная строка, dnsmasq внесет любые записи в ваш /etc/hosts файл, доступный через DNS в домене "localnet". Так, например, если бы в моем hosts файл:

10.10.10.10 fluff
10.10.10.11 nutella

Я мог бы сделать это в системе, настроенной на использование моего dnsmasq экземпляр для DNS:

$ host fluff.localnet
fluff.localnet has address 10.10.10.10

И я тоже могу использовать неполные имена:

$ host nutella
nutella has address 10.10.10.11

Вы можете получить удовольствие от dnsmasq, и этого, вероятно, более чем достаточно для домашней сети. Если вам нужно обслуживать большее количество людей - и предоставлять избыточную службу DNS, внутренние / внешние представления, списки управления доступом и т. Д. - тогда вы бы посмотрели на что-то вроде BIND, но это не обязательно для того, что вы делаете (или для того, что я делаю, в этом отношении - я использую dnsmasq дома).