s2s и c2s не работают в ejabberd ((локально конектится))

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Ответить
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

s2s и c2s не работают в ejabberd

Сообщение kolebas »

Всем привет
Поставил ejabberd, транспорт в icq и tls или ssl пока не трогал - без них куча проблем(да и не понятно где взять сертификат тут если динамический ip не дают), порты открыты, даже srv прописал, хотя это не обязательно т.к. у меня джабер на том же хосте, локально клиентом могу подключиться, но к другим серверам -нет, так же ко мне пользователи не могут подключиться снаружи.Подскажите куда рыть, пжлст.И еще хоть работает пару сайтов на апаче , и в джабере есть 2 виртуальных хоста , ко второму не могу подключиться даже локально
Вот всяческие логи и конфиги, что б не быть голословным :
конфиг стандартный- вписал в него только свой домен /etc/ejabberd/ejabberd.cfg

Код:

{loglevel, 4}. {hosts, ["myhost.ua"]}. {listen, [ {5222, ejabberd_c2s, [ {access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536} ]}, ]}, {5269, ejabberd_s2s_in, [ {shaper, s2s_shaper}, {max_stanza_size, 131072} ]}, {5280, ejabberd_http, [ http_poll, web_admin ]} ]}. {shaper, fast, {maxrate, 50000}}. {acl, admin, {user, "kolebas"}}. {acl, local, {user_regexp, ""}}. {access, max_user_sessions, [{10, all}]}. {access, local, [{allow, local}]}. {access, c2s, [{deny, blocked}, {allow, all}]}. {access, c2s_shaper, [{none, admin}, {normal, all}]}. {access, s2s_shaper, [{fast, all}]}. {access, announce, [{allow, admin}]}. {access, configure, [{allow, admin}]}. {access, muc_admin, [{allow, admin}]}. {access, muc, [{allow, all}]}. {access, pubsub_createnode, [{allow, all}]}. . {access, register, [{allow, all}]}. {language, "ru"}. {modules, [ {mod_adhoc, []}, {mod_announce, [{access, announce}]}, % recommends mod_adhoc {mod_caps, []}, {mod_configure,[]}, % requires mod_adhoc {mod_disco, []}, %%{mod_echo, [{host, "echo.localhost"}]}, {mod_irc, []}, {mod_last, []}, {mod_muc, [ %%{host, "conference.@HOST@"}, {access, muc}, {access_create, muc}, {access_persistent, muc}, {access_admin, muc_admin} ]}, %%{mod_muc_log,[]}, {mod_offline, []}, {mod_privacy, []}, {mod_private, []}, %%{mod_proxy65,[]}, {mod_pubsub, [ % requires mod_caps {access_createnode, pubsub_createnode}, {plugins, ["default", "pep"]} ]}, {mod_register, [ {welcome_message, {"Welcome!", "Hi\nWelcome to this Jabber server."}}, , {access, register} ]}, {mod_roster, []}, %%{mod_service_log,[]}, {mod_shared_roster,[]}, {mod_stats, []}, {mod_time, []}, {mod_vcard, []}, {mod_version, []} ]}.

/etc/ejabberd/inetrc

Код: Выделить всё

{lookup,["file","native"]}.
{host,{127,0,0,1}, ["localhost","hostalias"]}.
{file, resolv, "/etc/resolv.conf"}.

dns сервер - editdns.net, вроде все работает:

Код:

dig -t srv _xmpp-server._tcp.myhost.ua ; <<>> DiG 9.6.0-P1 <<>> -t srv _xmpp-server._tcp.myhost.ua ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33686 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;_xmpp-server._tcp.myhost.ua. IN SRV ;; ANSWER SECTION: _xmpp-server._tcp.myhost.ua. 86400 IN SRV 0 0 5269 myhost.ua. ;; ADDITIONAL SECTION: myhost.ua. 86400 IN A 93.72.6.*** ;; Query time: 32 msec ;; SERVER: 82.144.192.130#53(82.144.192.130) ;; WHEN: Thu Mar 5 23:39:50 2009 ;; MSG SIZE rcvd: 100

