Действительно ли возможно создать Ваш собственный корневой сервер DNS?

Ключевой пункт, отсутствующий в других текущих ответах, то, что minfree пространство только не резервируется для корня. В то время как это верно, что пользователь root освобожден от minfree ограничения, это пространство не там просто поэтому.

Пространство, зарезервированное для minfree используется кодом файловой системы для хранения производительности хорошей - в частности, это сохраняет фрагментацию в файловой системе вниз. Значение minfree также влияние, пытается ли файловая система быть быстрой или эффективной пространством по умолчанию; если minfree ниже 5%, и Вы не изменили метод оптимизации с помощью -o флаг к tunefs(8), Вы будете видеть отбрасывание производительности файловой системы.

Это время от времени подходит в списках FreeBSD; существует разумная сводка (и поток) с мая 2003. Существует последнее слово, не присоединенное к той странице, также:

"Устойчивое состояние дисков полно"

- Marshall Kirk McKusick

14
задан 8 September 2010 в 00:44
7 ответов

DNS дизайном не позволяет иметь авторитетную копию всех зон, поскольку это использует иерархическую систему именования.

Корневые серверы являются авторитетными для идентификации сервера, ответственного за рассматриваемый Домен верхнего уровня (TLD). Например, разрешение www.example.net сначала запросит корневой сервер для идентификации авторитетного сервера имен для .net. .net сервер имен определит авторитетный сервер имен для example.net, который затем возвратит запись для www.example.net.

Вы не можете загрузить копию всех зон. Однако можно выполнить локальный сервер имен кэширования. Кэширующийся сервер имен предоставит локальную копию всех разрешенных записей, которые истекают с помощью Времени жизни (TTL), указанного для записи. Следует иметь в виду, что мое объяснение является упрощенным описанием протокола DNS, который может быть исследован подробно путем чтения определений в Запросе На Комментарии.

В то время как угона NXDOMAIN можно избежать путем выполнения локального кэша, иметь в виду, что весь трафик разрешения DNS будет все еще передан через незашифрованное Интернет-соединение. Ваш ISP мог потенциально контролировать тот трафик и все еще видеть коммуникацию. Контракты, которые Вы имеете со своим ISP, а также своими локальными законами, будут Вашими категорическими средствами для установления, как рассматривают Вашу связь. Контракты Вашего ISP будут включать Условия предоставления услуг, Политики конфиденциальности и любые дополнительные контракты, которые Вы можете иметь со своим ISP.

Используя зашифрованные протоколы один из лучших методов для обеспечения Ваших данных против подслушивания во время транзита. Однако даже это не имеет никакой гарантии анонимности. Существуют дополнительные протоколы там, такие как Скалистая вершина и Сеть с бесплатным доступом, которые пытаются представить анонимность Интернету, поскольку это никогда не разрабатывалось, чтобы быть действительно анонимным.

12
ответ дан 2 December 2019 в 21:09

Несколько вещей:

При конфигурировании сервера для использования корневых подсказок вместо того, чтобы использовать средства передачи затем, Вы не должны волноваться о проблемах MITM (по крайней мере, от ISP и угонщики DNS). Для всего внешнего разрешения DNS Ваш сервер запросил бы корневые подсказки, которые отошлют Вас к серверам общего домена верхнего уровня для рассматриваемого высокоуровневого домена (.com, и т.д.), который затем отослал бы Вас к серверам NS для рассматриваемого домена.

Если Вы действительно хотите создать свой собственный корневой сервер, Вы, конечно, можете, хотя я не вижу, как он сделал бы Вас много пользы. Вот то, как Вы делаете это на сервере Windows DNS:

Загрузите файл корневой зоны DNS и сохраните его как root.dns в каталоге %systemroot %\system32\dns на Вашем сервере Windows DNS, используйте мастер создания зоны DNS, чтобы создать новое основное устройство вперед названная "." зона поиска (без кавычек), отменить выбор опции создать AD интегрированная зона, введите "." для имени зоны (без кавычек), выберите опцию использовать существующий файл, и зональное поле имени файла будет автоматически заполнено с именем root.dns (если это не будет, вводят его), оставьте опцию не позволить динамические обновления, как, нажмите кнопку конца после циклического повторения через каждый шаг мастера. У Вас теперь есть корневой сервер с зонами и зональными записями для всех серверов общего домена верхнего уровня.

Обратите внимание, что это отключит передачу и базируется опции подсказок на сервере (так как Ваш сервер является теперь корневым сервером), и также обратите внимание, что, если информация об общем домене верхнего уровня изменяется, нет никакого пути к Вашему серверу для получения уведомления о тех изменениях.

3
ответ дан 2 December 2019 в 21:09

Для тесно связанных серверов существуют зональные передачи. Они функционируют во многом как объявления BGP. Из соображений безопасности они обычно блокируются для других серверов.

При выполнении кэширующегося сервера имен, он скопирует корневой список сервера и очень скоро иметь корни для .com, .NET, и т.д. Существует очень серьезное основание, что DNS распределяется. Иначе все работали бы с устаревшими данными. Размер базы данных был бы довольно большим, и большинство неинтересных данных Вам.

Существуют опции уменьшить риск отравления DNS и хороших соглашений о программном обеспечении с проблемами, поскольку они становятся известными. Существует организация, которые работают при обеспечении санированных данных, которые могут использоваться в качестве восходящих поставщиков. Они отфильтруют некоторые попытки отравления. Взгляд на использование OpenDNS или Google как восходящие поставщики.

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

1
ответ дан 2 December 2019 в 21:09

Можно, конечно, настроить собственный сервер и сделать его authoritive для корня, но я не знаю ни о каком способе, которым можно предварительно заполнить его zonefiles корневых серверов. Вы не можете просто запросить zonetransfer, таким образом, я предполагаю, что необходимо будет заполнить его путем хранения кэшей.

Измените root.hints на своих других серверах имен, чтобы указать на них на Ваш частный корневой сервер и позволить тестированию начаться.

Но имейте в виду, что корневые серверы только знают, какие серверы являются authoritive для TLD's, ничего иного. Необходимо будет по существу воссоздать всю иерархию серверов, которая походит на невозможную задачу.

1
ответ дан 2 December 2019 в 21:09

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

Можно, конечно, выполнить Вас, владеют DNS, без проблем. Но корневые серверы и высокоуровневые серверы домена, необходимо будет спросить Дядю Сэма.

Вход всех запросов DNS возможен, но был бы безумен.

0
ответ дан 2 December 2019 в 21:09

Можно выполнить собственные корневые серверы, если Вам нравится, они просто не то, что Вы думаете, что они. Проверьте это http://en.wikipedia.org/wiki/Alternative_DNS_root

0
ответ дан 2 December 2019 в 21:09

Создайте программу, которая будет перемещаться по ссылкам и делать случайные или выполнять список запросов для вас. Зарегистрируйте IP-адреса и домены, а также фактические технические протоколы, и вы сможете фактически перемещаться по сети во все места, которые посетили ваши боты.

Я мало знаю о буквально технических аспектах, которые необходимо было бы рассмотреть, но имея всю иерархию под рукой, вы буквально избавляете ее от рук корневых серверов. Я бы также предложил сделать активно растущий список полностью общедоступным для загрузки как в обычном Интернете, так и в других системах на основе узлов, таких как IPFS (межпланетная файловая система). Черт возьми, если бы это был проект, я был бы более чем счастлив пожертвовать вычислительной мощностью для таких усилий.

-2
ответ дан 22 December 2020 в 00:55

Теги

Похожие вопросы