Подключение к STUN вернул Внешний IP-адрес
Я пытаюсь подключиться к веб-серверу, который находится за NAT, прослушивающим порт 4000.
На моем веб-сервере, используя pystun ( https://github.com/jtriley/pystun) и команду:
$ pystun -p 4000
У меня есть возвращаемое значение
NAT Type: Symmetric NAT
External IP: <ip>
External Port: 1024
Но когда я пытаюсь получить к нему доступ с http://:1024, я не могу подключиться к сети, и она всегда застревает в ожидании ответа.
Это правильный способ использования STUN?
1 ответ
Ваш NAT открыл порт (пробитое отверстие) только для вашего сервера STUN, так как он видел исходящий пакет для STUN, пока вы запускаете "pystun". Но когда вы пытаетесь откуда-то связаться с вашим веб-сервером, ваш пакет неизвестен NAT. Таким образом, NAT молча отбрасывает все входящие пакеты.
Обратите внимание, что, хотя вы получаете внешний порт от NAT во время связи с сервером STUN, из-за его симметричного типа этот порт изменится на какой-то другой случайный порт, в то время как кортеж 4 (src-address, src-port, dst -адрес, dst-порт) меняется.