"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
han
Купили и пользуемся с 2011 года. Узнали про возможность аудиозвонков. Загорелись желанием. Оплатили годовое обновление, закупили гарнитур и ... закатали губы.
Выяснилось, что пользователи из одной подсети не могут общаться с пользователями другой подсети.
Mychat server установлен на основном нашем серваке, где 2 подсети: 192.168.255... (офисная подсеть) и 222.255.255... (внешняя городская сеть). Текстовый чат работал без проблем и каких-либо шаманств. Аудиозвонки проходят только в пределах одной подсети. Т.е. офисные и внешние не могут общаться между собой. А в таком виде нам это совершенно бесполезно. Техподдержка предложила устроить "переброску" пакетов из одной подсети в другую. Что-то я себе не очень представляю как это можно сделать. Может для этого мне Cisco за $5000 купить ? И почему сервер сам не может их перебросить на другой сетевой интерфейс ?
Аватара пользователя
SV
Расскажите как устроена ваша сеть. Как офис имеет выход в общею сеть?
Где стоит ваш сервер mychat? Тогда вам помогут намного быстрее.
У меня тоже сервер стоит на две под сети, одна на офис, другой порт проброшен в интернет,
для корпоративного сайта. При этом всё работает на ура.
han
Собственно все уже сказано. Сервак в офисе. В нем две сетевухи. Рядом 2 хаба. От первого хаба разводка по офису. От второго уходить конец во внешнюю сеть. Это локальная сеть (технологическая) города без доступа в интернет. Никаких роутеров и файрволов больше нет. Т.е. все примитивно просто.
Я опять не понял, что значит "пробросил" порт? Установили роутер с перенаправлением трафика по порту из одной сети в другую? Или, может быть программный мост на сервере?
derwin
рисуйте схему сети. С указанием адресации. На словах никто ничего не поймёт и вникать не будет.
Аватара пользователя
SV
han писал(а):Собственно все уже сказано. Сервак в офисе. В нем две сетевухи. Рядом 2 хаба. От первого хаба разводка по офису. От второго уходить конец во внешнюю сеть. Это локальная сеть (технологическая) города без доступа в интернет. Никаких роутеров и файрволов больше нет. Т.е. все примитивно просто.
Я опять не понял, что значит "пробросил" порт? Установили роутер с перенаправлением трафика по порту из одной сети в другую? Или, может быть программный мост на сервере?

Я так понимаю сервер Mychat стоит на вашем сервере. Тогда вам нужно в настройках выбрать "Слушать всё".
Как на скрине ниже. Тогда должно будет работать всё отлично.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
March Tom-Cat
han писал(а):Собственно все уже сказано. Сервак в офисе. В нем две сетевухи. Рядом 2 хаба. От первого хаба разводка по офису. От второго уходить конец во внешнюю сеть. Это локальная сеть (технологическая) города без доступа в интернет. Никаких роутеров и файрволов больше нет. Т.е. все примитивно просто.
Я опять не понял, что значит "пробросил" порт? Установили роутер с перенаправлением трафика по порту из одной сети в другую? Или, может быть программный мост на сервере?

Попробую на "пальцах" объяснить.
Итак, офис - сеть 192.168.1.ххх (все IP адреса указаны для примера).
Сервер стоит на 192.168.1.2.
Хаб: 192.168.1.1 (локальная офисная сеть) и 222.1.1.1 (городская сеть).
Теперь чтобы из сети 222.ххх.ххх.ххх подключится к 192.168.1.2 необходимо чтобы хаб 222.1.1.1 передавал пакеты c порта 2004 (при условии что при установке вы не меняли порт) на сервер 192.168.1.1 на этот же самый порт.
Таким образом если я в городской сети, то должен указать что сервер находится по адресу 222.1.1.1.
Судя по описанию все это у вас уже настроено (раз текстовый чат работает). И сообщения из городской сети идут в офисную и обратно без проблем.
Осталась сама малость - настроить аудио и видео звонки.
Идем в настройки сервера-web сервисы (см. рисунок) и смотрим порты которые там указаны. Затем идем в настройки хаба и прописываем их аналогично порту 2004. По идее все должно заработать.

Возможно я не правильно все понял, но тогда действительно нужна схема сети, настройки сервера чата, и настройки клиентов как в офисной сети, так и в городской сети. Вот тогда уже на примерах можно будет точно и подробно рассказать куда и что ковырять.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
han
Вот схема сети, если ее можно назвать таковой, экраны сетевой настройки Mychat Server.
По ХАБом подразумевалось обычный неуправляемый комутатор (Switch).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Алексей Пикуров
Для начала, вы должны использовать самую последнюю версию MyChat. На данный момент это версия 5.6. Обновитесь на 5.6, и только потом будем пытаться решить вашу проблему.

