我有一个这样的 IPsec VPN 设置:
[Remote users]-[Remote ASA] <-VPN-> [My ASA]-[Subnet A]-[Router 2]-[Subnet B]
VPN 设置为处理 [远程用户] 和 [子网 A] 之间的流量;不包括 [子网 B]。假设所有路由器的防火墙规则都允许一切。
现在我想将通过 VPN 传输到 [子网 A] 上的特定 IP(192.168.1.102)的流量重定向到 [子网 B] 上的 IP(10.1.1.133)
如果我在 [我的 ASA] 上添加一条规则,将到原始 IP 192.168.1.102 的流量 NAT 到新 IP 10.1.1.133,
1) 这会影响通过 VPN 传入的连接吗?(即:VPN 数据包未加密,然后应用 NAT)2) 当 NAT 后目标位于子网 B 上时,这会起作用吗?子网 B 不是 VPN 流量选择的一部分。
答案1
这两个说法并不容易放在一起。“VPN 设置为处理 [远程用户] 和 [子网 A] 之间的流量,不包括 [子网 B]。”和“假设所有路由器的防火墙规则都允许一切。”
但是,我假设您的意思是远程 ASA 配置为仅将 VPN 用于特定子网 - 例如子网 A。我不明白的部分是为什么要在 ASA 的内部接口上进行 NAT 到子网 B 上的主机。为什么不让路由器 2 执行 NAT?
至于流量路由,我无法根据事实回答。但是,我可以说,传统实现中的 NAT 会导致两个路由决策。第一个是将数据包标识为属于转换后的 TCP 连接 - 这将使用未转换的 IP 地址,然后对转换后的数据包做出后续决策。
基本上,您所说的“这会影响通过 VPN 传入的连接吗?” 是什么意思?您是否希望远程 VPN 连接的用户通过 NAT 转换访问子网 B 上的主机?
假设您的目标是让子网 B 上的主机可供 VPN 用户使用,而不向他们公开子网 B 的其余部分,那么您的推理是正确的;由于缺乏 cisco pix/asa 平台的经验,我无法保证没有任何问题或挂断。例如,使用 linux iptables 可以轻松实现这一点。
不过,如果您只是想让子网 B 上的主机通过 VPN 供用户使用,那么可以考虑在路由器 2 上执行 NAT 和/或将子网 B 添加到 VPN,并在 ASA 或路由器 2 上使用防火墙规则来限制流量。
抱歉,这不是一个完美的答案,但如果你能澄清细节,我可能会有一些更好的消息告诉你。