Cisco ASA 使用动态 IP 进行发夹式配置

Cisco ASA 使用动态 IP 进行发夹式配置

我目前已将 Cisco ASA 5505 防火墙配置为将端口 80 从外部接口转发到我的 dmz 接口上的主机。我还需要允许我的内部接口上的客户端通过在其浏览器中输入公共 IP/DNS 记录来访问 dmz 中的主机。我能够按照说明做到这一点这里,得到以下配置:

static (dmz,outside) tcp interface www 192.168.1.5 www netmask 255.255.255.255 
static (dmz,inside) tcp 74.125.45.100 www 192.168.1.5 www netmask 255.255.255.255 

74.125.45.100我的公网 IP 在哪里,192.168.1.5dmz 主机的 IP 在哪里)

这种方法效果很好,只是我的网络有一个动态公共 IP,因此只要我的公共 IP 发生变化,此配置就会中断。有没有办法用动态 IP 做我想做的事情?

笔记:由于我有多个 dmz 主机映射到公共 IP 上的不同端口,因此添加内部 DNS 记录无法解决我的问题。

答案1

我想知道为什么内部接口后面的客户端必须输入公共 IP,使用 DMZ 主机的私有 IP 不是更容易吗?然后你可以创建一个正常的 nat 例如。

静态(dmz,内部)tcp(内部 IP 范围)www 192.168.1.5 www 网络掩码 255.255.255.255

据我所知,您的问题在于,当客户端发出 DNS 请求时,互联网上的 DNS 服务器会将 ASA 的当前外部 IP 地址返回给他。之后,客户端尝试连接到该 IP,因此数据包被发送到外部接口,并且必须返回 DMZ 接口。

Cisco 防火墙有一个问题,默认情况下,它们从不从获取包的同一接口发出包。Cisco 从 7.2 版本开始使用以下 cli 命令解决了该问题:

ASA(配置)#相同安全流量允许接口内

据我所知,您通过添加第二个静态 NAT 完全绕过了该行为。在我看来,如果您删除第二个 NAT 条目并激活 same-security-traffic 选项,它应该可以工作。

但我强烈建议你购买一个公共 IP :-)

答案2

我想你得到的唯一答案是否定的。

ACL 或 NAT 语句根本无法解释变化的 IP 地址,这种事情根本不可能发生。

答案3

事实上,你可以使其与内部 DNS 更改一起工作。

假设您有多项服务:

static (dmz,outside) tcp interface www 192.168.1.5 www netmask 255.255.255.255
static (dmz,outside) tcp interface smtp 192.168.1.6 www netmask 255.255.255.255
static (dmz,outside) tcp interface ftp 192.168.1.9 www netmask 255.255.255.255

假设您example.org使用动态 DNS 提供商指向不断变化的公共 IP 地址。

您可以运行指向 192.168.1.254 的内部名称服务器example.org,并使用以下命令:

static (dmz,inside) tcp 192.168.1.254 www 192.168.1.5 www netmask 255.255.255.255
static (dmz,inside) tcp 192.168.1.254 smtp 192.168.1.6 www netmask 255.255.255.255
static (dmz,inside) tcp 192.168.1.254 ftp 192.168.1.9 www netmask 255.255.255.255

然后,您将客户端指向您的内部名称服务器并进行操作。

需要注意的是,对于您添加的每项新服务,您都必须为内部网络设置静态,为外部接口设置静态,并在 ACL 中允许来自内部和外部的访问。但是,当您的公共 IP 发生变化时,您的流量仍会流向您希望它流向的地方。

相关内容