Editing DNS SRV

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: MediaWiki upgrading

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{Interwiki
+
{{stub}}
| ruwiki =
+
| enwiki =
+
| jworld = SRV
+
}}
+
'''SRV''' - особый вид DNS-записи, который позволяет указывать пару хост-порт, на которых размещен тот или иной сервис. В грубом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определённому домену.
+
  
Формат и использование специфицированы в [http://tools.ietf.org/html/rfc2782 RFC 2782]. Штатно поддерживается протоколами [[XMPP]] (Jabber), [[SIP]] и {{w|LDAP}}.
+
Особый вид DNS-записи, который позволяет указывать хост, на котором размещен тот или иной сервис. В грубом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определенному домену.
  
За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS. Также за счет этого можно осуществлять так называемый [[XMPP-хостинг]], когда сервер Jabber работает у поставщика, а клиент прозрачно использует его возможности.
+
Формат и использование специфицированы в RFC 2782. Штатно поддерживается такими протоколами как [[XMPP]](Jabber), [[SIP]], [[:w:LDAP|LDAP]].
  
Поясним на примере. Имеется домен company.ru, который разрешается в IP-адрес 200.100.50.33. Если не использовать SRV, то сам демон сервера физически придется размещать на том же хосте, где выполняется веб-сервер. Это не всегда удобно, а нередко и технически невозможно.
+
За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS. Также за счет этого можно осуществлять так называемый Xmpp-хостинг, когда сервер работает у поставщика, а клиент прозрачно использует его возможности.
  
До принятия стандарта [[RFC]] в записях фигурировало ключевое слово jabber. Если требуется обратная совместимость со старыми серверами, то следует добавлять записи и с данным ключевым словом.
+
Поясним на примере. Имеется домен company.ru, который разрешается в IP-адрес 200.100.50.33. Если не использовать SRV, то сам демон сервера физически придется размещать на том же хосте, где выполняется веб-сервер. Это не всегда удобно или даже технически возможно.
  
== Практическое использование ==
+
...
Большая часть популярных Jabber-клиентов поддерживает работу с SRV-записями.  
+
  
Jabber-сервера скорее всего все поддерживают работу с этой записью, в противном случае [[S2S]] (межсерверное взаимодействие) может быть недоступно.
+
До принятия [[RFC]] в записях фигурировало ключевое слово jabber. Если требуется обратная совместимость со старыми серверами, то следует добавлять записи и с данным ключевым словом.
  
== Пережитки прошлого и выбор доменного имени ==
+
===Практическое использование===
Несколько лет назад, когда поддержка на стороне клиентов была не такой распространенной, сервера поднимали на отдельном хосте. Например, jabber.tushino.com или jabber.corbina.ru. Очевидно, что это вело к неоправданному увеличению длины [[JID]].  
+
Большая часть популярных jabber-клиентов поддерживает работу с SRV-записями.
 +
 
 +
Jabber-сервера скорее всего все поддерживают работу с этой записью. В противном случае S2S-взаимодействие может быть недоступно.
 +
 
 +
===Пережитки прошлого и выбор доменного имени===
 +
Несколько лет назад, когда поддержка на стороне клиентов была не такой распространенной, сервера поднимали на отдельном хосту. Например, jabber.tushino.com или jabber.corbina.ru. Очевидно, что это вело к неоправданному увеличению длины [[JID]].  
  
 
Некоторые администраторы так продолжают поступать и сейчас, но это, по нашему мнению, подход неправильный: никто же не выделяет для электронной почты отдельный домен ''mail'' (mail.company.ru), а просто обслуживают прием и отправку почты непосредственно на домене второго уровня.
 
Некоторые администраторы так продолжают поступать и сейчас, но это, по нашему мнению, подход неправильный: никто же не выделяет для электронной почты отдельный домен ''mail'' (mail.company.ru), а просто обслуживают прием и отправку почты непосредственно на домене второго уровня.
Line 26: Line 25:
 
Очевидным минусом использования SRV является тот, что нельзя явно адресовать пользователя на веб-страницу, где описывается сервис.
 
Очевидным минусом использования SRV является тот, что нельзя явно адресовать пользователя на веб-страницу, где описывается сервис.
  
== Спецификация ==
+
===Спецификация===
Пусть Jabber-сервер физически находится на хосте xmpp-provider.ru, а my-personal-jabber.ru будет тем доменом, который будет использоваться при формировании JID и для указания в настройках клиентов. Тогда записи будут выглядеть так:
+
Пусть 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-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-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 0 5222 xmpp-provider.ru.
Line 35: Line 34:
  
 
Описание полей записи:
 
Описание полей записи:
* '''_Service''' <br> имя сервиса согласно [http://tools.ietf.org/html/rfc3232 RFC-3232] (IANA Assigned [http://www.iana.org/assignments/port-numbers Port Numbers]), предварённое подчёркиванием: для межсерверных соединений используется '''_xmpp-server''', для подключений клиентов к серверу - '''_xmpp-client''' и, если нужна совместимость с устаревшими клиентами, можно добавить и '''_jabber''', но запись '''_xmpp-client''' при этом обязательно должна быть.
+
* '''_Service''' <br> имя сервиса согласно [http://tools.ietf.org/html/rfc3232 RFC-3232] (IANA Assigned [http://www.iana.org/assignments/port-numbers Port Numbers]), предварённое подчёркиванием: для межсерверных соединений используется '''_xmpp-server''', для подключений клиентов к серверу - '''_xmpp-client''';
 
* '''_Proto''' <br> название протокола, предварённое подчёркиванием, для jabber используется только протокол TCP, то есть значение поля всегда '''_tcp''';
 
* '''_Proto''' <br> название протокола, предварённое подчёркиванием, для jabber используется только протокол TCP, то есть значение поля всегда '''_tcp''';
 
* '''domain.tld.''' <br> доменное имя, правая часть JID (пользователи будут иметь JID вида user@domain.tld); точка в конце '''''обязательна''''', иначе к имени будет автоматически добавлен домен используемой зоны.
 
* '''domain.tld.''' <br> доменное имя, правая часть JID (пользователи будут иметь JID вида user@domain.tld); точка в конце '''''обязательна''''', иначе к имени будет автоматически добавлен домен используемой зоны.
Line 51: Line 50:
 
Доменное имя хоста, где физически запущен сервер. Октетный адрес указывать нельзя. Если указано полное доменное имя, оно должно завершаться точкой. Если точка в конце не поставлена, к имени будет добавлен домен используемой зоны. Доменное имя хоста должно иметь запись типа "А", то есть нельзя указывать доменное имя, которое ссылается посредством CNAME на другое доменное имя, можно только то, которое напрямую преобразуется в числовой (октетный) адрес.
 
Доменное имя хоста, где физически запущен сервер. Октетный адрес указывать нельзя. Если указано полное доменное имя, оно должно завершаться точкой. Если точка в конце не поставлена, к имени будет добавлен домен используемой зоны. Доменное имя хоста должно иметь запись типа "А", то есть нельзя указывать доменное имя, которое ссылается посредством CNAME на другое доменное имя, можно только то, которое напрямую преобразуется в числовой (октетный) адрес.
  
== Пример ==
+
===Пример===
 
Данный пример базируется на бесплатных сервисах, самостоятельно осуществлять поддержку и сопровождения сервисов не требуется. Оптимально для случаев, когда бюджет ограничен либо хочется просто поэспериментировать.
 
Данный пример базируется на бесплатных сервисах, самостоятельно осуществлять поддержку и сопровождения сервисов не требуется. Оптимально для случаев, когда бюджет ограничен либо хочется просто поэспериментировать.
  
=== Регистрация домена ===
+
====Регистрация домена====
 
Бесплатно можно зарегистрировать домен в зона типа PUBLIC и GEO.
 
Бесплатно можно зарегистрировать домен в зона типа PUBLIC и GEO.
В РФ поддержку доменов типа GEO (но не всех) [http://www.relcom.ru/Services/Domen_3/Domen_3_reg/ осуществляет] ООО Релком. Кроме того, [http://ripn.net РосНИИРОС] всем желающим бесплатно регистрирует домены "третьего уровня" в зонах pp.ru, org.ru, net.ru.
+
В РФ поддержку таких доменов (но не всех) [http://www.relcom.ru/Services/Domen_3/Domen_3_reg/ осуществляет] ООО Релком.
  
Есть различные сервисы, предлагающие бесплатный DNS-хостинг. Это [http://xname.org/ xname.org] (нет возможности редактировать SRV), [http://freedns.afraid.org/ FreeDNS] и другие.
+
====ДНС-сервер====
 +
Если у вас нет собственного сервера, а платить провайдеру за услугу ДНС вы не хотите, то можно воспользоваться одним из бесплатных сервисов. Например [http://xname.org xname.org].
  
=== ДНС-сервер ===
+
====XMPP-сервер====
Если у вас нет собственного сервера, а платить провайдеру за услугу ДНС вы не хотите, то можно воспользоваться одним из бесплатных сервисов. Например, бесплатный DNS-хостинг<ref>[http://pdd.yandex.ru/help/section9/ DNS-хостинг Яндекса]</ref> есть у [[Yandex]], а также есть западные сервисы, например, [http://xname.org xname.org].
+
В данный момент услуги т.н. XMPP-хостинга предоставляет только Google в рамках своего бесплатного (по крайней мере по состоянию на июль 2007 года) сервиса [[Google Apps]].
  
=== XMPP-сервер ===
+
====Проверка====
 
+
Услуги [[:Category:Jabber-хостинг|XMPP-хостинга]] также предоставляют многие сервис и [[Хостинг-провайдер|хостинг-провайдеры]]:
+
* Google в рамках своего бесплатного (по крайней мере по состоянию на январь 2009 года) сервиса [[Google Apps]]
+
* 1gb.ru ([http://www.1gb.ru/services_jabber.php описание]);
+
* spaceweb.ru ([http://sweb.ru/news/93 описание]).
+
 
+
Возможна самостоятельная установка и настройка XMPP-сервера на виртуальных серверах ([[w:ru:VPS|VPS]]).
+
 
+
=== Проверка ===
+
 
Для проверки измененной зоны можно воспользоваться командой DIG (ОС семейства Unix):
 
Для проверки измененной зоны можно воспользоваться командой DIG (ОС семейства Unix):
  dig -t srv _xmpp-server._tcp.jrudevels.org
+
  dig -t srv _xmpp-server._tcp.gt.jrudevels.org
Для краткого вывода:
+
dig +short SRV _xmpp-client._tcp.leksey.tushinec.ru
+
либо командой host (также в юниксах):
+
host -t srv _xmpp-server._tcp.jrudevels.org
+
либо командой nslookup (в большинстве ОС, в том числе в Windows, в Linux же эта утилита считается устаревшей):
+
nslookup -type=srv _xmpp-server._tcp.jrudevels.org
+
  
 
Если нужно опросить конкретный сервер, то:
 
Если нужно опросить конкретный сервер, то:
 
  dig @ns1.somedns.ru -t srv  _xmpp-server._tcp.gt.jrudevels.org
 
  dig @ns1.somedns.ru -t srv  _xmpp-server._tcp.gt.jrudevels.org
  
В случае использования [[Google Apps]] тестирование зоны производится силами самого сервиса.
+
В случае использования [[Google_Apps|Google_Apps]] тестирование зоны производится силами самого сервиса.
  
 
Пример вывода команды dig:
 
Пример вывода команды dig:
Line 100: Line 85:
 
  ...часть опущена...
 
  ...часть опущена...
  
== Предупреждение о Google Apps ==
+
===Ссылки===
На странице помощи google указано, что нужно вносить записи IN SRV для имён _xmpp-server._tcp.domain.tld. и для _jabber._tcp.domain.tld., но не указана необходимость записей _xmpp-client._tcp.domain.tld. Если не указать записи для _xmpp-client, это не позволит использовать некоторые клиенты jabber.
+
 
+
'''Примечания:'''
+
<references />
+
 
+
== Ссылки ==
+
 
* Обсуждение на [http://forum.jrudevels.org/viewtopic.php?t=1050 форуме]
 
* Обсуждение на [http://forum.jrudevels.org/viewtopic.php?t=1050 форуме]
 
[[Category:Documentation]]
 
[[Category:Technical]]
 
[[Category:HowTo]]
 

Please note that all contributions to JaWiki (Jabber/XMPP wiki) may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see JaWiki (Jabber/XMPP wiki):Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)