Difference between revisions of "DNS SRV"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m (Немного текста)
m (Дополнения)
Line 1: Line 1:
 
{{stub}}
 
{{stub}}
{{todo|Дописать}}
 
  
 
Особый вид DNS-записи, который позволяет указывать хост, на котором размещен тот или иной сервис. В губом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определенному домену.
 
Особый вид DNS-записи, который позволяет указывать хост, на котором размещен тот или иной сервис. В губом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определенному домену.
  
Формат и использование специфицированы в RFC 2782. Штатно поддерживается такими протоколами как [[XMPP]] (Jabber) и [[SIP]].
+
Формат и использование специфицированы в RFC 2782. Штатно поддерживается такими протоколами как [[XMPP]](Jabber), [[SIP]], [[:w:LDAP|LDAP]].
  
 
За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS. Также за счет этого можно осуществлять так называемый Xmpp-хостинг, когда сервер работает у поставщика, а клиент прозрачно использует его возможности.
 
За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS. Также за счет этого можно осуществлять так называемый Xmpp-хостинг, когда сервер работает у поставщика, а клиент прозрачно использует его возможности.
Line 12: Line 11:
 
...
 
...
  
До принятия RFC в записях фигурировало ключевое слово jabber.
+
До принятия [[RFC]] в записях фигурировало ключевое слово jabber. Если требуется обратная совместимость со старыми серверами, то следует добавлять записи и с данным ключевым словом.
  
 
===Практическое использование===
 
===Практическое использование===
Line 34: Line 33:
  
 
Описание полей записи:
 
Описание полей записи:
_xmpp-server Протокол
+
* _xmpp-server - имя сервиса
# _tcp Протокол
+
* _tcp - протокол
# my-personal-jabber.ru.Хост
+
* my-personal-jabber.ru. - хост, где будет виртуально размещаться сервер
# ?
+
* TTL (в секундах)
# ?
+
* Класс (неизменяемое поле)
# ?
+
* Тип DNS-записи
# Приоритет?
+
* Приоритет (priority) Аналогично MX, чем меньше значение, тем выше приоритет
# ?
+
* Вес (weight). Учитывается в случае наличия нескольких SRV-записей с одинаковым приоритетом. Посредством этого значения осуществляется балансировка: значение определяет какая процентная часть запросов направляется на хост. В примере на экспериментальный сервер будет идти 10% подключений.
# Порт
+
_xmpp-server._tcp.my-personal-jabber.ru. 3600 IN SRV 20 0 5269 xmpp-provider.ru.
# Хост
+
_xmpp-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 ''90'' 5222 xmpp-provider.ru.
 +
_xmpp-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 ''10'' 5222 experimental.xmpp-provider.ru.
 +
* Порт
 +
Для _xmpp-server порт всегда будет 5269, а в случае _xmpp-client указывается реальный порт, на котором сервер принимает соединения от  клиентского ПО. Если при подключении пользователь указывает порт отличный от указанного в записи, то {{todo|.....}}.
 +
* Хост, где физически запущен сервер
  
Если не указывать название хоста (номер), то будет использован текущее
+
Если не указывать название хоста (номер), то будет использован хост из текущей зоны.
  
 
{{todo|Как обойтись с 5223 и что есть после приоритета поле + валидно ли указание IP?}}
 
{{todo|Как обойтись с 5223 и что есть после приоритета поле + валидно ли указание IP?}}
  
Пример базируется на бесплатных сервисах.
+
===Пример===
 +
Данный пример базируется на бесплатных сервисах, самостоятельно осуществлять поддержку и сопровождения сервисов не требуется. Оптимально для случаев, когда бюджет ограничен либо хочется просто поэспериментировать.
  
Регистрация домена в GEO  
+
====Регистрация домена====
 +
Бесплатно можно зарегистрировать домен в зона типа PUBLIC и GEO.
 +
