Адрес сервера STUN несовместим | Код ошибки=701:

Я установил сервер TURN, все в коде сервера работает нормально. ошибок в лог-файле нет. только предупреждение о

 0: WARNING: I cannot support STUN CHANGE_REQUEST functionality because only one IP address is provided

но сервер TURN работает на сервере.

вот что показывает, когда я проверяю lsof -i :3478

turnserve 999 root   15u  IPv4 446811411      0t0  TCP domain.com:stun (LISTEN)
turnserve 999 root   23u  IPv4 446811417      0t0  TCP domain:stun (LISTEN)
turnserve 999 root   24u  IPv4 446810998      0t0  UDP domain.com:stun
turnserve 999 root   25u  IPv4 446810999      0t0  UDP domain.com:stun

когда я проверяю STUN в Trickle ICE, он выдает ошибки

The server stun:xxx.xxx.xxx.xxx:3478 returned an error with code=701:
STUN server address is incompatible.
The server stun:xxx.xxx.xxx.xxx:3478 returned an error with code=701:
STUN allocate request timed out.

что в этом не так.

Спасибо


person asimdev    schedule 20.06.2020    source источник


Ответы (1)


Я думаю, что ошибка 701 является более общей ошибкой подключения, которую Trickle ICE использует, чтобы указать, что он не получил ответа на привязку. Запустите stunclient your.stun.ip.address с инструментами командной строки на www.stunprotocol.org, чтобы узнать, доступна ли ваша служба STUN из внешнего мира. .

STUN технически требует размещения на устройстве с двумя IP-адресами и двумя портами. Обычно это параметр командной строки, указывающий, какие IP-адреса сервер должен прослушивать. Но большинство реализаций серверов могут работать на хосте с одним IP-адресом.

Второй IP-адрес и порт на сервере используются для тестов фильтрации клиентов STUN, чтобы определить, какой тип NAT действует. Клиент отправляет запрос на привязку к основному IP-адресу и порту сервера, но с атрибутом запроса на изменение, чтобы сервер ответил с альтернативного IP-адреса или порта. Чаще всего этот запрос на привязку с атрибутом запроса на изменение не выполняется, поскольку NAT не будет перенаправлять трафик с другого IP/порта.

Тест фильтрации полезен для регистрации типа NAT, на котором работает клиент. Таким образом, неудачные соединения можно отлаживать, а показатели успеха/неудачи можно сопоставить с типом NAT.

Поскольку большинство реализаций ICE будут обмениваться всеми доступными адресами-кандидатами (локальными, сопоставленными и ретрансляционными), тест фильтрации не очень полезен для установления соединения.

Я удивлен, что Trickle ICE выдает ошибку. Я не думал, что WebRTC когда-либо использовал атрибут changer-request. Я только что отследил Wireshark сеанса Trickle ICE до stun.stunprotocol.org. Я не вижу клиента webrtc, устанавливающего атрибут запроса на изменение ни в одном из двух запросов на привязку, которые он делает.

Дополнительные сведения см. в RFC 5780, раздел 3.2.

person selbie    schedule 21.06.2020
comment
так я могу использовать сервер sturn...? струйка ICE выдает ошибку только в хроме, а не в firefox. даже я не могу войти в TURN, используя Trickle ice и фрагмент, представленный в этом stackoverflow.com/questions/28772212/ - person asimdev; 21.06.2020
comment
не могли бы вы объяснить мне, как я могу запустить stunclient stun.ip.address, мне нужно что-то скачать с сайта или что-то еще. - person asimdev; 21.06.2020
comment
Загрузите инструменты командной строки (или код для компиляции) с сайта www.stunprotocol.org. Инструмент stunclient поставляется в комплекте с серверным кодом. Затем запустите stunclient --help из командной строки. - person selbie; 21.06.2020
comment
Я пробовал... он не работает в Windows. когда я открываю stunserver.exe или stunclient.exe, он сразу же закрывается. - person asimdev; 21.06.2020
comment
Что не работает в Windows? Код доступен для Windows, Mac и всех разновидностей Unix, включая Linux. - person selbie; 21.06.2020
comment
Введите stunclient.exe --help в командной строке. (Не делайте двойной щелчок по нему из проводника). - person selbie; 21.06.2020
comment
он показывает тест привязки: сбой, когда я использую stunclient my.ip.address 3478, когда я использую stunclient stun.l.google.com 19302, он показывает успех теста привязки - person asimdev; 21.06.2020
comment
какое может быть решение для этого..? - person asimdev; 21.06.2020
comment
Это означает, что ваша служба STUN недоступна по этому IP-адресу. Либо вы не используете сервер STUN на порту 3478, либо получили неверный IP-адрес, либо, скорее всего, забыли открыть порт в настройках брандмауэра вашего провайдера. - person selbie; 21.06.2020
comment
Сервер STUN работает на порту 3478 с PID 999, который я прикрепил в вопросе. порты разрешены в брандмауэре и доступны, я проверил это в Nmap и говорит 3478/udp open|filtered stun - person asimdev; 22.06.2020
comment
Запустите stunclient на самом сервере. Если вы не можете подключиться к своему собственному сервису, находясь на том же устройстве, это проблема конфигурации. Если вы можете подключиться локально, но не извне, то это проблема конфигурации сети. - person selbie; 22.06.2020
comment
не могли бы вы указать мне, как установить stunclinet в centos 7. Я загрузил stunserver-1.2.16.tgz с stunprotocol.org, но не могу найти документацию по запуску - person asimdev; 22.06.2020
comment
github.com/jselbie/stunserver/blob/master/README — следуйте инструкции по установке обязательных пакетов для Fedora - person selbie; 22.06.2020
comment
Я выполнил stunclient тест. ./stunclient xxx.xxx.xxx.xxx 3478 Binding test: success Local address: xxx.xxx.xxx.xxx:37713 Mapped address: xxx.xxx.xxx.xxx:37713 теперь, как вы сказали ранее, сервер STUN подключается локально. тогда это может быть проблема с конфигурацией сети. можете подсказать в чем может быть дело. Включаю порт в брандмауэре. мне нужно что-то еще? - person asimdev; 23.06.2020
comment
На вашем сервере может быть локальный брандмауэр, но у вашего хостинг-провайдера есть внешний брандмауэр, для которого вам может понадобиться открыть этот порт. Это касается AWS и, возможно, других серверов. Напишите мне IP-адрес вашего сервера и более подробную информацию, и я посмотрю, смогу ли я помочь. Вы можете найти меня на веб-странице stunprotocol.org. - person selbie; 23.06.2020