安全 : Cisco ASA 5500 系列自适应安全设备

基本ASA NAT配置:在DMZ的网络服务器在ASA版本8.3和以上

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 23 日) | 反馈

简介

本文提供一简单和直接的示例如何配置NAT和访问控制列表(ACL)在ASA防火墙为了允许出站以及入站连接。本文写入使用运行ASA代码版本9.1(1)的ASA 5510防火墙,但是这能容易地应用到其他ASA防火墙平台。如果使用一个平台例如ASA 5505,使用VLAN而不是物理接口,您需要更改接口类型如适当。

贡献用马格纳斯Mortensen, Cisco TAC工程师。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息根据运行ASA代码版本9.1(1)的ASA 5510防火墙。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

概述

目标

在此配置示例中,您能查看什么NAT和访问控制表配置将是需要的配置为了允许对一个网络服务器的入站访问在ASA防火墙的DMZ,并且允许从内部和DMZ主机的出站连接。这可以汇总作为两个目标:

  1. 允许在里面和DMZ出站连接的主机到互联网。
  2. 允许在互联网的主机访问在DMZ的一个网络服务器用192.168.1.100的IP地址。

在达到必须实行什么前步骤实现这两个目标,请在方法访问列表和NAT工作简要地去在新版本ASA代码(版本8.3和以上)。

访问控制表概述

访问控制列表(访问列表或ACL简称)是ASA防火墙确定的方法流量是否允许或拒绝。默认情况下,通过从更低的流量到更高安全级别拒绝。这可以由ACL改写应用对该较低安全性接口。默认情况下,并且ASA将允许从更加高的流量到较低安全性接口。此行为可能也改写与ACL。

在ASA代码中更早版本(8.2和更加早期), ASA对在接口的ACL比较一流入连接或数据包,无需首先非翻译数据包。换句话说, ACL必须允许数据包,好象您将获取在接口的该数据包。用8.3及以后代码, ASA在检查接口ACL前非翻译该数据包。这为8.3意味着那及以后代码,并且本文,对主机的实时IP的流量允许而不是主机的转换后的IP。

请参阅配置的访问规则图书消毒2 :思科ASA系列防火墙CLI配置指南, 9.1关于访问控制列表的更多信息。

NAT 概述

在ASA的NAT在版本8.3和以上分成两个类型知道作为自动NAT (对象NAT)手工的NAT (两次NAT)。第一两个,对象NAT,在网络对象定义之内配置。此的示例是提供的以后在本文。此NAT方法一个主要的优点是ASA为处理自动地指令规则至于避免冲突。这是NAT最容易的表,但是与该方便来在配置粒度的一个限制。例如,因为您可能与第二种类型的nat,手工nat,您不能做出根据在数据包的目的地的转换决策。手工的NAT是稳健在其粒度,但是要求线路按正确顺序配置为了达到正确行为。这复杂化此NAT类型结果,并且,不会用于此配置示例。

请参阅关于NAT图书消毒的信息2 :思科ASA系列防火墙CLI配置指南, 9.1关于NAT的更多信息。

配置

注意:使用命令查找工具仅限注册用户)可获取有关本部分所使用命令的详细信息。

使用入门

基本ASA配置设置是三个接口连接对三个网段。ISP网段连接对Ethernet0/0接口并且从外部标志安全等级0。内部网络连接对Ethernet0/1并且被标记了作为里面与安全等级100。DMZ分段,网络服务器驻留连接对Ethernet0/2并且被标记作为与安全等级的dmz 50。

接口配置和IP地址示例的被看到此处:

interface Ethernet0/0
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1

您能看到ASA的内部接口设置与192.168.0.1的IP地址,并且它是内部主机的默认网关。ASA的外部接口配置与从ISP获取的IP地址。有到位默认路由,设置下一跳是ISP网关。如果使用DHCP自动地提供这。dmz接口配置用192.168.1.1的IP地址,并且它是主机的默认网关在我们的DMZ网段。

拓扑

这是一视觉查看在这如何被缚住并且配置:

asa-config-dmz-01.gif

Step1 -配置NAT允许主机出去到互联网

对于此示例对象NAT,亦称AutoNAT,使用。配置的第一件事是允许在内部的主机的NAT规则和dmz分段连接对互联网。由于这些主机使用专用IP地址,您需要翻译他们到是可路由的在互联网的事。在这种情况下请转换地址,以便他们看起来象ASA的外部接口IP地址。如果您的外部IP频繁地更改(或许由于DHCP)这是最直接的方式设置此。

为了配置此NAT,您需要创建表示里面子网以及一个表示dmz子网的网络对象。在这些对象中的每一个,请配置PAT这些客户端作为从他们的各自的接口的通行证到外部接口的一个动态nat规则。

此配置看似类似于此:

object network inside-subnet
subnet 192.168.0.0 255.255.255.0
nat (inside,outside) dynamic interface
!
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
nat (dmz,outside) dynamic interface

