我试图find一种方法来设置一个双向的L2L IPSec隧道,但对于双方都有不同的组策略filterACL。
我有以下过滤ACL设置,应用,并在我的隧道组:
access-list ACME_FILTER extended permit tcp host 10.0.0.254 host 192.168.0.20 eq 22 access-list ACME_FILTER extended permit icmp host 10.0.0.254 host 192.168.0.20
根据文档,VPNfilter是双向的,您总是首先指定远程主机(10.0.0.254),然后根据文档指定本地主机和(可选)端口号。
但是,我不希望远程主机能够访问我的本地主机的TCP端口22(SSH),因为不需要这样做 – 只有主机访问远程主机的SFTP服务器的要求,反之亦然。 但是由于这些filterACL是双向的,因此第1行也允许远程主机访问我的主机的 SSH服务器。
我正在阅读的文件似乎并不清楚,如果这是可能的; 帮助/澄清非常赞赏。
在阅读引用的文档之后,您当前所使用的ACL应允许远程主机在端口22上访问本地主机,而不是在本地主机上访问端口22上的远程主机。根据文档,ACL是有状态的,所以当一个数据包从远程主机到达目的地为tcp端口22时,它与ACL匹配,并被允许。 因为它是有状态的,返回的stream量也是允许的。 当本地主机尝试与远程主机上的TCP端口22build立连接时,源是本地主机上的随机高端口,这意味着它不匹配来自端口22上本地主机的数据包的acl要求,所以它应该被ACL丢弃。 如果没有指定tcp或udp端口,ACL条目只是真正的双向。 下面的ACL应该实现你想要实现的:
access-list ACME_FILTER扩展许可证tcp host 10.0.0.254 eq 22 host 192.168.0.20
access-list ACME_FILTER扩展许可证icmp主机10.0.0.254主机192.168.0.20
请注意,如果远程用户具有特权访问权限,则它们将启动与特定源端口(包括端口22)的连接。通过这样做,他们可以使用此ACL将10.0.0.254上的FROM端口22连接到192.168.0.20上的任何端口。
这几乎肯定不是你的意图,但是用这样的简单ACL来暴露自己的安全风险就是一个例子。