ну и кусок лога

Код: Выделить всё

=INFO REPORT==== 2009-03-05 17:39:22 ===
I(<0.417.0>:ejabberd_s2s:362) : New s2s connection started <0.607.0>

=INFO REPORT==== 2009-03-05 17:39:23 ===
I(<0.607.0>:ejabberd_s2s_out:1015) : Trying to open s2s connection: myhost.ua -> livejournal.com

=INFO REPORT==== 2009-03-05 17:42:24 ===
I(<0.607.0>:ejabberd_s2s_out:392) : wait_for_validation: myhost.ua -> livejournal.com (connect timeout)
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение rm_ »

Из внешнего интернета на Ваш сервер по портам 5269 и 5222 подключается?
Проверяйте не каким-нибудь клиентом, а самой простой программой:

Код: Выделить всё

nc -vvv hostname 5269
Спасибо сказали:
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение kolebas »

rm_ писал(а):
06.03.2009 01:44
Из внешнего интернета на Ваш сервер по портам 5269 и 5222 подключается?
Проверяйте не каким-нибудь клиентом, а самой простой программой:

Код: Выделить всё

nc -vvv hostname 5269

Код: Выделить всё

nc -vvv myhost.ua 5269
Notice: Real hostname for myhost.ua [93.72.6.***] is musting-grass.volia.net
myhost.ua [93.72.6.***] 5269 (xmpp-server) open
Total received bytes: 0
Total sent bytes: 0
nc -vvv myhost.ua 5222
Notice: Real hostname for myhost.ua [93.72.6.***] is musting-grass.volia.net
myhost.ua [93.72.6.***] 5222 (xmpp-server) open
Total received bytes: 0
Total sent bytes: 0
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение rm_ »

Не работает ничего.
Наверняка это Ваш тамошний украинский эксчейндж, к которому нету доступа из внешнего интернета.

Код: Выделить всё

rm@rm:~$ nc6 -vvv xmpp.ru 5222
nc6: frog.yandex.net (213.180.203.18) 5222 [xmpp-client] open
nc6: using stream socket
nc6: using buffer size of 8192
^C
rm@rm:~$ nc6 -vvv xmpp.ru 5269
nc6: frog.yandex.net (213.180.203.18) 5269 [xmpp-server] open
nc6: using stream socket
nc6: using buffer size of 8192
^C
rm@rm:~$ nc6 -vvv musting-grass.volia.net 5222
nc6: cannot connect to musting-grass.volia.net (93.72.6.220) 5222 [xmpp-client]: Connection refused
nc6: unable to connect to address musting-grass.volia.net, service 5222
rm@rm:~$ nc6 -vvv musting-grass.volia.net 5269
nc6: cannot connect to musting-grass.volia.net (93.72.6.220) 5269 [xmpp-server]: Connection refused
nc6: unable to connect to address musting-grass.volia.net, service 5269
Спасибо сказали:
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение kolebas »

rm_ писал(а):
06.03.2009 09:06
Не работает ничего.
Наверняка это Ваш тамошний украинский эксчейндж, к которому нету доступа из внешнего интернета.

а объясните мне пжлст, по подробнее- мой провайдер volia - закрывает эти порты?
и что за musting-grass.volia.net? и почему у него мой ip?ведь я - myhost.ua)))
upd:musting-grass.volia.net- это случайные имена воля присваивает, при раздаче по dhcp - "мустанг-трава"нехило блин,
но зачем они ,фашисты, порты закрывают про которые даже в договоре не пишут-вот вопрос
upd2:странно если поменять порт , то все то же выходит, ведь тертически клиентов на другом порту можно подключать

Код: Выделить всё

