2

Предположим, что я хотел разместить свой собственный DNS-сервер, исходя из предположения, что по какой-либо причине я не могу получить доступ к личным серверам ICANN. Есть ли какой-нибудь файл хостов или глобальный DNS, который я могу скачать со списком проиндексированных и назначенных в настоящее время адресов, и если да, где я могу получить это?

Я довольно новичок в сетевом администрировании, так что терпите меня. Я не выполнял такую задачу раньше. Большинство из того, что я делал раньше, связано с моим файлом Hosts.

3 ответа3

2

Я думаю, что файл root.zone предоставит то, что вы ищете. Он содержит все распознанные домены верхнего уровня (.com, .net, .gov, .us, .ru, .cn и т.д.), А также IP-адреса серверов имен, которые обслуживают эти TLD.

Имейте в виду, что файл root.zone позволяет получить только один слой. Как уже отмечали другие, DNS является иерархической распределенной базой данных. Нет централизованного списка всех IP-адресов в мире (неосуществимо).

Скажем, вы хотели перейти на www.example.com. Ваш компьютер должен знать IP-адрес назначения. Используя файл root.zone, вы сможете определить серверы имен, отвечающие за все домены .com. Затем ваш компьютер должен спросить сервер имен .com, как разрешить example.com. Серверы имен .com помогут вам определить серверы, отвечающие за все сайты example.com. Затем ваш компьютер должен запросить у серверов имен example.com IP-адрес www.example.com.

Если вы не очень доверяете ICANN, насколько вы доверяете регистраторам, отвечающим за поддержание различных TLD?

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

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

0

Вы имеете в виду файл root.hints ? Нет базы данных для всех адресов / доменов. DNS является распределенной базой данных.

Давайте использовать в качестве примера networkengineering.stackexchange.com . Предположим, что есть. в конце.

Если ваш DNS-сервер не кэшировал ответ, он запросит один из корневых серверов . для сервера имен com. После этого ваш DNS-сервер запрашивает сервер имен .com для сервера имен stackexchange, а затем запрашивает сервер имен stackexchange для сетевой инженерии.

Если у вас установлен Linux, установите dig и убедитесь сами с помощью dig. Networkengineering.stackexchange.com +trace

(Всегда полезно установить dig при работе DNS-серверов).

0

DNS является иерархической системой, и для запуска собственного DNS-сервера необходимо знать, что DNS-серверы, которые являются полномочными для корневой зоны (.), Являются a.root-servers.net , b.root-servers.net , ... до m.root-servers.net . Конечно, чтобы иметь возможность общаться с этими серверами, необходимо предоставить хотя бы один из их IP-адресов.

Нет необходимости загружать список со всей доступной информацией. Корневые серверы будут направлять ваши DNS-серверы на серверы, которые являются полномочными для домена верхнего уровня, который вы ищете, что, в свою очередь, указывает на DNS-серверы, отвечающие за домен, который вы хотите. Этот процесс будет продолжаться, пока вы не найдете сервер, который может ответить на ваш запрос.

IANA предоставляет файл корневых ссылок, содержащий имена и IP-адреса всех корневых серверов.

Обратите внимание (некоторые из них), что эти 13 корневых серверов фактически являются географически распределенными кластерами серверов. ICANN управляет l.root-servers.net .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .