STUN

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

STUN - протокол, позволяющий обходить ограничения, связанные с работой за NAT. Его применение весьма востребовано, потому что большинство домашних интернет-провайдеров используют NAT, а также почти все корпоративные способы доступа в интернет реализованы с использованием NAT и различных видов прокси. Для использования нужно знать адрес STUN-сервера, а также убедиться что нужная вам программа поддерживает STUN (обычно на это указывает наличие в её настройках соответствующих полей).

В случае XMPP - STUN нужен для работы Jingle, когда собеседники находятся за NAT и не имеют прямого IP-адреса. В ряде случаев чтобы работала передача файлов, а также общение голосом и видео нужно указывать STUN-сервер.

Psi plus media misctab.png

Список STUN-серверов[edit]

Для работы с xmpp-клиентом годится любой STUN-сервер, не обязательно такой который поднят вместе с тем или иным xmpp-сервером. Т.е. при желании и возможности вы можете запустить сервер самостоятельно. Во FreeBSD он находится в портах net/stund.

По умолчанию STUN-сервер разрешает использование любыми пользователями без авторизации, если это не включили явно администраторы.

  • stun.jabber.ru стандартный порт с шифрованием - 5249 (jabber.ru)
  • stun.habahaba.im стандартный порт - 3478 (сервис Habahaba, STUN прописан в SRV и не требуется указывать явно)
  • stunserver.org
  • stun.ekiga.net (если не получится, то пропишите IP-адрес), порт 3478 (проект ekiga)

XMPP-клиенты с поддержкой STUN[edit]

  • Psi и Psi+ в настройках аккаунта
  • Pidgin
  • Gajim в общих настройках на вкладке Audio/Video

Тип NAT[edit]

Определить тип NAT можно запустив stun-клиент. Версию для MS Windows скачать можно отсюда. Запускать следующим образом

client.exe stun.xten.com

В случае NAT, реализованного средствами FreeBSD с natd, будет получен результат Primary: Port Restricted Nat, preserves ports, no hairpin. Единственный типа NAT, который нельзя обойти это симметричный (symmetric NAT).

В Unix то же самое запускается аналогичным образом (в портах FreeBSD /usr/ports/net/stund/)

stun_client stun.xten.com

См. также[edit]