【问题标题】:Send UDP packets to a node in another network向另一个网络中的节点发送 UDP 数据包
【发布时间】:2015-05-07 20:50:35
【问题描述】:

我正在尝试将 UPD 数据包从节点 A 发送到节点 B,两者都通过不同的路由器连接到互联网。 通过提供本地目标 IP 地址 (192.168..) 和端口号,当它们连接到同一网络时,我能够在它们之间发送(和接收)UDP 数据包。

现在我正在使用 www.whatismyip.com 查找节点 B 的动态 IP 地址,并将其视为 w.x.y.z 当我将数据包从 A 发送到此目的地时,我无法在 B 接收它们。我还在两个路由器上设置了端口转发。

这对我来说是全新的。当我想将数据包发送到连接在另一个网络上的节点时,是否还需要做其他事情?请帮忙!!

【问题讨论】:

  • 不确定如何处理这个问题——这显然不是主题,因为它本身不是编程问题,但也不符合 serverfault 的标准

标签: networking udp ip portforwarding packets


【解决方案1】:

我可以建议一些检查:

  • 两个路由器中的端口转发都配置为 UDP 协议?
  • 如果您 p​​ing 远程地址 w.x.y.z,您会收到响应吗? (检查路由器是否配置为这样做)
  • 还要验证是否有防火墙阻止来自 Internet 的 UDP 数据包(在路由器或目标计算机上)。

【讨论】:

    【解决方案2】:

    在 B 处收不到消息是因为如果你没有在 netfilter 的表中建立连接,NAT 会过滤所有消息。解决问题的方法是使用端口映射,如 UPNP 或 NAT-PMP。这样,目的节点的特定端口就会接收到来自 WLAN 的任何消息,并将其发送到该节点。但这需要你的路由器支持这些协议,如果没有,可能需要使用ICE作为真正的服务器来实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-22
      • 1970-01-01
      • 2012-06-29
      • 2017-07-11
      • 1970-01-01
      • 2015-07-31
      • 2013-11-29
      • 1970-01-01
      相关资源
      最近更新 更多