一个小实验让初学PIX的您对它有清晰地认识

    自己学习PIX的初期,一直在网上想找到一个能让初学PIX的人入门的实验,但是网上的实验都是知识点四分五裂的,要不就太难,要不就不对路,对初学者造成些困难。所以我就整合了一下基础知识,弄了一个很简单的小实验供初学者学习。发这个帖子希望对大家有所帮助。另外还希望大大们给予指点,我也是初学者,PIX简单配置_休闲

-----------------------------------------------------------------------------------------
实验拓扑如下:

PC2-----------(outside:e1端口)PIX(inside:e0端口)-----------PC1

IP地址分配如下:
PC110.0.0.2/24 网关:10.0.0.1
PC22.0.0.2/24 网关:2.0.0.1
PIX-inside10.0.0.1/24
PIX-outside2.0.0.1/24
分配PAT可用地址:2.0.0.44/24
分配static转换全局地址:2.0.0.111(试验中将PC1IP地址静态转换成此IP

实验目的:
(1)熟悉PIX的基本配置;
(2)理解nat-control命令的用法;
(3)初步掌握nat,global,static命令的用法;
(4)初步掌握访问控制列表对PIX的影响及作用。

实验要实现的功能:
(1)PC1能够PINGPC2
(2)PC2能够PINGPC1

实验工具:
dynamipusGUI 2.83,思科722防火墙镜像

实验详细步骤:
(1)小凡模拟器使用以及防火墙注册就不啰嗦了,如果这方面有问题的朋友可以留言给我,我再解答。
(2)VPCSPC1PC2配置相应的IP地址及网关。
(3)PIX基础配置:
pixfirewall(config)#interface e0
pixfirewall(config-if)#nameif inside
pixfirewall(config-if)#security-level 100
pixfirewall(config-if)#ip add 10.0.0.1 255.255.255.0
pixfirewall(config-if)#no shut

pixfirewall(config)#interface e1
pixfirewall(config-if)#nameif outside
pixfirewall(config-if)#security-level 0
pixfirewall(config-if)#ip add 2.0.0.1 255.255.255.0
pixfirewall(config-if)#no shut
    配置到此,在PC1PC2上分别PING各自网关都是能PING通的,但是相互之间是PING不通的。

(4)PC1 PING PC2
    首先先解决PC1如何PINGPC2,防火墙虽然默认从高安全级别网到低安全级别网是不阻止访问的,但是限制了ICMP的访问,所以要通过添加ACL使ICMP通过防火墙,配置如下:
pixfirewall(config)#access-list 101 permit icmp any any
pixfirewall(config)#access-group 101 in interface outside
         此时,在PC1PING PC2IP地址就能成功。

(5)nat-control配置与解释:
    继续上面的配置,我们输入以下命令:
pixfirewall(config)#nat-control
         此时再在PC1PING PC2IP地址就无法通讯。
         原因:nat-control在思科7.0以上PIX版本中是默认关闭的,当开启nat-control时,数据通过防火墙必须依赖于转换项。用通俗的话讲,在nat-control开启时,必须配置动态或者静态NAT才能让数据从防火墙一端去往另一端。
         继续上面的配置,为上面的配置添加NAT信息,我这里用了PAT
pixfirewall(config)#nat (inside) 1 10.0.0.0 255.255.255.0
pixfirewall(config)#global (outside) 1 2.0.0.44 netmask 255.255.255.0
         此时,在PC1PING PC2IP地址又能正常通信啦。
         show xlate查看转换项,能发现有一条对应关系:
                              1 in use, 1 most used
                              Global 2.0.0.44 Local 10.0.0.2

(6)PC2 PING PC1
    想让外部PC2访问内部的PC1需要用静态nat为内部PC1指定一个固定的全局地址,当外部的PC2访问这个全局地址时,通过防火墙的转换,也就等于相应的访问了PC1IP,这样做就隐藏了内网的IP地址,起到安全的意义。
    继续上面的配置,为PC1添加静态映射:
pixfirewall(config)# static (inside,outside) 2.0.0.111 10.0.0.2 netmask 255.255.255.255
         由于前面的步骤(4)中的ACL已经包含了运行外网PING内网的信息在里面,所以这个时候在PC2上直接PING PC1global IP2.0.0.111,发现能够PING通。
(在这里提醒大家,PC2 PING PC1时必须PING PC1的全局IP地址,直接PING PC1的内网地址当然是PING不通的,防火墙就是要隐藏内部IP地址的,如果这都让你PING通了,映射岂不是没有任何意义?)
         show xlate查看转换项,能发现对应关系有所变化:
                                    1 in use, 1 most used
                                    Global 2.0.0.111 Local 10.0.0.2
    从这里也证明了一点,static命令的优先级大于nat+global
         OK,实验到此结束!!


值得注意的几点:
    通过这个实验,有几点需要注意的项,相信在以后学习中大家能够用的到:
(1)insideoutside方向叫出站;从outsideinside方向叫入站。
(2)与路由器不同,防火墙的access-group只能给入站方向绑定access-list
           (你会发现没有access-group out这命令)
(3)与路由器不同,防火墙只能给某一接口绑定一条access-group
(4)static命令的优先级大于nat+global
(5)7.0以上防火墙版本nat-control命令默认关闭,请记得打开。
(6)外网PC PING 内网某一终端IP地址时,请PING它的global IP(防火墙上配置static时的外网映射IP)。

-----------------------------------------------------------------------------------------------
附上PIX配置信息供大家参考:
lab-PIX# show running-config
: Saved
:
PIX Version 7.2(2)
!
hostname lab-PIX
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Ethernet0
nameif inside
security-level 100
ip address 10.0.0.1 255.255.255.0
!
interface Ethernet1
nameif outside
security-level 0
ip address 2.0.0.1 255.255.255.0
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
access-list 101 extended permit icmp any any
pager lines 24
mtu inside 1500
mtu outside 1500
no failover
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
nat-control   
global (outside) 1 2.0.0.44 netmask 255.255.255.0
nat (inside) 1 10.0.0.0 255.255.255.0
static (inside,outside) 2.0.0.111 10.0.0.2 netmask 255.255.255.255
access-group 101 in interface outside
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
telnet timeout 5
ssh timeout 5
console timeout 0
!            
!            
prompt hostname context
Cryptochecksum:e3fe82a087b197727cc0dd6333146290
: end        

lab-PIX# show xlate
1 in use, 1 most used
Global 2.0.0.111 Local 10.0.0.2

lab-PIX# show local-host
Interface outside: 0 active, 0 maximum active, 0 denied
Interface inside: 0 active, 0 maximum active, 0 denied

lab-PIX# show interface ip brief
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0                  10.0.0.1        YES CONFIG up                    up  
Ethernet1                  2.0.0.1         YES CONFIG up                    up

lab-PIX# show access-list ?
  WORD < 241 char  Show counters for a specific access policy identified by
                   this name
  |                Output modifiers
  <cr>
lab-PIX# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)
            alert-interval 300
access-list 101; 1 elements
access-list 101 line 1 extended permit icmp any any (hitcnt=0) 0x744a4825

lab-PIX# show nameif
Interface                Name                     Security
Ethernet0                inside                   100
Ethernet1                outside                    0


希望对初学PIX的您有所帮助。我也是初学者,希望和您相互学习,一起探讨。O(∩_∩)O