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

Материал из Мир Jabber
Версия от 18:08, 27 августа 2009; Rain (обсуждение | вклад) (вроде не надо)
Перейти к навигацииПерейти к поиску

Порты

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

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

Некоторые серверы позволяют подключение и к другим портам, изначально не предназначавшихся для Jabber, например, FTP (21), HTTP (80), HTTP proxy (8080 или 3128) или 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-адрес).

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

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

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

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

Ссылки