Задать вопрос
  • Как преодолеть NAT (webrtc)?

    Если кратко, то существуют 4 вида NAT-а, которые нужно как-то преодолевать, 3 из них лекго преодолеваются при помощи STUN-серверов (они используются только в момент соединения пиров друг с другом - то-есть весь трафик через них не идет, есть куча бесплатных stun-серверов), четвертый - самый проблемный, под него подпадают примерно 15% всех peer-to-peer соеднинений в Интернете - это так называемый двойной NAT (когда оба пира скрыты за NAT-ом). Для преодоления этого четвертого вида NAT-а нужен TURN-сервер. Его особенность в том, что он работает как прокси - то-есть пропускает весь трафик через себя - отсюда вы должны понять, что бесплатных TURN-серверов вы не найдете. Те аккаунты, что вы привели сверху скорее всего уже давно отключены.

    Отличный список STUN-серверов можно взять здесь - https://github.com/DamonOehlman/freeice он там постоянно проверяется и обновляется.

    Проблемя с двойным NAT-ом решается одним из трех способов:
    1. где-то находите временно халявный аккаунт на TURN-сервер (но аккаунт внезапно могут отключить)
    2. покупаете платный аккаунт на уже существующем сервере и платите за трафик, например здесь - https://my.xirsys.com/signup/plans/standard/monthly
    3. Разворачиваете свой turn-сервер. Мы, например, так и сделали. Взяли убунту за $5 в месяц на digitalocean и поставили там за пол дня опенсурсный, бесплатный turn-server - turnserver.open-sys.org/downloads
    Ответ написан
    3 комментария