Сетевые соединения в Jabber: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
м (добавил starttls)
 
(не показано 12 промежуточных версий 5 участников)
Строка 1: Строка 1:
== Порты ==
== Порты ==


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


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


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


[[Нестандартные порты в Jabber|Таблица нестандартных портов в джаббер]]
* [[Нестандартные порты в Jabber|Таблица нестандартных портов в джаббер]]


== Подключение через HTTP-прокси ==
== Подключение через HTTP-прокси ==
Строка 15: Строка 15:
При настройке клиента Jabber нужно указать:
При настройке клиента Jabber нужно указать:
* тип прокси (обычно HTTP/HTTPS);
* тип прокси (обычно HTTP/HTTPS);
* адрес сервера прокси (можно посмотреть в своём браузере, например, в Internet Explorer в "свойствах обозревателя" на вкладке "соединение" под кнопкой "Cеть");
* адрес сервера прокси (можно посмотреть в своём браузере, например, в Internet Explorer в «свойствах обозревателя» на вкладке «соединение» под кнопкой «Cеть»);
* порт сервера прокси (обычно 3128, но может быть и другой, также можно посмотреть в своём браузере);
* порт сервера прокси (обычно 3128, но может быть и другой, также можно посмотреть в своём браузере);
* если прокси требует ввода логина и пароля, их нужно указать в соответствующих полях.
* если прокси требует ввода логина и пароля, их нужно указать в соответствующих полях.


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


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


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


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


== Заключение ==
== Заключение ==


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


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


'''user1@host1~$ ssh -L 12345:localhost:12345 user2@host2 "ssh -D 12345 user3@host3"'''
Приведу реальный пример такого «экстремального» подключения на примере Unix-like систем (пользователи Windows могут воспользоваться аналогичной возможностью в putty). Допустим, на вашем компьютере нет возможности подключиться к публичному Jabber-серверу, но есть возможность подключиться по SSH к некоему шлюзу, имеющему выход на другой компьютер, на котором есть доступ к необходимому вам серверу. Тогда можно воспользоваться замечательным свойством SSH для пробрасывания необходимых портов и использования SSH в качестве SOCKS-прокси. Выполните команду


Через несколько секунд на Вашем компьютере на порту 12345 будет доступен SOCKS-сервер, который можно прописать в настройках Jabber-клиента. Учтите, Вам необходима авторизация по ключам со шлюза '''host2''' на компьютер '''host3'''.
user1@host1~$ ssh -tL 12345:localhost:12345 user2@host2 "ssh -D 12345 user3@host3"


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


== Ссылки ==
== Ссылки ==


[[Настройки сети в Jabber-клиентах|Настройки сетевых подключений в Jabber-клиентах]]
* [[Настройки сети в Jabber-клиентах|Настройки сетевых подключений в Jabber-клиентах]]
 
* [[Проблемы при подключении к Jabber|Если подключиться не удается...]]
[[Проблемы при подключении к Jabber|Если подключиться не удается...]]


[[Category:Сеть]][[Category:Тонкости работы]]
[[Category:Сеть]][[Category:Тонкости работы]]

Текущая версия на 12:25, 9 сентября 2022

Порты[править]

Стандартными портами для подключения Jabber-клиента к серверу являются 5222 и 5223. Порт 5222 применяется для соединения с использованием STARTTLS, а также незащищенного соединения (у тех серверов, которые позволяют это), а 5223 — для шифрования с помощью SSL или 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-прокси, а тот передает запросы серверу.

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

Заключение[править]

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

Для самых продвинутых

Приведу реальный пример такого «экстремального» подключения на примере Unix-like систем (пользователи Windows могут воспользоваться аналогичной возможностью в putty). Допустим, на вашем компьютере нет возможности подключиться к публичному 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. Таким вот простым способом можно обойти запрет на подключение к необходимым вам серверам.

Ссылки[править]