如果这时查看运行的配置(与show run输出),您看到对象定义拆分到输出的两部分。第一部分只指示什么在对象(主机/子网、IP地址等等),而第二部分显示NAT规则附加对该对象。如果采取在以上输出的首先进入:

当匹配从内部接口的主机192.168.0.0/24子网横断到外部接口,我们要动态地翻译他们到外部接口

步骤2 -配置NAT访问从互联网的网络服务器

即然在内部dmz接口的主机能出去到互联网,您需要修改配置,以便互联网的用户能访问我们的在TCP端口80的网络服务器。在本例中,设置是,以便互联网的人们能连接到ISP提供的另一个IP地址,我们拥有的一个另外的IP地址。对于此示例,请使用198.51.100.101。使用此配置,互联网的用户能通过访问在TCP端口80的198.51.100.101到达dmz网络服务器。请使用对象NAT此任务,并且ASA翻译在网络服务器(192.168.1.100)的TCP端口80看起来象在TCP端口80的198.51.100.101在外部。同样于什么执行以上,定义了对象并且定义了该对象的翻译规则。并且,请定义第二个对象代表您翻译此主机的IP。

此配置看似类似于此:

object network webserver-external-ip
host 198.51.100.101
!
object network webserver
host 192.168.1.100
nat (dmz,outside) static webserver-external-ip service tcp www www

汇总什么该NAT规则在本例中含义:

当匹配IP地址192.168.1.100在dmz分段的主机建立从TCP端口来源的连接80 (www)时,并且该连接出去外部接口,我们要翻译那是在外部接口的TCP端口80 (www)和翻译该IP地址是198.51.100.101

那似乎一少许多…“从TCP端口80 (www)来源”,但是Web流量被注定到端口80。请注意这些NAT规则是双向的本质上。结果您能通过翻转字词改变措辞此句子。结果更大量有意义:

外部的主机建立对198.51.100.101的连接在目的地TCP端口80 (www),我们将翻译目的IP地址是192.168.1.100,并且目的地端口将是TCP端口80 (www)并且发送它dmz

这有更多意义,当措辞这样。其次,您需要设置ACL。

步骤3 -配置ACL

NAT配置,并且此配置结尾近。切记,在ASA的ACL允许您改写如下的默认安全行为:

  • 当去更高安全性接口时,去从较低安全性接口的流量拒绝
  • 当去较低安全性接口时,去从更高安全性接口的流量允许

因此没有添加任何ACL到配置,在本例中的以下流量工作:

  • 里面(安全等级100)的主机能连接到在dmz (安全等级50)的主机
  • 里面(安全等级100)的主机能连接到在外部(安全等级0)的主机
  • dmz (安全等级50)的主机能连接到在外部(安全等级0)的主机

然而,以下流量拒绝:

  • 外部(安全等级0)的主机不能连接到在里面(安全等级100)的主机
  • 外部(安全等级0)的主机不能连接到在dmz (安全等级50)的主机
  • dmz (安全等级50)的主机不能连接到在里面(安全等级100)的主机

由于流量从自dmz网络的外面由与其当前配置的ASA拒绝,互联网的用户不能到达尽管NAT配置的网络服务器在步骤2。您需要明确地允许此流量。用8.3及以后代码您在ACL而不是转换后的IP必须使用主机的雷亚尔德蒙特罗伊IP。这意味着配置需要允许而不是流量被注定对192.168.1.100流量被注定对在端口80的198.51.100.101。为了简化缘故,在步骤定义的对象2将使用此ACL。一旦ACL创建,您需要应用它入站在外部接口。

这是什么那些配置命令看上去象:

access-list outside_acl extended permit tcp any object webserver eq www
!
access-group outside_acl in interface outside

access-list线路状态:

any(where)的Permit流量到对象网络服务器代表的主机(192.168.1.100)在端口80

是重要配置使用所有关键字这里。由于不知道到达您的网站的客户端源IP地址请指定所有含义‘任何IP地址’。

怎么样从dmz分段的流量被注定了对在网络内部分段的主机?例如,在网络内部的一个服务器在dmz需要的主机连接?ASA如何能准许只特定的流量被注定对内部的服务器和块一切别的东西被注定对从dmz的里面分段?

在本例中假设,有在网络内部的一个DNS服务器在dmz需要的主机为DNS解析访问的IP地址192.168.0.53。您创建需要的ACL并且应用它对dmz接口,因此ASA能改写该默认安全行为,前面提到,为输入该接口的流量。

这是什么那些配置命令看上去象:

object network dns-server
host 192.168.0.53
!
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
access-group dmz_acl in interface dmz

允许该流量对在UDP端口53的DNS服务器的ACL更加复杂。如果我们的所有是首先‘permit’线路,则所有流量从dmz将阻塞到在互联网的主机。access-list请有隐式‘deny ip any any’在ACL结束时。结果,您的dmz主机不能出去到互联网。默认情况下即使从dmz的流量到外部通过应用对dmz接口的ACL允许,那些默认dmz接口的安全行为实际上不再是,并且我们必须明确地允许在接口ACL的流量。

