Определите, является ли сервер DNS ведущим устройством, или ведомое устройство с РОЮТ

У нас был сценарий FTP, который обновит каталоги, которые поместили отчеты нашего Клиента в корпус. Сценарий был похож на это...

ftp www.ourcompany.com
cd <ClientsDirectory>/
put *.html ( including index.html ) 

Таким образом, что происходит, когда <ClientsDirectory> не существует?

Вы получаете индексную страницу клиента как свою домашнюю страницу компаний... Opps

4
задан 27 October 2009 в 05:23
4 ответа

Насколько я знаю, ответ нет - конечно, никакой стандартный путь, так как существует миллиард различных вариантов сервера DNS. Одна опция состояла бы в том, чтобы иметь запись 'masterdns.mydomain.com', гарантируемый содержать IP-адрес ведущего устройства (даже не выставляйте ее, никакая потребность) - затем все, что необходимо сделать, сравнивают IP сервера DNS к IP, который она дает Вам для ведущего устройства, и Вы все установлены. Это также несовершенно из-за искажения / размещение в разных сетях / независимо-от-того,-что-ад (Вы не можете гарантировать, что это - другой сервер), но..

.. Вы, кажется, подразумеваете установку всего этого сами, в этом случае у Вас должна просто быть запись masterdns.mydomain.com.

0
ответ дан 3 December 2019 в 03:26
  • 1
    Мы выполняем pdns авторитетно и имеем клиента, который хочет использовать нас в качестве ведомого устройства. Ему указали многочисленные зоны, и я пытаюсь найти, что путь программно обрабатывает тот список и определяет, настраивается ли наш сервер как Собственный компонент, Ведомое устройство или Ведущее устройство. Я don' t имеют mysql доступ для фильтрации таблиц DNS, таким образом, я надеялся, что был способ использовать, Роют, чтобы обнаружить, что Собственный компонент, Ведомое устройство или Ведущее устройство используют в моем сценарии. –  Michael Moser 27 October 2009 в 06:26
  • 2
    Это поле существует в записи SOA. Это, как предполагается, содержит ведущее устройство, даже скрытое. На практике это не всегда надежно. Его единственное практическое применение должно быть целью динамических обновлений. –  bortzmeyer 27 October 2009 в 10:49

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

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

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

3
ответ дан 3 December 2019 в 03:26

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

Если зона DNS доменного имени настроена правильно - затем можно запросить запись SOA зоны, которая (среди других вещей) содержит имя хоста основного сервера DNS (ведущее устройство).

Например:

C:\>nslookup
Default Server:  UnKnown
Address:  192.168.1.1

> set type=SOA
> google.com.
Server:  UnKnown
Address:  192.168.1.1

Non-authoritative answer:
google.com
        primary name server = ns1.google.com
        responsible mail addr = dns-admin.google.com
        serial  = 1396486
        refresh = 7200 (2 hours)
        retry   = 1800 (30 mins)
        expire  = 1209600 (14 days)
        default TTL = 300 (5 mins)

Можно теперь сделать другой поиск на названии основного сервера (от записи SOA - в этом случае "ns1.google.com"), для получения IP-адреса ведущего устройства:

C:\nslookup ns1.google.com.
Server:  UnKnown
Address:  192.168.1.1

Non-authoritative answer:
Name:    ns1.google.com
Address:  216.239.32.10

Ответ в этом случае 216.239.32.10

2
ответ дан 3 December 2019 в 03:26
  • 1
    +1 согласно RFC запись SOA должна иметь основной источник записей для перечисленного (MNAME) домена. Конечно, большинство реализаций DNS, вероятно, don' t вызывают это. –  Doug Luxem 29 October 2009 в 19:51

Команда dig -t SOA your-url вернет официальный сервер в разделе ОТВЕТ, а затем, если хотите, вы можете dig authoritative-server-url , чтобы иметь IP. Или вы можете использовать host -t SOA your-url и host authoritative-server-url для более краткого ответа.

0
ответ дан 11 April 2021 в 19:48

Теги

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