Второе, на вашем скриншоте порты STUN сервера должны быть разными. Нельзя использовать одинаковые.
Аватара пользователя
Андрей Раков
Добрый день, да порты у STUN сервера должны быть разные.

В интерфейсе мы об этом не сказали - обязательно добавим это.

Поясню зачем 2 разных порта - в работе STUN сервере используются 4 пары параметров:
IP_1 : Port_1,
IP_1 : Port_2,
IP_2 : Port_1,
IP_2 : Port_2

После изменения порта нужно перезапустить сервер.
han
Пробовал я с различными портами. Потом уже не зная, что еще предпринять установил одинаковые.
Сегодня уже не успею обновить сервер и клиентов.
Вопрос: При обновлении сервера до 5.6. клиентов тоже обновлять? (28 клиентов по всему городу - морока однако)
Аватара пользователя
Андрей Раков
Да, конечно. Версия сервера и клиентов должна совпадать. Используйте автоматическое обновление, кнопка "Обновления" в интерфейсе сервера после того, как обновите его до версии 5.6.

Загрузите туда дистрибутив 5.6 (mcclient56.exe) и клиенты обновятся сами, если есть доступ по ФТП к серверу чата.
han
Обновились до 5.6. Без изменений. Разговоры между клиентами только в пределах одной подсети.
Аватара пользователя
Андрей Раков
Добрый день, получается, что у вас какая-то нетипичная то ли конфигурация сети, то ли еще что-то. К сожалению у меня не настолько высокая квалификация чтобы разобраться, почему не работает аудио и видео связь по вашему описанию.

Основные условия работы чата - это возможность отправлять пакеты по набору портов (chat - 2004, web-chat - 80 (или другой), audio|video - 80+3479+3478) на сервер чата.

Если не работает - вам стоит почитать про технологию WEBRTC (также про STUN сервера) и попробовать разобраться.

----

Можем сделать еще кое-что:

1) найдите файл main.js, он находится в профиле клиента (CTRL+~ и выполнить команду PROFILE, чтобы попасть туда)

2) в этом файле найдите строчку "easyRTC.setVideoBandwidth(15);" (~140 строка) и после нее добавьте строку "easyRTC.enableDebug(true);"

3) сохранить файл main.js и попробовать позвонить, после звонка найдите файл nodewebkit.log (CTRL+~ и выполнить команду LOGS)

4) отправить nodewebkit.log нам на [email protected]

Не могу гарантировать, что я в нем найду решение проблемы, но это должно прояснить ситуацию.
han
Включил Debug. Прилагаю логи в двух компов, между которыми пытались установить связь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
derwin
а у вас вообще связь мужду сетями хоть какая нибудь есть?
сервер же не проксирует траффик, только STUN обрабатывает (для NAT-ов), а это только управление траффиком а не сам медиа траффик.

route print
с обоих машин в студию!
Аватара пользователя
Андрей Раков
По логам видно, что соединение в своей подсети к серверу проходит нормально.

Если у вас эти два интерфейса стоят на одном компьютере - настройте сетевой мост для трансляции всего трафика между подсетями.
derwin
Андрей Раков писал(а):Если у вас эти два интерфейса стоят на одном компьютере - настройте сетевой мост для трансляции всего трафика между подсетями.

Бридж работать не будет. Нужна L3 маршрутизация т.к. адресация не одноранговая.

1)включаем маршрутизатор например так http://technet.microsoft.com/ru-ru/libr ... 10%29.aspx
2) NAT

на какой чёрт используется такая белая адресация?? это не секурно и неправильно.
han
на какой чёрт используется такая белая адресация?? это не секурно и неправильно.

Расшифруйте пожалуйста, что такое "белая адресация" и "секурно"?
Сервер работает уже 4 года и всех устраивает. Если имеется ввиду, что у нас две подсети изолированы друг от друга, так это именно в целях "секурности", если я правильно понял смысл. А если бы сервер Mychat стоял на базе обычного компа , типа Win 7?
Аватара пользователя
Андрей Раков
MyChat не занимается маршрутизацией медиа трафика, так как он не идет через сервер, поэтому вам нужно как-то организовать эту маршрутизацию либо программно, либо с помощью оборудования.

Возможно в будущем мы и сделаем собственный программный маршрутизатор, но пока такого нет.
Аватара пользователя
Алексей Пикуров
derwin писал(а):Бридж работать не будет. Нужна L3 маршрутизация т.к. адресация не одноранговая.

