Editing DNS SRV
From JaWiki (Jabber/XMPP wiki)
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: | ||
− | {{ | + | {{stub}} |
− | + | ||
− | + | ||
− | + | ||
− | }} | + | |
− | + | ||
− | + | Особый вид DNS-записи, который позволяет указывать хост, на котором размещен тот или иной сервис. В губом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определенному домену. | |
− | + | Формат и использование специфицированы в RFC 2782. Штатно поддерживается такими протоколами как [[XMPP]](Jabber), [[SIP]], [[:w:LDAP|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), а просто обслуживают прием и отправку почты непосредственно на домене второго уровня. | Некоторые администраторы так продолжают поступать и сейчас, но это, по нашему мнению, подход неправильный: никто же не выделяет для электронной почты отдельный домен ''mail'' (mail.company.ru), а просто обслуживают прием и отправку почты непосредственно на домене второго уровня. | ||
Line 26: | Line 25: | ||
Очевидным минусом использования SRV является тот, что нельзя явно адресовать пользователя на веб-страницу, где описывается сервис. | Очевидным минусом использования 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-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. | ||
− | |||
− | |||
− | |||
Описание полей записи: | Описание полей записи: | ||
− | * | + | * _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-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 ''90'' 5222 xmpp-provider.ru. | ||
_xmpp-client._tcp.my-personal-jabber.ru. 3600 IN SRV 20 ''10'' 5222 experimental.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. | Бесплатно можно зарегистрировать домен в зона типа PUBLIC и GEO. | ||
− | В РФ поддержку доменов | + | В РФ поддержку таких доменов [http://www.relcom.ru/Services/Domen_3/Domen_3_reg/ осуществляет] ООО Релком. |
− | + | ====ДНС-сервер==== | |
+ | Если у вас нет собственного сервера, а платить провайдеру за услугу ДНС вы не хотите, то можно воспользоваться одним из бесплатных сервисов. Например [http://xname.org xname.org]. | ||
− | === | + | ====XMPP-сервер==== |
− | + | В данный момент услуги т.н. XMPP-хостинга предоставляет только Google в рамках своего бесплатного (по крайней мере по состоянию на июль 2007 года) сервиса [[Google_Apps|Google_Apps]]. | |
− | === | + | ====Проверка==== |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Для проверки измененной зоны можно воспользоваться командой DIG (ОС семейства Unix): | Для проверки измененной зоны можно воспользоваться командой DIG (ОС семейства Unix): | ||
− | dig -t srv _xmpp-server._tcp. | + | dig -t srv _xmpp-server._tcp.gt.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]] тестирование зоны производится силами самого сервиса. |
− | + | ===Ссылки=== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
* Обсуждение на [http://forum.jrudevels.org/viewtopic.php?t=1050 форуме] | * Обсуждение на [http://forum.jrudevels.org/viewtopic.php?t=1050 форуме] | ||
− | |||
− | |||
− | |||
− |