В РФ поддержку таких доменов [http://www.relcom.ru/Services/Domen_3/Domen_3_reg/ осуществляет] ООО Релком.
  
Пример на бесплатном ДНС-сервисе
+
====ДНС-сервер====
 +
Если у вас нет собственного сервера, а платить провайдеру за услугу ДНС вы не хотите, то можно воспользоваться одним из бесплатных сервисов. Например [http://xname.org xname.org].
  
Как проверить - команда dig
+
====XMPP-сервер====
 +
В данный момент услуги т.н. XMPP-хостинга предоставляет только Google в рамках своего бесплатного (по крайней мере по состоянию на июль 2007 года) сервиса [[Google_Apps|Google_Apps]].
  
===Использовать для GTalk===
+
====Проверка====
...
+
Для проверки измененной зоны можно воспользоваться командой DIG (ОС семейства Unix):
 +
dig -t srv _xmpp-server._tcp.gt.jrudevels.org
 +
 
 +
Если нужно опросить конкретный сервер, то:
 +
dig @ns1.somedns.ru -t srv  _xmpp-server._tcp.gt.jrudevels.org
 +
 
 +
В случае использования [[Google_Apps|Google_Apps]] тестирование зоны производится силами самого сервиса.
  
 
===Ссылки===
 
===Ссылки===
 
* Обсуждение на [http://forum.jrudevels.org/viewtopic.php?t=1050 форуме]
 
* Обсуждение на [http://forum.jrudevels.org/viewtopic.php?t=1050 форуме]

Revision as of 17:15, 5 July 2007

Информации мало или она отсутствует

Пока в данной статье мало информации. Приносим извинения.

Если вы хотите написать по теме, — сделайте это.

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

Формат и использование специфицированы в RFC 2782. Штатно поддерживается такими протоколами как XMPP(Jabber), SIP, LDAP.

За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS. Также за счет этого можно осуществлять так называемый Xmpp-хостинг, когда сервер работает у поставщика, а клиент прозрачно использует его возможности.

Поясним на примере. Имеется домен company.ru, который разрешается в IP-адрес 200.100.50.33. Если не использовать SRV, то сам демон сервера физически придется размещать на том же хосте, где выполняется веб-сервер. Это не всегда удобно или даже технически возможно.

...

До принятия RFC в записях фигурировало ключевое слово jabber. Если требуется обратная совместимость со старыми серверами, то следует добавлять записи и с данным ключевым словом.

Практическое использование

Большая часть популярных jabber-клиентов поддерживает работу с SRV-записями.

Jabber-сервера скорее всего все поддерживают работу с этой записью. В противном случае S2S-взаимодействие может быть недоступна.

Пережитки прошлого и выбор доменного имени

несколько лет назад, когда поддержка на стороне клиентов была не такой распространенной, сервера поднимали на отдельном хосту. Например, jabber.tushino.com или jabber.corbina.ru. Очевидно, что это вело к неоправданному увеличению длины JID.

Некоторые администраторы так продолжают поступать и сейчас, но это, по нашему мнению, подход неправильный: никто же не выделяет для электронной почты отдельный домен mail (mail.company.ru), а просто обслуживают прием и отправку почты непосредственно на домене второго уровня.

Очевидным минусом использования SRV является тот, что нельзя явно адресовать пользователя на веб-страницу, где описывается сервис.

Как добавить (пример настройки)

Пусть jabber-сервер физически находится на хосте xmpp-provider.ru, а my-personal-jabber.ru будет тем доменом, который будет использоваться при формировании JID и для указания в настройках клиентов.

Тогда записи будет выглядеть так

_xmpp-server._tcp.my-personal-jabber.ru. 3600 IN SRV 20 0 5269 xmpp-provider.ru.
_xmpp-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 0 5222 xmpp-provider.ru.

Описание полей записи:

  • _xmpp-server - имя сервиса
  • _tcp - протокол
  • my-personal-jabber.ru. - хост, где будет виртуально размещаться сервер
  • TTL (в секундах)
  • Класс (неизменяемое поле)
  • Тип DNS-записи
  • Приоритет (priority) Аналогично MX, чем меньше значение, тем выше приоритет
  • Вес (weight). Учитывается в случае наличия нескольких SRV-записей с одинаковым приоритетом. Посредством этого значения осуществляется балансировка: значение определяет какая процентная часть запросов направляется на хост. В примере на экспериментальный сервер будет идти 10% подключений.
_xmpp-server._tcp.my-personal-jabber.ru. 3600 IN SRV 20 0 5269 xmpp-provider.ru.
_xmpp-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 90 5222 xmpp-provider.ru.
_xmpp-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 10 5222 experimental.xmpp-provider.ru.
  • Порт
Для _xmpp-server порт всегда будет 5269, а в случае _xmpp-client указывается реальный порт, на котором сервер принимает соединения от клиентского ПО. Если при подключении пользователь указывает порт отличный от указанного в записи, то
ToDo: .....
.
  • Хост, где физически запущен сервер

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

ToDo: Как обойтись с 5223 и что есть после приоритета поле + валидно ли указание IP?

Пример

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

Регистрация домена

Бесплатно можно зарегистрировать домен в зона типа PUBLIC и GEO. В РФ поддержку таких доменов осуществляет ООО Релком.

ДНС-сервер

Если у вас нет собственного сервера, а платить провайдеру за услугу ДНС вы не хотите, то можно воспользоваться одним из бесплатных сервисов. Например xname.org.

XMPP-сервер

В данный момент услуги т.н. XMPP-хостинга предоставляет только Google в рамках своего бесплатного (по крайней мере по состоянию на июль 2007 года) сервиса Google_Apps.

Проверка

Для проверки измененной зоны можно воспользоваться командой DIG (ОС семейства Unix):

dig -t srv _xmpp-server._tcp.gt.jrudevels.org

Если нужно опросить конкретный сервер, то:

dig @ns1.somedns.ru -t srv  _xmpp-server._tcp.gt.jrudevels.org

В случае использования Google_Apps тестирование зоны производится силами самого сервиса.

Ссылки