Сетевые соединения в Jabber

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску

Порты

Стандартными портами для подключения Jabber-клиента к серверу являются 5222 и 5223. Раньше 5222 применялся для незащищенного, а 5223 - для шифрованного SSL-соединения. Сейчас порт 5222 может применяться для любых типов соединений.

Нестандартные порты

Некоторые серверы позволяют подключаться и к другим портам, изначально не предназначавшихся для джаббера, например, FTP (21) или HTTPS (443). Это может быть полезно в случае недоступности стандартных портов. Для использования этой возможности откройте менеджер учетных записей в Вашем Jabber-клиенте и перейдите на вкладку настроек сетевых подключений. Отметьте опцию принудительного указания сервера и порта и впишите необходимые значения, после чего переподключите учетную запись.

Таблица нестандартных портов в джаббер

Подключение через HTTP-прокси

Работа через прокси типична для офисных сетей. Как правило, используется прокси типа HTTP/HTTPS, уточнить можно у системного администратора конретной сети.

При настройке клиента Jabber нужно указать:

  • тип прокси (обычно HTTP/HTTPS);
  • адрес сервера прокси (можно посмотреть в своём браузере, например, в Internet Explorer в "свойствах обозревателя" на вкладке "соединение" под кнопкой "Cеть");
  • порт сервера прокси (обычно 3128, но может быть и другой, также можно посмотреть в своём браузере);
  • если прокси требует ввода логина и пароля, их нужно указать в соответствующих полях.

После настройки нужно попробовать соединиться. Если соединение не проходит, наверняка в настройке сервера прокси запрещено соединение с портами 5222 или 5223 и нужно использовать "обходной маневр": соединяться с сервером по порту, характерному для обычного веб, то есть по порту 443. Но не все серверы jabber принимают соединение на этом порту, список таких серверов указан параграфом выше. Если Вы использует другой сервер и он не настроен на работу через 443 порт, Вам придётся регистрироваться на сервере, который имеет такую возможность, например, jabber.ru.

Подключение через SOCKS-прокси

SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволлами). SOCKS — это сокращение от «SOCKetS» (сокеты, гнёзда). Клиенты за межсетевым экраном, нуждающиеся в доступе к внешним серверам, вместо этого могут соединяться с SOCKS прокси сервером. Такой прокси сервер контролирует права клиента для доступа к внешним ресурсам и передаёт запрос к серверу.

Многие Jabber-клиенты позволяют подключаться к Jabber-серверам, используя SOCKS-прокси. Настройка делается аналогично настройке при подключении через HTTP-прокси - Вы указываете адрес SOCKS прокси-сервера, порт для подключения, при необходимости - имя пользователя и пароль. Эти параметры Вы можете узнать у администратора Вашей сети.

Заключение

После прочтения предыдущих разделов, думаю, становится понятно, что запретить использовать джаббер, пока у Вас доступен хоть какой-то порт в интернет невозможно. Допустим, если у Вас на работе перекрыто подключение по стандартным портам (5222 и 5223), либо закрыт доступ на любые другие сервера, кроме корпоративного - можно использовать подключение по нестандартным портам, использовать корпоративный либо анонимный HTTP-прокси. Также можно воспользоваться SOCKS-подключением через корпоративный прокси, либо использовать прокси, предварительно настроенный у себя дома (если у Вас, конечно, домашний компьютер имеет внешний IP-адрес).

Приведу реальный пример такого "экстремального" подключения (на примере Linux-систем, Windows-пользователи могут поискать соответствующие инструменты самостоятельно). Допустим, на Вашем компьютере нет возможности подключиться к публичному Jabber-серверу, но есть возможность подключиться по SSH к некоему шлюзу, имеющему выход на другой компьютер, на котором есть доступ к необходимому Вам серверу. Тогда можно воспользоваться замечательным свойством SSH для пробрасывания необходимых портов и использования SSH в качестве SOCKS-прокси. Выполните команду

user1@host1~$ ssh -L 12345:localhost:12345 user2@host2 "ssh -D 12345 user3@host3"

Через несколько секунд на Вашем компьютере на порту 12345 будет доступен SOCKS-сервер, который можно прописать в настройках Jabber-клиента. Учтите, Вам необходима авторизация по ключам со шлюза host2 на компьютер host3.

Как это работает? Когда Вы со своего компьютера host1 подключаетесь на шлюз host2, порт 12345 шлюза становится доступен локально на Вашем компьютере, т.е., Вы обращаетесь к нему так, как будто Вы находитесь на host2. В свою очередь, после Вашего логина на шлюзе выполняется команда "ssh -D 12345 user3@host3", которая создает SOCKS-сервер, доступный на этом же самом порту - 12345 и забирающий трафик с компьютера host3. В итоге Ваш Jabber-клиент подключается к сети так, как если бы он был запущен на host3. Таким вот простым способом можно обойти запрет на подключение необходимым Вам серверам.

Различные сетевые настройки

Шифровать соединение
Использовать один из доступных типов шифрования - SSL или TLS
Игнорировать предупреждения SSL
Не выводить предупреждающие сообщения в случае некорректного SSL-сертификата. Требуется для нормальной работы с некоторыми серверами Jabber при использовании шифрования.
Сжимать трафик
Сжимать передаваемый трафик.
Отправлять keep-alive пакеты
Периодически посылать на сервер пакеты, служащие для поддержания соединения. Бывает необходимо на некоторых провайдерах или при работе из локальной сети организации. Также необходимо для Livejournal.
Авторизация открытым текстом
Передавать пароль в открытом виде, на случай, если сервер не поддерживает авторизацию с закодированным паролем.
Вручную указать адрес сервера и порт
Используется в тех случаях, когда сервер в JID и реальный сервер не совпадают либо для указания нестандартных портов.
Указать прокси-сервер
Используется для указания прокси-сервера для данного соединения.