Cisco ASA:根据连接的起始位置路由数据包

Cisco ASA:根据连接的起始位置路由数据包

我们有一台 Cisco ASA 5505(版本 8.2(2)),具有三个接口:

外部:IP 地址 11.11.11.11,这是默认路由 内部:IP 地址 10.1.1.1,这是本地子网 newlink:22.22.22.22,这是一个新的互联网连接。

我们需要将 VPN 用户从 11.11.11.11 地址移动到 22.22.22.22 地址,并且我们在 ASA 上使用 SSH 来测试和整理路由。

我们面临的问题是:

如果我们将特定 IP 定义为 newlink 接口的静态路由,那么它可以通过 SSH 顺利到达 22.22.22.22。如果我们不定义静态路由,那么流量会到达 ASA,但返回流量不会通过 newlink 返回;大概它会通过外部接口发送,因为这是默认路由。我们无法为每个远程端点定义静态路由,因为有拨号 VPN 用户,他们显然会经常更改 IP

我们需要做的是配置 ASA,这样如果连接从 newlink 接口进入,则该接口的传出数据包将通过 newlink 接口,而不是默认路由。使用 iptables 应该可以通过标记连接和执行标记路由来实现这一点,但对于 Cisco ASA 来说,等效的是什么呢?

答案1

据我所知,这个问题已经三年了,但我决定给出答案,因为它可能会对某天访问这个页面的人有用。

这个问题是关于 PBR(基于策略的路由)的,也称为基于源地址的路由。问题是,ASA 并不“正式”支持这种东西。但是,有一个 NAT 技巧可以用来实现类似的结果。它被称为身份 NAT,也称为同地址转换。

在这种情况下,它看起来会像这样:

sysopt noproxyarp newlink

静态(新链接,新链接)0.0.0.0 0.0.0.0 网络掩码 0.0.0.0

这说明:当任何 IP(0.0.0.0/0)出现在接口上时新链接,将其放回接口新链接并将其转换为自身(0.0.0.0)。因此实际上没有发生 NAT,但我们正在说明输出接口是什么。发生此路由表覆盖是因为在使用身份 NAT 时,NAT 进程会根据“转换的”接口进行一些部分路由。sysopt noproxyarp newlink命令是必需的,因为否则 ASA 将开始重新响应到达“newlink”接口的任何目标地址的 ARP 请求(代理 ARP)。所有这些都是8.3 之前版本ASA OS 语法。

8.3 之后语法如下:

sysopt noproxyarp newlink

nat (newlink,newlink) 源静态任意任意

答案2

这在 Cisco ASA 上似乎不可能实现。好的一面是我获得了“tumbleweed”徽章,因为一周内没有人知道如何做到这一点。:-)

相关内容