我有一个思科ASA5510和有关ASA和多个公共IP的文章说这不能做。 我的问题是如何最好地解决这样的情况:
我有3个区域,外部,内部和DMZ
我的情况稍微复杂一点,但为了简单起见,我们可以这样做:
我想放置一个Exchange服务器和一个Web服务器(在DMZ区域可以外部访问)
networking服务器同时使用TCP80 / 443,Exchange服务器使用443
所以对于这个问题:在ASA只有一个公有IP的情况下,你将如何在1个公网IP后面的内部主机上将端口443做成端口443? 通常情况下,当我做这种场景与Linux的箱子我使用别名接口,如eth0:0,eth0:1和设置1公共IP在每个。
对我来说,这一定是一个很常见的情况,关于如何用ASA解决这个问题的想法?
/ KGDI
首先,如果你真的只有一个单一的公共IP,这是不会尝试端口转发两个内部主机相同的端口。
如果你有一个IP范围,也许你的ISP给你一个小的/ 29子网,那么你运气好。 如果他们将一个/ 29路由到您的ASA,那么显然和往常一样,您只能在外部接口上configuration一个IP,但是如果它正在接收这些额外IP的stream量,则可以使用它们。
(下面是一个ASA的例子,它通过PPPoE分配一个IP,ISP将路由a / 29到那个接口,但是如果你的上行链路是一个以太网段,ASA可以使用代理ARP)。
由于您还没有给出您正在运行的ASA OS版本,所以我不能更具体地说明,所以这里是我使用的8.2版本的示例。 这是允许RDP(端口3389)在第二个公共IP在相同的子网路由到ASA,两个第二个内部主机(我已经包括默认的NAT规则等,所以你可以看到更大的图片)。
! Assume we get assigned the public IP 1.2.3.4, and also in this subnet ! routed to the ASA is 1.2.3.5 ! RDP to 1.2.3.5 goes to 2nd internal host 192.168.0.20. interface Vlan2 nameif outside security-level 0 pppoe client vpdn group PNDSL ip address pppoe setroute ! interface Ethernet0/0 switchport access vlan 2 ! access-list inside_access_in extended permit ip any any access-list outside_access_out extended permit ip any any access-list rdp_inbound extended permit tcp any interface outside eq 3389 access-list rdp_inbound_54 extended permit tcp any host 1.2.3.5 eq 3389 log ! global (outside) 1 interface global (outside) 2 1.2.3.5 nat (inside) 0 access-list inside_nat0_outbound nat (inside) 1 0.0.0.0 0.0.0.0 static (inside,outside) 1.2.3.5 192.168.0.20 netmask 255.255.255.255 access-group inside_access_in in interface inside access-group rdp_inbound_54 in interface outside access-group outside_access_out out interface outside
我希望这是你的正确configuration,一直专注于8.4,因为他们引入的变化对于我简单的大脑来说太多了,8.4之前的东西从我的鼻子里掉了下来!
谁说ASA只有一个公共iP?
这是一个防火墙,它可以接受你告诉它的任何stream量。
除了它自己的外部IP之外的IP可以被NAT到其他接口(或者,内部端口可以NAT到外部接口上的IP)。
这是ASA的工作原理 ; 它没有传统的路由,但一切都是通过NAT进行的。
这不是一般的事情。 确实,ASA设备每个子网不能拥有多个IP。
然而,使用更多地址是标准做法。 您可以为ASA不支持的IP设置NAT。 唯一的要求是,这些地址由您的提供商路由给您 – 他们甚至不需要在您的链接networking在同一个子网。