我通过Cisco ASA 5505防火墙测试了NFS服务。
使用普通接口默认ACL,即内部接口(级别100)上的“permit ip any any”,在外部接口(级别0)上“拒绝ip any any”。 NFS服务器连接到外部接口。一切都很好。通过查看数据包经过,我可以看到PC内部调用NFS服务器的111端口,使用portmap协商端口。完成此TCP连接。然后NFS服务器(PC外)使用协商端口连接到PC内部并传输数据。思科ASA防火墙能够很好地保持TCP状态并“记住”协商端口,因此让外部PC使用此端口与PC内部通信,即使外部ACL也“拒绝任何IP”。防火墙是完全有状态的,到目前为止每件事都很棒。
但是,只要我使用VPN将NFS服务器(外部PC)连接到Cisco ASA防火墙。一切都变了。通过查看数据包,NFS仍然可以通过防火墙并通过portmap协商端口。在此TCP会话结束后。防火墙FORGET协商端口并使用协商端口阻止外部PC与PC内部通信。
有或没有VPN是唯一的变化。在内部接口上只有一个ACL,允许ip any any。 NFS服务器设置为可以从任何子网访问。此防火墙上没有NAT和服务策略设置。
任何人都可以解释为什么思科防火墙规则不再是“有状态”的VPN吗?它的设计是什么?在没有在外部接口上打开一系列动态端口的情况下,让NFS在VPN上工作的最佳方法是什么?
答案 0 :(得分:-1)
NFSv4.0的一个强大功能是防火墙友好。无需端口映射。您只需打开一个TCP端口2049即可。在服务器上具有状态的所有操作都要求客户端发送听到的位,通常为~90秒。我们在你的防火墙设置,并对它很满意。