步骤4 -与数据包跟踪程序功能的测验配置

即然配置完成,您需要测试它确保它工作。(如果这是您的网络),最容易的方法将使用实际主机。然而,为了测试此从line命令和更加进一步测试某些ASA的工具,请使用数据包跟踪程序测试和潜在调试遇到的所有问题。

数据包跟踪程序工作在模拟根据一系列的参数的数据包旁边,并且注入对接口数据路径的该数据包,类似于一真实生活数据包会,如果被拾起电线。此数据包通过完成检查和进程的无数被跟随,当穿过防火墙,并且数据包跟踪程序注释结果。模拟出去对在互联网的一台主机的内部主机。下面的命令提示防火墙对:

模拟来自在内部接口的TCP数据包IP地址192.168.0.125在12345被注定的源端口对203.0.113.1的IP地址在端口80的

ciscoasa# packet-tracer input inside tcp 192.168.0.125 12345 203.0.113.1 80

Phase: 1
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list

Phase: 2
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:Additional Information:
in 0.0.0.0 0.0.0.0 outsidePhase: 3
Type: NAT
Subtype:
Result: ALLOW
Config:
object network inside-subnet
nat (inside,outside) dynamic interface
Additional Information:
Dynamic translate 192.168.0.125/12345 to 198.51.100.100/12345

Phase: 4
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 5
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 6
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 1, packet dispatched to next module

Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow

最终结果是流量从外部允许通过所有NAT和ACL登记配置和被派出出口接口的含义。注意数据包在相位3翻译,并且该相位详细信息显示什么规则点击。主机192.168.0.125动态地翻译对198.51.100.100根据配置。

现在,为一连接请运行它从互联网到网络服务器。切记,在互联网的主机将通过连接访问网络服务器对在外部接口的192.51.100.101。再次,此下一条命令翻译对:

模拟来自在外部接口的TCP数据包IP地址192.0.2.123在12345被注定的源端口对198.51.100.101的IP地址在端口80的

ciscoasa# packet-tracer input outside tcp 192.0.2.123 12345 98.51.100.101 80

Phase: 1
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
Additional Information:
NAT divert to egress interface dmz
Untranslate 98.51.100.101/80 to 192.168.1.100/80

Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group outside_acl in interface outside
access-list outside_acl extended permit tcp any object webserver eq www
Additional Information:

Phase: 3
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 4
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Phase: 5
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
Additional Information:

Phase: 6
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 3, packet dispatched to next module

Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: dmz
output-status: up
output-line-status: up
Action: allow

再次结果是数据包允许。ACL优良检查,配置查找,并且互联网的用户(从外部)使用外部IP,应该能访问该网络服务器。

验证

验证程序在步骤4包括-测试与数据包跟踪程序功能的配置。

故障排除

目前没有针对此配置的故障排除信息。

结论

要执行基本NAT的ASA的配置不是那威吓任务。在本文的示例可以适应您的特定方案通过更改用于上述配置示例和端口的IP地址。此的最终ASA配置,当结合,为ASA 5510查找类似于此:

ASA Version 9.1(1)
!
interface Ethernet0/0
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
object network inside-subnet
subnet 192.168.0.0 255.255.255.0
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
object network webserver
host 192.168.1.100
object network webserver-external-ip
host 198.51.100.101
object network dns-server
host 192.168.0.53

!
access-list outside_acl extended permit tcp any object webserver eq www
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
object network inside-subnet
nat (inside,outside) dynamic interface
object network dmz-subnet
nat (dmz,outside) dynamic interface
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
access-group outside_acl in interface outside
access-group dmz_acl in interface dmz
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1 1

在ASA 5505,例如和接口连接如上所述(外部连接自Ethernet0/0,已连接里面对Ethernet0/1和dmz连接对Ethernet0/2) :

ASA Version 9.1(1)
!
interface Ethernet0/0
description Connected to Outside Segment
switchport access vlan 2
!
interface Ethernet0/1
description Connected to Inside Segment
switchport access vlan 1
!
interface Ethernet0/2
description Connected to DMZ Segment
switchport access vlan 3
!
interface Vlan2
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Vlan1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Vlan3
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
object network inside-subnet
subnet 192.168.0.0 255.255.255.0
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
object network webserver
host 192.168.1.100
object network webserver-external-ip
host 198.51.100.101
object network dns-server
host 192.168.0.53



!
access-list outside_acl extended permit tcp any object webserver eq www
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
object network inside-subnet
nat (inside,outside) dynamic interface
object network dmz-subnet
nat (dmz,outside) dynamic interface
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
access-group outside_acl in interface outside
access-group dmz_acl in interface dmz
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1 1

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


Document ID: 115904