Почему переадресация портов TCP работает, а UDP нет?

#udp #portforwarding

#udp #перенаправление портов

Вопрос:

это мой первый вопрос, который когда-либо задавался здесь, поэтому извините, если он не относится к правильной категории или не совсем объяснен. Я сделаю все возможное, чтобы быть описательным и точным.

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

После довольно долгого тестирования я заметил, что это проблема с UDP. Вещи, для которых требуется пересылка только портов TCP, работают просто отлично, однако вещи, для которых требуется пересылка портов UDP, этого не делают. Я подтвердил это, протестировав точно такое же приложение (простое серверно-клиентское приложение, созданное в Godot просто для проверки этого) как с TCP, так и с UDP. Он нормально подключается через TCP, но не UDP.

Такого со мной никогда не случалось в прошлом. Есть идеи, в чем может быть проблема? Я часами гуглил, и единственное, что я смог найти, это то, что A. Устранение неполадок UDP, по-видимому, невероятно сложно (особенно в Windows) и B. Некоторые люди смутно упоминают, что это может быть проблемой с моим интернет-провайдером, фильтрующим UDP.

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

Комментарии:

1. Переадресация портов — это функция маршрутизаторов NAT, конфигурация которых не относится к Stack Overflow. Вы можете рассмотреть возможность публикации вашего вопроса на superuser.com , serverfault.com , или networkengineering.stackexchange.com , хотя вам определенно хотелось бы убедиться, что вы провели достаточное исследование, прежде чем сделать это, и что на ваш вопрос еще не был дан ответ ни на одном из этих сайтов.

Ответ №1:

Вы можете не получать ответы UDP, потому что сервер может использовать эти конкретные порты для TCP.

Разные UDP-сканеры, использующие разные методы, могут давать разные результаты.

Существует возможность фильтрации UDP-порта интернет-провайдером только при наличии скрытого NAT — это означает, что вам будет назначен общедоступный IP-адрес, но вы все равно будете выходить в Интернет по другому IP (ИСКЛЮЧЕНИЕ NAT), проверьте, какой у меня ip, чтобы подтвердить это.

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

Комментарии:

1. Большое спасибо за быстрый ответ. Я дважды проверил, что мой общедоступный IP (как показано на «какой у меня ip» и подобных сайтах) соответствует общедоступному IP, показанному маршрутизатором. Это должно означать, что не происходит никаких скрытых операций NAT, CGNAT или NAT-CEPTION. Таким образом, вероятность того, что это проблема интернет-провайдера, исключена, верно? Это будет означать, что это должно быть проблемой брандмауэра?