我们使用的是 5505 ASA Sec+ (8.2)。有三个接口:内部 (172.17.0.0/24)、dmz (172.16.0.0/24) 和外部 (例如 1.2.3.4)。
已设置静态 NAT 规则,将 1.2.3.4 转换为 dmz 上的服务器(包括将 1.2.3.4:80 转换为 172.16.0.10:80)。这些规则从外部运行。
如何让内部用户像外部用户一样使用外部 IP 访问 DMZ 服务器?
因为我们正在使用端口地址转换(根据端口号有多个不同的服务器),所以我想避免 DNS 修改。
对于直接的 dmz 内部流量,我们是否使用 NAT 并不重要(无论如何,大多数流量都会通过公共 IP)。
当前的 NAT 配置:
ASA Version 8.2(5)
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
global (outside) 1 interface
global (dmz) 2 interface
nat (inside) 1 172.17.0.0 255.255.255.0
nat (dmz) 1 172.16.0.0 255.255.255.0
static (dmz,outside) tcp interface www 172.16.0.10 www netmask 255.255.255.255
static (dmz,outside) tcp interface https 172.16.0.10 https netmask 255.255.255.255
access-group inside_access_in in interface inside
access-group outside_access_in in interface outside
access-group dmz_access_in in interface dmz
有了这种最小配置,内部用户根本无法访问 dmz 服务器。内部用户和 dmz 服务器都可以正常访问外部互联网,并且 dmz 服务器可以从互联网访问。
答案1
我已经在 8.3+ 上完成了此操作,但我对我们以前在 8.2 上如何操作有点模糊。
我相信它是这样的:
static (dmz,inside) tcp {EXTERNAL IP} www 172.16.0.10 www netmask 255.255.255.255
或者使用 ACL:
static (dmz,inside) {EXTERNAL IP} ACL1
access-list ACL1 extended ip host 172.16.0.10 {EXTERNAL IP} {EXTERNAL NETMASK}
如果这不起作用,我知道下面的方法适用于 8.3+,所以可能会对你有所帮助
nat (inside,dmz) source static any interface destination static {External IP} SERVER1 service http http unidirectional no-proxy-arp
object network SERVER1
host {Internal IP}
nat (dmz,outside) static {External IP}
现在我确信我搞砸了其中的某些部分,所以请有人告诉我。