在 UPnP IGD 中,防火墙针孔和端口映射之间有什么区别?

In UPnP IGD, what's the difference between a firewall pinhole and port mapping?

在 UPnP IGD 中,有 2 个服务 "WANPPPConnection"(或 WanIPConnection)和 WANIPv6FirewallControl 的方法看起来很相似:

两者都采用相似的参数(remote/internal host/port、协议、租用时间)。

我想知道,它们之间有什么区别? FW 控制显然是 IPv6 独有的,而 PortMapping 似乎同时允许 v4 和 v6,那么 real 区别是什么?有不同的行为吗?

嵌入在 Internet 路由器中的(典型的)IPv4 防火墙在其 WAN 接口上具有 Internet 上的单个 IPv4 地址。它后面的 LAN 上的设备通常使用专用范围地址。这意味着它们无法从 Internet 访问。 如果必须从 Internet 访问设备上的服务,则必须指示路由器将传入流量从其 WAN 接口上的一个端口转发到 LAN 设备上的端口。这称为 "port forwarding," 使用路由器的 NAPT(网络地址和端口转换)功能。

在 IPv6 上,路由器在 WAN 接口上不提供单个地址,而是提供一个完整的前缀。 LAN 上的设备都有公共可路由地址。路由器上不需要地址和端口转换。 但是,路由器中的防火墙可以配置为阻止所有传入连接。在这种情况下,必须指示路由器的防火墙将流量通过某些协议的某些端口传递到某些 LAN 地址。这在 UPnP-IGD 标准中称为 "pinhole"。