我注意到,当我从计算机 A 向计算机 B 发送 udp 数据包时,B 可以正确接收更新数据包,但如果我从计算机 B 向计算机 A 发送 udp 数据包,则不会收到 udp 数据包
A和B不在同一个网络中,并且它们都具有公共IP,它们不在NAT后面。
这是否意味着中间有一个防火墙阻止 A 接收来自 B 的 udp 数据包? 如果 A 在 B 向 A 发送 udp 数据包之前向 B 发送了一些 udp 数据包,防火墙会记住这一点,然后允许 B 向 A 发送 udp 数据包吗?
我知道 TCP 是有状态的,所以防火墙有很多措施来阻止一些恶意的 TCP 数据包,比如 TCP SYN 泛洪,但是防火墙如何阻止 UDP 数据包呢?有没有关于这方面的好文章?
因为 A 是我办公室里的电脑。我想建立一个系统,让 A 上的 UDP 程序可以接收来自外部的数据包。但防火墙似乎过滤了所有传入的 UDP 数据包。我想知道,如果我使用基于 UDP 的商业程序,比如基于 UDP 的视频流工具或网站,我可以观看视频吗?
谢谢
答案1
可能的原因是(1)防火墙(2)错误的路由信息(3)路径上的某处存在 NAT,即使您对此并不知情。
使用 traceroute 调试网络并从两侧进行 ping,查看两台计算机之间有什么,并查看阻塞在哪里。
(由于该问题已有 5 年历史,因此不太可能获得更多详细信息...)
答案2
只需进入两个防火墙或高级防火墙设置,然后使用特定机器信息或 ips 创建传入/传出 UDP 规则。也可以通过 PS 访问,但我建议直接进入 MMC 或防火墙。