2013-08-20 2 views
0

Читайте много о серверах, балансировке нагрузки и подобных темах, вопрос пришел на ум.Почему я не могу подделать Facebook своим собственным DNS-сервером?

DNS-серверы - это серверы, которые предоставляют вам IP-адрес для данного доменного имени. Есть ли «диктатор», зная все действующие DNS-серверы в мире? Если я хочу создать DNS-сервер, а кто-то запрашивает его на сайте, он не имеет. Как он узнает, какой другой DNS перенаправить запрос? Что, если я скажу facebook.com, чтобы иметь IP-пародию, и все, получающие IP-адрес от моего DNS-сервера, будут обмениваться данными с сервером facebook spoof? Очевидно, что это не так, как это работает (по крайней мере, не в большой степени), потому что тогда кто-то уже сделал бы это, чтобы напасть на сотни людей.

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

Посмотрев на nginx как систему балансировки нагрузки, я немного задумываюсь. Это так, что запрос на http://www.google.com/ работает так? Компьютер запрашивает DNS-сервер для IP-адреса для google.com, а затем запрашивает его? Это будет только один IP-адрес, и все запросы в Google попадают на этот сервер? И тогда этот IP-адрес будет подключен к серверу nginx или более базовому аппаратурному устройству для маршрутизации внутреннего запроса на другие серверы? Таким образом, все запросы переходят на один сервер, прежде чем перенаправить запрос в центр обработки данных?

После поиска google.com он говорит, что серверами имен являются ns1.google.com и т. Д. Но в чем их смысл, если вам нужен другой сервер имен, чтобы перейти на ns1.google.com в первое место?

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

Я пробовал искать Google, но все, что я получаю, это теоретические объяснения, которые привели меня туда, где я сейчас. Было бы здорово, если бы кто-то указал мне на некоторые статьи, которые объясняют это полностью, и, надеюсь, многие другие найдут этот вопрос полезным.

ответ

2

Любой может запустить DNS-сервер, но проблема заключается в том, чтобы заставить его использовать его. Обычно IP-адрес DNS предоставляется как опция DHCP или статически назначается. Если вы можете заставить кого-то использовать ваш сервер, вы можете вернуть любой IP-адрес для любого имени хоста, включая создание новых доменов верхнего уровня (при условии любой фильтрации на клиенте, конечно. Веб-браузеры могут иметь трудности с новым TLD, например). Обратите внимание, что с DNSSEC это в конечном итоге изменится, поскольку запись названия будет подписана цифровой подписью, и ваш сервер не сможет точно подделать подпись.

DNS-серверы работают в дереве. Когда один сервер получает запрос на домен, который он не контролирует, он перенаправляет запрос на другой DNS-сервер. Другим DNS-сервером может быть тот, который возвращает IP (это называется авторитетным сервером), или он может вернуть NS-запись, которая указывает на другой сервер, который затем должен быть запрошен. DNS root servers обеспечивают разрешение TLD.

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

+0

Спасибо за ваш ответ! Поэтому Иана каким-то образом была выбрана для администрирования системы доменных имен, так как Firefox и Internet Explorer были выбраны людьми для того, чтобы быть «интернет». Просто все используют свою технологию, и поэтому она стала стандартом? –

+0

И поэтому серверы ISP-серверов перенаправляют ваш запрос на корневые серверы Ianas, что заставляет Iana отвечать за TLD? И вам нужно заставить людей использовать ваш DNS-сервер вместо интернет-провайдеров, чтобы иметь возможность самостоятельно контролировать поиск домена? И этот список корневых серверов является общедоступным, поэтому я могу использовать его сам на своем DNS-сервере, если мой сервер не знает IP? –

+0

Да. Не так много, как «выбран», именно так оно и сложилось. Обратите внимание, что корневые серверы никогда не отвечают на запрос напрямую. Они всегда будут делегировать другой сервер. –

Смежные вопросы