Сетевые соединения в Jabber: различия между версиями
Rain (обсуждение | вклад) |
Rain (обсуждение | вклад) м (добавил starttls) |
||
(не показано 29 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
== Порты == | == Порты == | ||
Стандартными портами для подключения Jabber-клиента к серверу являются 5222 и 5223. | Стандартными портами для подключения Jabber-клиента к серверу являются 5222 и 5223. Порт 5222 применяется для соединения с использованием STARTTLS, а также незащищенного соединения (у тех серверов, которые позволяют это), а 5223 — для [[Шифрование в Jabber|шифрования]] с помощью SSL или TLS. | ||
== Нестандартные порты == | == Нестандартные порты == | ||
Некоторые серверы позволяют | Некоторые серверы позволяют подключение и к другим портам, изначально не предназначавшихся для Jabber, например, FTP (21), HTTP (80), HTTP proxy (8080 или 3128) или HTTPS (443). Это может быть полезно в случае недоступности стандартных портов. Для использования этой возможности откройте менеджер учетных записей в своём [[Клиенты Jabber|Jabber-клиенте]] и перейдите на вкладку [[Настройки сети в Jabber-клиентах|настроек сетевых подключений]]. Отметьте опцию принудительного указания сервера и порта и впишите необходимые значения, после чего переподключите учетную запись. | ||
[[Нестандартные порты в Jabber|Таблица нестандартных портов в джаббер]] | * [[Нестандартные порты в Jabber|Таблица нестандартных портов в джаббер]] | ||
== Подключение через прокси == | == Подключение через HTTP-прокси == | ||
Работа через прокси типична для офисных сетей. Как правило, используется прокси типа HTTP/HTTPS, уточнить можно у системного администратора | Работа через прокси типична для офисных сетей. Как правило, используется прокси типа HTTP/HTTPS, уточнить можно у системного администратора конкретной сети. | ||
При настройке клиента Jabber нужно указать: | При настройке клиента Jabber нужно указать: | ||
* тип прокси (обычно HTTP/HTTPS); | * тип прокси (обычно HTTP/HTTPS); | ||
* адрес сервера прокси (можно посмотреть в своём браузере, например, в Internet Explorer в | * адрес сервера прокси (можно посмотреть в своём браузере, например, в Internet Explorer в «свойствах обозревателя» на вкладке «соединение» под кнопкой «Cеть»); | ||
* порт сервера прокси (обычно 3128, но может быть и другой, также можно посмотреть в своём браузере); | * порт сервера прокси (обычно 3128, но может быть и другой, также можно посмотреть в своём браузере); | ||
* если прокси требует ввода логина и пароля, их нужно указать в соответствующих полях. | * если прокси требует ввода логина и пароля, их нужно указать в соответствующих полях. | ||
После настройки нужно попробовать соединиться. Если соединение не проходит, наверняка в настройке сервера прокси запрещено соединение с портами 5222 или 5223 и нужно использовать | После настройки нужно попробовать соединиться. Если соединение не проходит, наверняка в настройке сервера прокси запрещено соединение с портами 5222 или 5223 и нужно использовать «обходной маневр»: соединяться с сервером по порту, характерному для обычного веб, к примеру, 443. Но не все серверы jabber принимают соединение на этом порту, [[Нестандартные порты в Jabber|список]] таких серверов указан параграфом выше. Если вы использует другой сервер и он не настроен на работу через 443 порт, вам придётся регистрироваться на сервере, который имеет такую возможность, например, jabber.ru. | ||
== | == Подключение через SOCKS-прокси == | ||
'''[[ru_wikipedia:SOCKS|SOCKS]]''' — сетевой протокол, который позволяет приложениям прозрачно подключаться к серверам за межсетевыми экранами. Приложение подключается к SOCKS-прокси, а тот передает запросы серверу. | |||
Многие Jabber-клиенты позволяют подключаться к Jabber-серверам, используя SOCKS-прокси. Настройка производится аналогично настройке при подключении через HTTP-прокси — укажите адрес SOCKS прокси-сервера, порт для подключения, при необходимости — имя пользователя и пароль. Эти параметры нужно узнать у администратора вашей сети или из настроек веб-браузера, аналогично случаю с HTTP-прокси. | |||
== Заключение == | |||
После прочтения предыдущих разделов, думаю, становится понятно, что запретить использовать джаббер пока вам доступен хоть какой-то порт в интернет невозможно. Допустим, если у вас на работе перекрыто подключение по стандартным портам (5222 и 5223), либо закрыт доступ на любые другие сервера, кроме корпоративного — можно использовать подключение по нестандартным портам, использовать корпоративный либо анонимный HTTP-прокси. Также можно воспользоваться SOCKS-подключением через корпоративный прокси, либо использовать прокси, предварительно настроенный у себя дома (если у вас, конечно, домашний компьютер имеет внешний IP-адрес). | |||
{{Hider hiding| | |||
|title=Для самых продвинутых | |||
|content= | |||
Приведу реальный пример такого «экстремального» подключения на примере Unix-like систем (пользователи Windows могут воспользоваться аналогичной возможностью в putty). Допустим, на вашем компьютере нет возможности подключиться к публичному Jabber-серверу, но есть возможность подключиться по SSH к некоему шлюзу, имеющему выход на другой компьютер, на котором есть доступ к необходимому вам серверу. Тогда можно воспользоваться замечательным свойством SSH для пробрасывания необходимых портов и использования SSH в качестве SOCKS-прокси. Выполните команду | |||
user1@host1~$ ssh -tL 12345:localhost:12345 user2@host2 "ssh -D 12345 user3@host3" | |||
[[Category: | Через несколько секунд на вашем компьютере на порту 12345 будет доступен SOCKS-сервер, который можно прописать в настройках Jabber-клиента. | ||
Как это работает? Когда вы со своего компьютера '''host1''' подключаетесь на шлюз '''host2''', порт '''12345''' шлюза становится доступен локально на Вашем компьютере, т.е., вы обращаетесь к нему так, как будто находитесь на '''host2'''. В свою очередь, после вашего логина на шлюзе выполняется команда «<code>ssh -D 12345 user3@host3</code>», которая создает SOCKS-сервер, доступный на этом же самом порту — '''12345''' и забирающий трафик с компьютера '''host3'''. В итоге ваш Jabber-клиент подключается к сети так, как если бы он был запущен на '''host3'''. Таким вот простым способом можно обойти запрет на подключение к необходимым вам серверам. | |||
}} | |||
== Ссылки == | |||
* [[Настройки сети в Jabber-клиентах|Настройки сетевых подключений в Jabber-клиентах]] | |||
* [[Проблемы при подключении к Jabber|Если подключиться не удается...]] | |||
[[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. Таким вот простым способом можно обойти запрет на подключение к необходимым вам серверам.