如何在 Pfsense 中同时执行入站和出站 NAT?

网络工程 纳特 感知
2022-02-20 14:05:36

我有一个关于在源地址和目标地址上执行 NAT 的 Stormshield 的规则。它在一个规则中非常简单地完成。例子 :

    --Before translation--                     --After translation--
Source     Destination       Port        Source            Destination   Port
server1    FW_WAN_interface  7474        FW_LAN_interface  computer1     7474

我想在 pfsense 中添加相同的规则。我搜索了一下,我发现的唯一方法是分别进行入站和出站。

我有几个关于如何做到这一点的问题:

  1. 当流量从 WAN 到 LAN 时,pfsense 是否在出站规则之前读取入站规则?

  2. 如果是这样,考虑到第一条规则修改的流量,我是否必须调整第二条规则?

1个回答

一般来说,源NAT(SNAT,NAPT)和目的NAT(DNAT,反向NAT,端口转发)都是有状态的。这意味着,如果您允许一个方向的数据包,则属于同一会话的相反方向的数据包也将自动被允许。

即使数据包流是出站的,对入站 DNAT 会话的响应也不受源 NAT 规则的约束。分别地,对出站 SNAT 会话的传入回复也不受目标 NAT 规则的影响。

本质上,您可以将 SNAT 和 DNAT 规则视为完全独立的。基本上,您的规则会在建立会话时应用,具体取决于初始流量的方向。已建立的会话保存在 NAT 表中,数据包根据该表进行转换。