Отправка пакетов UDP на узел в другой сети

Я пытаюсь отправить пакеты UPD с узла A на узел B, оба подключены к Интернету через разные маршрутизаторы. Я могу отправлять (и получать) пакеты UDP между ними, когда они подключены к одной сети, указав локальный IP-адрес назначения (192.168..) и номер порта.

Теперь я нахожу динамический IP-адрес узла B, используя www.whatismyip.com, и рассматриваю его как wxyz. Когда я отправляю пакеты из A в этот пункт назначения, я не могу получить их в B. Я также настроил порт переадресация на обоих маршрутизаторах.

Это совершенно новое для меня. Есть ли что-то еще, что нужно сделать, когда я хочу отправить пакеты на узел, подключенный к другой сети? Пожалуйста помоги!!


person balajimc55    schedule 06.03.2015    source источник
comment
не уверен, что с этим делать - здесь это явно не по теме, потому что это не вопрос программирования как таковой, но и не соответствует критериям сбоя сервера   -  person Alnitak    schedule 06.03.2015


Ответы (2)


Могу предложить кое-что проверить:

  • Переадресация портов в обоих роутерах настроена на протокол UDP?
  • Если вы пропингуете удаленный адрес w.x.y.z, вы получите ответ? (проверьте, настроены ли маршрутизаторы для этого)
  • Проверьте также, есть ли брандмауэры, которые блокируют UDP-пакеты, поступающие из Интернета (на маршрутизаторах или на целевой машине).
person EffegiWeb    schedule 06.03.2015

Дело в том, что вы не можете получить их в B, потому что NAT будет фильтровать все сообщения, если вы не создадите соединение в таблице netfilter. Способ решить эту проблему — использовать сопоставление портов, такое как UPNP или NAT-PMP. Таким образом, определенный порт узла назначения будет получать любое сообщение от WLAN и отправлять его этому узлу. Но для этого ваш маршрутизатор должен поддерживать эти протоколы, если нет, возможно, вам нужно использовать ICE в качестве реального сервера, чтобы реализовать это.

person tyChen    schedule 19.06.2020