Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как побороть ejabberd?  (Прочитано 1755 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Как побороть ejabberd?
« : 08 Октября 2010, 02:57:01 »
Здравствуйте!

Захотел я организовать свой jabber сервер. Установил ejabberd, с грехом пополам добился того, что с его помощью можно общаться в провайдерской сети и даже в многопользовательских чатах.  Но есть следующие но:

- Клиент (qutim) при попытке соединения с внешними серверами (gmail.com и qip.ru) теперь говорит "версия входящего потока не поддерживается" и отказывается это делать. Видимо, виновато перенаправление портов, которое я сделал в dd-wrt. С другой стороны, я всегда искренне полагал, что это перенаправление работает в одну сторону, а в обратном направлении всё должно коннектиться так же, как и раньше. Код перенаправления следующий:

# jabber
iptables -t nat -I PREROUTING -p tcp --dport 5222 -j DNAT --to 192.168.1.111:5222 
iptables -I FORWARD -p tcp -d 192.168.1.111 --dport 5222 -j ACCEPT
iptables -t nat -I PREROUTING -p udp --dport 5222 -j DNAT --to 192.168.1.111:5222 
iptables -I FORWARD -p udp -d 192.168.1.111 --dport 5222 -j ACCEPT

# jabber_s2s
iptables -t nat -I PREROUTING -p tcp --dport 5269 -j DNAT --to 192.168.1.111:5269 
iptables -I FORWARD -p tcp -d 192.168.1.111 --dport 5269 -j ACCEPT
iptables -t nat -I PREROUTING -p udp --dport 5269 -j DNAT --to 192.168.1.111:5269 
iptables -I FORWARD -p udp -d 192.168.1.111 --dport 5269 -j ACCEPT

- Из провайдерской сети почему-то не хочет регистрировать пользователей (клиент qip infium), тогда как ежели пользователя предварительно зарегистрировать с моего компьютера, то замечательно коннектится и работает. С моего же компьютера успешно производится регистрация по доменным именам (предварительно прописанным в файле /etc/hosts) (всего три имени - для адресов в домашней, провайдерской и глобальной сети), а также по айпи-адресам в домашней и провайдерской сетях, а вот по айпи-адресу в глобальной сети зарегистрироваться не получается, хотя опять же при предварительной регистрации из вебморды всё законнектилось. Внешний айпи есть, а вот внешнего ДНСа нет.

- Хотя порты вроде перенаправлены, однако попытки поговорить с пользователями внешних джаббер-серверов оканчиваются плачевно, а именно любое посланное сообщение тотчас же повторяется якобы от имени адресата.

- И для полного счастья хотелось бы, чтобы в случае отключения интернета была возможность общаться в провайдерской сети, и в то же время при включенном интернете была бы возможность общаться с внешними серверами с тех же аккаунтов. Тогда как сейчас, насколько я понимаю, ежели удастся справиться с вышеизложенными пунктами, то ежели мы коннектимся по "провайдерскому" айпи, то внешние серверы будут недоступны в силу другого значения внешнего айпи, а ежели мы коннектимся по внешнему айпи, то соответственно нельзя будет законнектиться в период отсутствия интернета.

Кто виноват и что делать?

Заранее благодарен.
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Как побороть ejabberd?
« Ответ #1 : 08 Октября 2010, 03:56:36 »
1. Показывай iptables-save (хотя я уже вижу ошибку, хотелось бы ткнуть тебя в неё носом конкретно)

2. Раз вебморда регистрирует, то и пользуйся вебмордой. Меня вообще смущает эта открытая регистрация ботов в джаббере.

3. Бред.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Re: Как побороть ejabberd?
« Ответ #2 : 08 Октября 2010, 04:45:52 »
1. В дд-врт нет iptables-save.

2. Хотелось бы, чтобы аккаунты мог заводить не только я. Ежели будет заводиться чрезмерное их количество - завсегда можно будет отключить.

3. Не бред, а факт.
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Как побороть ejabberd?
« Ответ #3 : 08 Октября 2010, 04:57:20 »
1. Ты не проверяешь направление соединения, вот у тебя и получается что ВСЕ соединения на 5222 порт заворячиваются на сервер, а не только входящие.

2. Напиши простую формочку регистрации.

3. Бред.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Re: Как побороть ejabberd?
« Ответ #4 : 08 Октября 2010, 05:31:55 »
1. Действительно, написал следующее

# jabber
iptables -t nat -I PREROUTING -p tcp -d $(nvram get wan_ipaddr) --dport 5222 -j DNAT --to 192.168.1.111:5222 
iptables -I FORWARD -p tcp -d 192.168.1.111 --dport 5222 -j ACCEPT
iptables -t nat -I PREROUTING -p udp -d $(nvram get wan_ipaddr) --dport 5222 -j DNAT --to 192.168.1.111:5222 
iptables -I FORWARD -p udp -d 192.168.1.111 --dport 5222 -j ACCEPT

# jabber_s2s
iptables -t nat -I PREROUTING -p tcp -d $(nvram get wan_ipaddr) --dport 5269 -j DNAT --to 192.168.1.111:5269 
iptables -I FORWARD -p tcp -d 192.168.1.111 --dport 5269 -j ACCEPT
iptables -t nat -I PREROUTING -p udp -d $(nvram get wan_ipaddr) --dport 5269 -j DNAT --to 192.168.1.111:5269 
iptables -I FORWARD -p udp -d 192.168.1.111 --dport 5269 -j ACCEPT

# jabber
iptables -t nat -I PREROUTING -p tcp -d 91.195.208.8 --dport 5222 -j DNAT --to 192.168.1.111:5222 
iptables -I FORWARD -p tcp -d 192.168.1.111 --dport 5222 -j ACCEPT
iptables -t nat -I PREROUTING -p udp -d 91.195.208.8 --dport 5222 -j DNAT --to 192.168.1.111:5222 
iptables -I FORWARD -p udp -d 192.168.1.111 --dport 5222 -j ACCEPT

# jabber_s2s
iptables -t nat -I PREROUTING -p tcp -d 91.195.208.8 --dport 5269 -j DNAT --to 192.168.1.111:5269 
iptables -I FORWARD -p tcp -d 192.168.1.111 --dport 5269 -j ACCEPT
iptables -t nat -I PREROUTING -p udp -d 91.195.208.8 --dport 5269 -j DNAT --to 192.168.1.111:5269 
iptables -I FORWARD -p udp -d 192.168.1.111 --dport 5269 -j ACCEPT
- и сразу стало коннектиться.

2. Вроде сейчас стали регистрироваться, возможно, также в первом пункте было дело.

3. Опять же первый пункт помог, судя по всему.

Премного благодарен!

Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Как побороть ejabberd?
« Ответ #5 : 08 Октября 2010, 06:07:53 »
Почему не пользуешься "-i interface" вместо "-d $(nvram get wan_ipaddr)" ?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Re: Как побороть ejabberd?
« Ответ #6 : 08 Октября 2010, 15:02:56 »
Исключительно потому, что так было указано в дд-врт вики. http://www.dd-wrt.com/wiki/index.php/Iptables Собственно говоря, изначальную форму я взял оттуда же. http://www.dd-wrt.com/wiki/index.php/Port_Forwarding

Кстати говоря, как насчёт последнего пункта?

Цитировать
- И для полного счастья хотелось бы, чтобы в случае отключения интернета была возможность общаться в провайдерской сети, и в то же время при включенном интернете была бы возможность общаться с внешними серверами с тех же аккаунтов. Тогда как сейчас, насколько я понимаю, ежели удастся справиться с вышеизложенными пунктами, то ежели мы коннектимся по "провайдерскому" айпи, то внешние серверы будут недоступны в силу другого значения внешнего айпи, а ежели мы коннектимся по внешнему айпи, то соответственно нельзя будет законнектиться в период отсутствия интернета.
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Как побороть ejabberd?
« Ответ #7 : 08 Октября 2010, 16:06:13 »
Должно просто работать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Re: Как побороть ejabberd?
« Ответ #8 : 08 Октября 2010, 16:31:42 »
Проверил - не работает. Причём также отправляет мне мои же сообщения, более того, в случае qip.ru они доходят лишь через несколько минут, тогда как в случае с gmail - в ту же секунду.

Пользователь решил продолжить мысль 08 Октября 2010, 17:55:27:
Господа, можете мне для теста написать что-либо на wormball@jabber.firmafok.ru ?
« Последнее редактирование: 08 Октября 2010, 17:55:27 от Обедающий философ »
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

 

Страница сгенерирована за 0.019 секунд. Запросов: 20.