Почему не будет работать бридж? Он как раз будет роутить все пакеты между двумя подсетями с одного сетевого интерфейса на другой и наоборот. Т.н. софтовый роутинг.

То же самое можно сделать двумя командами route add.

Если я не прав - поправьте меня, в чём.
derwin
2Алексей Пикуров
долго объяснять.
Скажу лишь, что я сисадмин и знаю о чём говорю. Если интересно - пишите в ЛС/скайп. Пакеты физически ходить будут, но т.к. адресация другая - считываться они не будут. Но снифер эти пакеты может увидеть.
route add если используется бридж то это вам не поможет. Бридж это L2 модели оси, а роутинг - L3.

2han
белая адресация - это адреса, зарезервированные для интернета. Если серая адресация - зарезервирована под локальные нужды (например 192.168.0.0/16). Адрес, что используется у вас, если не изменяет память, зарегистрирован за фирмой в гонконге (лень смотреть заново).
Секурно - от слова security, "защищённо".
Нормальное оборудование имеет встроенные режимы обработки серых сетей, и белых сетей. Не говоря уже про фаерволы. Это всё техническая мутота, впринципе ваша схема работать будет, но она неправильная, так делать нельзя. Это как ездить по шоссе на машине на задней скорости - можно, но соседи "не поймут".
derwin
2Пикуров
Бриджем будут работать 2 сети вида:
192.168.1.0/24 + 192.168.0.0/22
Видите, у них маска сети пересекается? подсети разные, но бридж тут может помочь. (зависит от железки, циска такое не пропустит, а длинк схавает)
Аватара пользователя
Алексей Пикуров
2 derwin
Насколько я знаю (и делал это), мост ("железный" или софтовый, неважно) может объединять любые подсети. Вплоть даже до разных сред (например, ethernet и token ring или WiFi).
http://ru.wikipedia.org/wiki/%D0%A1%D0% ... 1%81%D1%82
Сетевой мост работает на канальном уровне сетевой модели OSI, при получении кадра из сети, сверяет MAC-адрес последнего и если он не принадлежит данной под/сети передаёт (транслирует) кадр дальше в тот сегмент, которому предназначался данный кадр. Если кадр принадлежит данной под/сети, мост ничего не делает.
derwin
поэтому и долго объяснять. Вы серьёзно собираетесь спорить с сисадмином? На L3 нет разницы какая среда - хоть спутник, хоть dwdm, хоть Е1. Это логический уровень.
Пакет, не предназначенный для текущей IP сети - всегда будет идти в основной шлюз.
PS: МОжете даже не делать бридж, просто посадить в одну L2 сеть указанные в посте вашего клиента подсети - они никогда не встретятся, только не секурно это(L2 прослушать - раз плюнуть)
Аватара пользователя
Алексей Пикуров
Окей, иными словами, бридж - это просто способ физического объединения двух разных подсетей, но с одинаковой адресацией. Для задачи han этот вариант не нужен, потому что адресация подсетей совершенно разная.

Но route add прекрасно с данной задачей должен справиться, насколько я понимаю.
derwin
о route add прекрасно с данной задачей должен справиться, насколько я понимаю.

поэтому я и спросил route print
вангую, это не единственный маршрутизатор в его сети.
+ просто прописать маршрут мало. Нужно поднимать именно службу маршрутизатора

Мой совет топикстартеру: наймите админа. Он сэкономит ваши 5 килобаксов )))))
Если интересно - могу взять на аутсорс.
han
Настроили службу маршрутизации на Win 2008. Прописали route add на двух компах из разных подсетей.
Пошел звук. Что из двух этих мер играло решающую роль, будем позже определять методом отключения.
Nerskan
подскажите почему не подключается?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Андрей Раков
Клиент не может соединиться по адресу 192.168.137.1:80, варианты решения читайте тут: viewtopic.php?f=1&t=3413
Nerskan
Андрей Раков писал(а):Клиент не может соединиться по адресу 192.168.137.1:80, варианты решения читайте тут: viewtopic.php?f=1&t=3413

я вам на электронку отписался с проблемой очень странной
Sirnon
А у меня висло на подключении.. даже иногда соединение было.. а вот звук не бегал
помогло снятие галочки со stun сервера.
Аватара пользователя
Андрей Раков
2Sirnon

Возможно у вас не были проброшены порты stun сервера (3478 + 3479)?

Когда вы сняли галку (выключили stun) - вы стали использовать публичные stun сервера, они нужны только на этапе инициализации звонка, далее весь трафик идет между звонящими.