0

Я борюсь с этой проблемой уже почти месяц, я могу настроить rfc5766-turn-server (v3.2.3.1) на экземпляр EC2 без каких-либо проблем.Turn-server работает на AWS не отвечает

Когда TURN прослушивает 3478, все работает нормально, но на порту 80 он работает чаще всего, но с определенными интервалами (происходит беспорядочно) он становится невосприимчивым, даже перезапуск этого процесса ничего не меняет. Процесс, который я запускаю параллельно на порту 3478, не сталкивается с этой проблемой.

Команда для запуска на порт 80:

sudo turnserver -L INTERNAL_IP -X EXTERNAL_IP/INTERNAL_IP -r "someRealm" -a -o --no-udp -u test:test -n -a --no-sslv2 --no-sslv3 -v --cert cert.pem --pkey key.pem --tls-listening-port 80 

Команда для запуска на порт 3478:

sudo turnserver -L INTERNAL_IP -X EXTERNAL_IP/INTERNAL_IP -r "someRealm" -a -o --no-udp -u test:test -n -a --no-sslv2 --no-sslv3 -v --cert cert.pem --pkey key.pem --tls-listening-port 80 

Я думаю, этот вопрос более AWS, связанные с сетью, меньше на очереди сервера, а затем опять же, я очень мало знаю о серверах AWS или TURN. Кто-нибудь столкнулся с этой проблемой на порту 80. Я считаю, что работа на порту 80 важна, особенно когда сверстники находятся за защитными брандмауэрами, которые блокируют большинство портов.

журналы, когда она в состоянии успешно распределять (я изменил внутренний IP из EC2 по INTERNAL_IP):

342: IPv4. Server relay addr: INTERNAL_IP:0 
342: IPv4. Local relay addr: INTERNAL_IP:56216 
342: session 000000000000000005: new, username=<test>, lifetime=600 
342: session 000000000000000005: user <test>: incoming packet ALLOCATE processed, success 
342: session 000000000000000005: user <test>: incoming packet ALLOCATE processed, success 
342: session 000000000000000005: user <test>: incoming packet CREATE_PERMISSION processed, success 
342: session 000000000000000005: user <test>: incoming packet CREATE_PERMISSION processed, success 
343: session 000000000000000005: user <test>: incoming packet CHANNEL_BIND processed, success 
343: session 000000000000000005: user <test>: incoming packet CHANNEL_BIND processed, success 
353: session 000000000000000005: usage: username=<test>, rp=1039, rb=551685, sp=1009, sb=526100 

журналы, когда отвечать на запросы (я заметил, что она по-прежнему показывает попытку соединения, одна разница в том, его показывает IP сверстников, соединяющего и не INTERNAL_IP, как и в случае успеха):

392: IPv4. tcp or tls connected to: SOME_IP:41107 
392: session 000000000000000007: user <>: incoming packet message processed, error 401 
392: session 000000000000000007: user <>: incoming packet message processed, error 401 
392: IPv4. tcp or tls connected to: SOME_IP:41108 
392: session 000000000000000008: user <>: incoming packet message processed, error 401 
392: session 000000000000000008: user <>: incoming packet message processed, error 401 

ответ

0

Вам не нужно использовать 80 из-за брандмауэра (брандмауэр только блокировать входящий не исходящее сообщение)

Надеюсь, что это помогло

0

Вы не указали транспортный протокол TURN, который вы используете на портах, но из журнала вашего порта 3478 показывается, что вы используете 3478 как для ваших кандидатов на эстафету транспорта UDP. Надеюсь, вы не используете порт 80 для UDP, это может быть TCP/TLS. В этом случае вы можете проверить транспортный протокол для запроса запроса на распределение, отправляя сервер TURN. Если клиент не использует правильный транспортный протокол для запроса кандидата-кандидата, вы не можете получить успешный ответ на распределение, соединение управления TCP/TLS можно использовать для сбора кандидата на UDP-ретрансляцию в качестве резервного механизма RFC-5766, учитывая, что сервер TURN, который вы используете, поддерживает этот резервный механизм, в противном случае клиент/сервер должен иметь реализацию ICE-TCP, чтобы получить TCP-типы ретрансляционного кандидата, но все же вы должны получить ответ об ошибке как неизвестный протокол. Печать журнала как ошибка 401 - протокол протокола TURN? то это означает, что у него есть проблема с аутентификацией. Если экземпляр EC2 включен для правильного трафика входящего протокола, вы можете не получить никаких других проблем из-за использования экземпляра EC2, его может быть связано с конфигурацией или поддержкой сервера TURN.

Смежные вопросы