Как на самом деле работают различные типы записей DNS и можно ли их объединить?

Как на самом деле работают различные типы записей DNS и можно ли их объединить?

У меня есть несколько вопросов о том, как работает DNS.

Смогу ли я подключить запись A буквально к любому IP-адресу, например, к IP-адресу Google?

Я на самом деле этого не знал и был весьма удивлен этим. Я думал, что вы можете перенаправлять только на веб-сайты, которыми владеете, или можете перенаправлять свой домен только на фактическую ссылку назначения. И если это правда, то это должно быть то же самое для записей CNAME, верно?

Другими словами, могу ли я сделать так, чтобы при нажатии на мой собственный домен отображался сайт Google, при этом отображалось не имя домена Google, а мой собственный домен?

Смогу ли я подключить несколько записей к одному домену, например, запись A, запись txt или запись AAAA и запись CNAME?

Как на самом деле работают записи txt? Вы действительно просто вводите URL в браузере, и текст появляется на экране, или вам нужно сделать специальный запрос GET или что-то в этом роде?

решение1

Смогу ли я подключить запись A буквально к любому IP-адресу, например, к IP-адресу Google?

Да. Это не совсем вопрос «права собственности», это вопрос соглашения между владельцем домена и оператором сервера.

Это не принесет вам пользы, если вы указываете на сервер, на котором нетсогласился собслуживать нужный вам домен — запись DNS будет работать, но веб-сервер просто ответит страницей с ошибкой. (Это важно для веб-сайтов или электронной почты, где сервер знает, какой домен запрашивается, — или для чего-либо на основе TLS, где сервер должен иметь правильный сертификат.)

Но в целом именно так работает платный веб-хостинг, например: обычно вы не владеете IP-адресом, а в «общих» планах вы не владеете ничем на сервере, но вы все равно указываете на него записи A/AAAA, поскольку он настроен на распознавание домена и выполнение для него каких-то полезных действий.

Я на самом деле этого не знал и был весьма удивлен этим. Я думал, что вы можете перенаправлять только на веб-сайты, которыми владеете, или можете перенаправлять свой домен только на фактическую ссылку назначения. И если это правда, то это должно быть то же самое для записей CNAME, верно?

Тоже да. То же самое, что и выше, владелец не имеет значения, имеет значение только то, настроен ли сервер на выполнение того, что вам нужно (опять же, когда речь идет о веб-сайтах, целевой сервер будет знать, с какого домена он посещается, и он может просто ответить: «Нет, я не настроен на обслуживание этого домена»).

Обычно DNS не заботится о "веб-сайтах" или "ссылках" в первую очередь – его интересуют только доменные имена и IP-адреса. Но даже тогда записи DNS являются однонаправленными; вы можете указать что угодно на что угодно.

Другими словами, могу ли я сделать так, чтобы при нажатии на мой собственный домен отображался сайт Google, при этом отображалось не имя домена Google, а мой собственный домен?

Это будет работать снекоторыйвеб-серверы. С Google — вряд ли.

Опять же, как уже упоминалось выше: веб-серверы знают, под каким доменом они вызываются (он включен в каждый HTTP-запрос). Более крупные веб-хостыполагатьсяна этом, поскольку они обслуживают множество веб-сайтов для разных доменов на одном и том же IP-адресе.

Так что если вы просто создадите запись A для своего собственного домена, указывающую на такой веб-сервер, он не найдет соответствующую конфигурацию "виртуального хоста" и, как правило, будет обслуживать общую страницу с ошибкой вместо нужного вам веб-сайта. Но для небольших веб-серверов, у которых есть только один "default" vhost, это действительно сработает.

Он также не будет работать с HTTPS или чем-либо еще на основе TLS. Даже в простейшем случае сервер должен предоставить сертификат, действительный для посещаемого домена, в противном случае браузер покажет страницу с ошибкой «несоответствие сертификата».

Но со многими другими (не веб) сервисами, тем не менее, этобыработают, а сервер даже не заметит. Например, SSH или FTP вообще не сообщают имя хоста.

Смогу ли я подключить несколько записей к одному домену, например, запись A, запись txt или запись AAAA и запись CNAME?

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

Например, A+AAAA вполне нормально — так вы размещаете двухстековые службы IPv4+IPv6, при этом один и тот же сервер имеет оба типа адресов. В корне домена у вас обычно будет MX для почты прямо рядом с этими записями A+AAAA (а также NS+SOA для внутренних операций DNS).

Существуют такие типы записей, как SSHFP, которыесуждено бытьиспользуемые вместе с адресными записями, а также многими типами, имеющими «описательное» применение и просто размещаемыми в любом месте (TXT, HINFO, RP, LOC…).

(Я думаю, что в этом и есть весь смысл существования различных типов пластинок.)

Однако одним большим исключением является CNAME, который обычноне допускаетсядля использования вместе с другими типами записей. Либо имя является псевдонимомилиЭто не так, но и не то и другое одновременно. (Вот почему вы обычно не можете поместить CNAME в корень своего домена — потому что у вас там уже есть SOA и NS.)

Как на самом деле работают записи txt? Вы действительно просто вводите URL в браузере, и текст появляется на экране, или вам нужно сделать специальный запрос GET или что-то в этом роде?

Нет, веб-браузеры вообще не взаимодействуют с TXT-записями. Они там для других целей.

(DNS в целомпредшествовал Интернетуна несколько лет, поэтому большая его часть предназначена для других целей, нежели HTTP. Веб-браузеры просто используют те же записи общего назначения A/AAAA, которые уже использовали многие другие сервисы.)

Хотя для записей TXT не существует URL, вы можете просмотреть содержимое таких записей, сделав прямые DNS-запросы, используя такие инструменты, как«dig», «host» или «nslookup». Например, в Windows можно запустить nslookup -q=txt example.comили Resolve-DnsName -Type TXT example.com, а в Linux или macOS предпочтительны host -t txt example.comили .dig example.com txt

(На самом деле на example.com есть две записи TXT — одна, которая начинается с «v=spf1», предназначена для почтовых серверов, выполняющих проверки SPF, другая, возможно, для проверки домена DigiCert. В настоящее время TXT в основном используется для автоматизированных запросов, хотя иногда все еще можно встретить записи TXT, предназначенные для чтения системными администраторами.)

Связанный контент