0

我通过 Cisco ASA 5505 防火墙测试了 NFS 服务。

使用普通接口默认 ACL,在内部接口(级别 100)上是“允许 ip any any”,在外部接口(级别 0)上是“拒绝 ip any any”。NFS 服务器连接到外部接口。一切都很好。通过查看经过的数据包,我可以看到 PC 内部调用 NFS 服务器的 111 端口,使用 portmap 协商一个端口。完成了这个 TCP 连接。然后 NFS 服务器(PC 外部)使用协商的端口连接到内部 PC 并传输数据。Cisco ASA 防火墙很好地保持 TCP 状态并“记住”协商的端口,因此即使外部 ACL 是“拒绝任何 IP”,也可以让外部 PC 使用该端口与内部 PC 通信。防火墙是完全有状态的,到目前为止一切都很好。

但是,只要我使用 VPN 将 NFS 服务器(PC 外部)连接到 Cisco ASA 防火墙。一切都变了。通过查看数据包,NFS 仍然可以通过防火墙并通过端口映射协商端口。在此 TCP 会话结束之后。防火墙忘记协商端口并阻止外部 PC 使用协商端口与内部 PC 对话。

有或没有 VPN 是唯一的变化。只有一个 ACL,在内部接口上,允许 ip any any。NFS 服务器设置为可以从任何子网访问。此防火墙上没有 NAT 和服务策略设置。

谁能解释为什么 Cisco 防火墙规则不再通过 VPN “有状态”?是这样设计的吗?让 NFS 在 VPN 上工作而不在外部接口上打开一系列动态端口的最佳方法是什么?

4

1 回答 1

-1

NFSv4.0 的强项之一是防火墙友好。不需要端口映射。您只需要打开一个 TCP 端口 2049。在服务器上具有状态的所有操作都需要客户端发送一个听到的位,这通常是 ~ 90 秒。我们是您的防火墙设置,并且对它非常满意。

于 2012-04-29T19:53:24.137 回答