防火墙:可以进行2路UDP通信吗?

use*_*574 6 networking firewall udp

如果防火墙内的客户端通过 TCP 连接到公共服务器,一旦形成连接,防火墙将允许双向通信。这是我们在日常使用中常见的情况。我的问题是:UDP 也是如此吗?

由于UDP没有连接,我会稍微修改一下问题......

假设防火墙内的客户端向公共服务器发送 UDP 数据包,服务器可以使用传入数据包的源地址和端口通过防火墙进行响应吗?

mar*_*mnl 4

是的,这称为 NAT 遍历(或 UDP 穿透),其工作方式与 TCP 类似 - 有状态 NAT 设备知道您最近从内部某个端点向外部某个端点发送了 UDP 数据包,并且在一段时间内将接受来自同一外部端点的 UDP 数据包并将它们转发到同一内部端点。

我总是更喜欢 IETF 文档,而不是大量相互冲突的信息(包括本网站上的信息):

https://www.rfc-editor.org/rfc/rfc5128

更新:还有其他“UDP 打洞”技术,例如 UPnP 的互联网网关协议和 PCP。每种方法都有其优点和缺点,恐怕没有一种解决方案适用于所有 NAT!