nc -vvv myhost.ua 5200
Notice: Real hostname for myhost.ua [93.72.6.220] is musting-grass.volia.net
myhost.ua [93.72.6.220] 5200 open
Total received bytes: 0
Total sent bytes: 0

сорри, тут у меня начался поток сознания
Спасибо сказали:
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение kolebas »

написал письмо провайдеру, отвечают, что порты открыты
UPD: друзья, будете смеяться, но работает если отключить фаервол(хотя раньше 5269 и 5222 были открыты)
UPD2:вобщем странно он работает - конект есть только к некоторым серверам
UPD3:дело было в том , похоже, что у меня в /etc/hosts было
127.0.0.1 kolebas.localdomain kolebas
вместо
127.0.0.1 localhost.localdomain localhost kolebas
Спасибо сказали:
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение kolebas »

В глубоких раздумьях над тем, что джаббер конектится к серверам только при отключенном фаерволе, хотя правило в iptables обычное:

Код: Выделить всё

-A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT

никто не в курсе что бы это могло значить?
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение danger08 »

kolebas писал(а):
18.03.2009 17:53
В глубоких раздумьях над тем, что джаббер конектится к серверам только при отключенном фаерволе, хотя правило в iptables обычное:

Код: Выделить всё

-A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT

никто не в курсе что бы это могло значить?

Это правило-то понятно что означает: разрешать коннекты на ваш хост, на порт 5269/tcp. Где-то в другом месте проблема.
Запостите весь скрипт файрвола.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение kolebas »

danger08 писал(а):
19.03.2009 04:50
. Где-то в другом месте проблема.
Запостите весь скрипт файрвола.

правила самые простые, сомневаюсь, что в них может быть ошибка

Код:

# Generated by iptables-save v1.4.2 on Sun Mar 15 10:36:25 2009 *nat :PREROUTING ACCEPT [1:328] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 COMMIT # Completed on Sun Mar 15 10:36:25 2009 # Generated by iptables-save v1.4.2 on Sun Mar 15 10:36:25 2009 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [800:87728] -A INPUT -p tcp -m tcp --dport 8008 -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -j REJECT --reject-with tcp-reset -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable -A INPUT -j REJECT --reject-with icmp-proto-unreachable -A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT COMMIT # Completed on Sun Mar 15 10:36:25 2009
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение danger08 »

kolebas писал(а):
19.03.2009 12:23

Код:

# Generated by iptables-save v1.4.2 on Sun Mar 15 10:36:25 2009 *nat :PREROUTING ACCEPT [1:328] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 COMMIT # Completed on Sun Mar 15 10:36:25 2009 # Generated by iptables-save v1.4.2 on Sun Mar 15 10:36:25 2009 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [800:87728] -A INPUT -p tcp -m tcp --dport 8008 -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -j REJECT --reject-with tcp-reset

Все понятно, дальше можно не смотреть. Вкратце, этим правилом вы запрещаете вообще все входящие соединения по tcp. Судя по вашему конфигу, когда iptables активизирован, у вас работает лишь служба на порту 8008/tcp и с localhost'a.

kolebas писал(а):
19.03.2009 12:23

Код: Выделить всё

-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -j REJECT --reject-with icmp-proto-unreachable

Аналогично и с udp.
Последнее правило вообще смысла не имеет.

kolebas писал(а):
19.03.2009 12:23

Код: Выделить всё

-A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
COMMIT
# Completed on Sun Mar 15 10:36:25 2009

Ну а после того, как вы порубали все входящие соединения, вы хотите чтоб jabber на 5222,5269/tcp был доступен? :rolleyes:
Посмотрите, например, здесь, насчет составления правил iptables.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux
Контактная информация:

Re: s2s и c2s не работают в ejabberd

Сообщение kolebas »

спасибо, поставил 5269 и 5222 сразу после 8008 - все работает, как то я пропустил, когда разбирался с iptables, необходимость последовательного выполнения правил
Спасибо сказали:
Ответить