防火墙零起点配置我们需要掌握以下基本命令(以V7.0以上为例): 1、接口配置:Interface,Nameif,Security-level 2、地址转换:Nat,Global 3、内网远程登陆:Telnet,Passwd 零起点配置-1 接口配置: PIX(config)# interface ethernet 0 PIX(config-if)# ip address 10.1.1.254 255.255.255.0 PIX(config-if)# nameif outside //为接口命名,该名称可在后面应用接口的时候使用 PIX(config-if)# security-level 0 //指定接口安全等级,0为最低,表示接入的是外部网络,如果给接口命名时使用Outside,则接口安全等级自动设置为0,命名为Inside,则等级为100,为内部网络。设置DMZ时一般使用40 PIX(config)# interface ethernet 1 PIX(config-if)# ip address 192.168.10.254 255.255.255.0 PIX(config-if)# nameif inside PIX(config-if)# security-level 100 零起点配置-2 地址转换: pix(config)# global (outside) 1 interface //将内部主机的地址映射到外部的接口 pix(config)# nat (inside) 1 192.168.10.0 255.255.255.0 //指定内部允许进行NAT转换的主机地址,指定的列表“1”要与Outside对应 有的PIX IOS默认时内部主机Ping的回显请求包是不允许通过Outside接口,为了让内网的机器能够PING出去还要加上: pix(config)# access-list for_icmp permit icmp any any pix(config)# access-group for_icmp in interface outside //将ACL应用在Outside接口的in方向 零起点配置-3 内网远程登陆: pix(config)# telnet 0.0.0.0 0.0.0.0 inside //这里的地址可以指定为某个主机 pix(config)# passwd [passwd] //设置登陆密码 pix(config)# enable password [passwd] 配置到这里,我们可以利用Cisco PIX防火墙的功能顺利地实现内部用户的正常上网(NAT),也可以在内网利用远程登陆的功能访问接入防火墙。 但防火墙从外部是不允许随意连接的,并且如何保证内部用户的安全,如何方便地提供移动办公人员的远程接入,在下面的PIX进阶配置中我们将作进一步的阐述。 进阶配置-1 在PIX上配置SSH: 安全外壳(Secure SHell )是专用的,提供基于Internet的数据安全技术和解决方案,尤其是加密和身份验证产品。通过使用SSH,可以把所有传输的数据进行加密。 pix(config)# ca zeroize pix(config)# ca generate pix(config)# ca save //以上配置用来清除、创建并保存CA证书,产生密钥,因使用SSH认证需要在Server端与Client端之间交换密钥 pix(config)# ssh 0.0.0.0 0.0.0.0 outside //配置外部网络使用SSH线路的授权IP pix(config)# username [admin] password [admin] //创建认证时的用户名和密码 pix(config)# aaa authentication ssh console LOCAL //在本地进行认证,为可选项,也可以Tacacs+或Radius上进行,注意这里的“LOCAL”为大写 进阶配置-2 在PIX上配置PPPoE拨号连接(由于实验室环境无法模拟真实的PPPoE环境,因此大家只需要将有用的配置记录下来即可): V6.4: ip address outside pppoe setroute vpdn group pppoex request dialout pppoe vpdn group pppoex localnameXXXXXXXX@fzlan vpdn group pppoex ppp authentication pap vpdn username480082917@fzlanpassword ********* V7.2: pix525(config)# interface ethernet0 pix525(config-if)# pppoe client vpdn group pppoe pix525(config)# vpdn group pppoe request dialout pppoe pix525(config)# vpdn group pppoe localname123456789@fzlan pix525(config)# vpdn group pppoe ppp authentication pap pix525(config)# vpdn username123456789@fzlanpassword ********* PIX进阶配置-3 配置IPSEC VPN远程拨入连接: 准备工作:Client端安装了cisco vpn client软件。验证的过程为两次验证,首先验证用户所在分组(Tunnel-group),再验证用户身份是否授权连接。 IPSec VPN Server端配置步骤: 1、配置IKE:定义isakmp策略集。 2、配置IPSec:定义IPSec变换集,因为拨入连接的源IP无法确定,所以采用了动态交换的方式,该变换集在映射图(map)中被引用。 3、创建加密映射表(Crypto map),将IKE策略集与IPSec变换集应用于接口并发送。 4、建立用户验证时的分组(Tunnel-group),指定了远程接入的方式与用户拨入的地址池(Local Pool)以及分组验证的密码(Pre-share-key)。 5、指定不进行NAT转换的地址。 6、以上述方式接入VPN网络,只能够访问VPN的内部网络,因此为了实现内部外部都能够互连,还必须加入“VPN隧道分离”技术,即:定义一组策略(Group-policy),指定隧道分离机制,再定义需要分离的流量,应用于用户分组中。 1、配置IKE,IPSec变换集及加密映射表 pix525(config)# crypto ipsec transform-set <myset> esp-des esp-md5-hmac pix525(config)# crypto dynamic-map <rtpdynmap> <20> set transform-set <myset> pix525(config)# crypto map <mymap> <20> ipsec-isakmp dynamic <rtpdynmap> pix525(config)# crypto map <mymap> interface outside pix525(config)# crypto isakmp identity address pix525(config)# crypto isakmp enable outside pix525(config)# isakmp policy <10> pix525(config-isakmp-policy)# authentication pre-share pix525(config-isakmp-policy)# encryption des pix525(config-isakmp-policy)# hash md5 2、建立用户分组信息 pix525(config)# ip local pool <ipsec-client> 192.168.10.100-192.168.10.110 mask 255.255.255.0 pix525(config)# tunnel-group <group1> type ipsec-ra //“spoto1”为用户第一次验证时需要填的分组信息 pix525(config)# tunnel-group <group1> general-attributes pix525(config-tunnel-general)# address-pool <ipsec-client> pix525(config-tunnel-general)# authentication-server-group LOCAL(必须大写) //为IPSEC第二次进行的身份认证,即username password pix525(config)# tunnel-group <group1> ipsec-attributes pix525(config-tunnel-ipsec)# pre-shared-key [passwd] //为分组密码 pix525(config)# access-list <name> permit ip 192.168.10.0 255.255.255.0 192.168.10.0 255.255.255.0 //指定不进行NAT转换的流量 pix525(config)# nat (inside) 0 access-list <name> //这里的“0”表示不进行NAT转换 3、配置IPSec隧道分离 pix525(config)# access-list <tunnellist> permit 192.168.10.0 255.255.255.0 //指定需要进行分离的流量,一般为Client拨入的地址段 pix525(config)# group-policy <group> internal pix525(config)# group-policy <group> attributes pix525(config-group-policy)# vpn-idle-timeout 20 pix525(config-group-policy)# split-tunnel-policy tunnelspecified pix525(config-group-policy)# split-tunnel-network-list value <tunnellist> //创建隧道分离的组策略 pix525(config)# tunnel-group <group1> general-attributes pix525(config-tunnel-general)# default-group-policy <group> //应用于用户分组中 -------------------------------------------------------------------------------------------------- 实验要求: 在PIX525上进行配置,要求内网PC2能telnet 登入到PIX525上;外网PC1可以通过SSH方式登入到 PIX525;通过在PIN525上配置NAT 使内网PC2可以ping通外网的R1,R2,PC1;在PIX525上配置 IPSEC-VPN,使PC1可以通过IPSEC-VPN 方式登陆到内网上,并PING通内网主机PC2。 IP地址表:(如图) pc1<----------------------->R1<-------------------------->R2<----------------------->PIX<---------------------->pc2 E0 S0 S0 E0 E0 E1 11.1.1.10/24 11.1.1.254/24 12.1.1.1/24 12.1.1.2/24 23.1.1.2/24 23.1.1.3/24 192.168.11.254/24 192.168.11.10/24 实验配置如下: 一、路由器和PC 机配置 配置R1: Router>en Router#conf t Router(config)#hostname R1 R1(config)#int S0 R1(config-if)#ip add 12.1.1.1 255.255.255.0 R1(config-if)#no shut R1(config-if)#int E0 R1(config-if)#ip add 11.1.1.254 255.255.255.0 R1(config-if)#no shut R1(config-if)#router rip R1(config-router)#network 12.1.1.1 R1(config-router)#network 11.1.1.0 R1(config-router)#end R1#sh run 配置R2: Router>en Router#conf t Router(config)#hostname R2 R2(config)#int S0 R2(config-if)#ip add 12.1.1.2 255.255.255.0 R2(config-if)#no shut R2(config-if)#clock rate 64000 R2(config-if)#int E0 R2(config-if)#ip add 23.1.1.2 255.255.255.0 R2(config-if)#no shut R2(config-if)#router rip R2(config-router)#network 12.1.1.2 R2(config-router)#network 23.1.1.2 R2(config-router)#end R2#sh run 配置PC机: PC1:修改本地连接的TCP/IP属性,设置IP:11.1.1.10 掩码:255.255.255.0 网关:11.1.1.254 PC2:修改本地连接的TCP/IP属性,设置IP:192.168.11.10 掩码:255.255.255.0 网关:192.168.11.254 二、PIX防火墙配置: 1.接口配置: pixfirewall>en pixfirewall#conf t pixfirewall(config)#ho PIX525 PIX525(config)#int E0 PIX525(config-if)#ip add 23.1.1.3 255.255.255.0 PIX525(config-if)#nameif outside //设置接口为外网接口,启动安全级别为0 PIX525(config-if)#security-level 0 PIX525(config-if)#no shut PIX525(config-if)#int E1 PIX525(config-if)#ip add 192.168.11.254 255.255.255.0 PIX525(config-if)#nameif inside //设置接口为内网接口,启动安全级别为100 PIX525(config-if)#security-level 100 PIX525(config-if)#no shut PIX525(config-if)#exit PIX525(config)# 2配置允许内网telnet登入: PIX525(config)#telnet 0.0.0.0 0.0.0.0 inside //设置E1连接的内网所有主机可以远程登入到PIX上 PIX525(config)#passwd spoto //设置内网主机Telnet 登入到PIX上的密码 PIX525(config)#enable password spoto 3.配置允许外网SSH 登入: PIX525(config)#ca zeroize //清除原有的CA配置 [size=+0]PIX525(config)#ca generate //配置CA为普通级别配置 PIX525(config)#ca save //保存CA配置 PIX525(config)#ssh 0.0.0.0 0.0.0.0 outside //允许外部所有网络通过SSH 方式从E0口登入 PIX525(config)#username admin password admin //建立一本地用户,VPN和SSH 登入时使用 PIX525(config)#aaa authentication ssh LOCAL //使用本地用户认证 4.配置PAT: PIX525(config)#global (outside) 1 interface //通过出接口方式转换为外网地址 PIX525(config)#nat (inside) 1 192.168.11.0 255.255.255.0 //允许转换的内部地址网络 PIX525(config)#route outside 0.0.0.0 0.0.0.0 23.1.1.2 //起默认路由,让内网能ping通外网网段 为了让内网的机器能够PING 出去还要加上: //默认情况下,外网是不允许ping 通内网的,当内网的 ping 包出去后,在返回时候会被outside 接口拒绝或者丢弃,所以要让outside 接口能接受这个包,作 如下配置: PIX(config)#access-list 100 permit icmp any any PIX525(config)#access-group 100 in interface outside 5.IPSEC-VPN配置: PIX525(config)#ip local pool ipsecvpn 192.168.11.20-192.168.11.120 mask 255.255.255.0 //建立VPN 动态IP 地址池,当外网用户使用IPSEC--VPN方式登陆时候,自动从IP池分配一个IP 给用户 PIX525(config)#access-list nonat permit ip 192.168.11.0 255.255.255.0 192.168.11.0 255.255.255.0 //建立列表允许内网网段(含VPN 网段)通过PIX 防火墙时,不需要NAT 转换 PIX525(config)#nat (inside) 0 access-list nonat //应用访问控制列表,0表示不进行转换 PIX525(config)# sysopt connection permit-vpn ―――――― PIX525(config)#access-list tunnellist permit 192.168.11.0 255.255.255.0 PIX525(config)#group-policy spoto internal //建立内部组策略,命名为spoto PIX525(config)#group-policy spoto attributes PIX525(config-group-policy)#vpn-idle-timeout 20 //设置VPN超时时间为20钟 PIX525(config-group-policy)#split-tunnel-policy tunnelspecified //建立隧道分离策略 PIX525(config-group-policy)#split-tunnel-network-list value tunnellist //与tunnellist匹配的网络将全部使用隧道分离 ―――――― PIX525(config-group-policy)#exit PIX525(config)#crypto ipsec transform-set myset esp-des esp-md5-hmac //ipsec的数据转换格式集通过des方式加密,对方通过哈希表-md5方式还原数据 PIX525(config)#crypto dynamic map mydynmap 20 set transform-set myset //建立加密动态映射图,并采用上建的myset 方式加密解密 PIX525(config)#crypto map mymap 20 ipsec-isakmp dynamic mydynmap //建立加密静态映射图,加密静态映射图中ipsec-isakmp 采用上建的加密动态映射图加密 PIX525(config)#crypto map mymap interface outside //将加密静态映射图应用于外网接口 PIX525(config)#crypto isakmp identity address //isakmp采用地址验证 PIX525(config)#crypto isakmp enable outside //isakmp 应用于外网接口 // isakmp:Internet Security Association and Key Management Protocol policy. 互连网安全密钥管理协议策略 应用到外网接口 ―――――― PIX525(config)#crypto isakmp policy 10 //建立isakmp 策略 PIX525(config-isakmp-policy)#authentication pre-share //使用共享密钥认证 PIX525(config-isakmp-policy)#encryption des //使用des算法加密 PIX525(config-isakmp-policy)#hash md5 //哈希使用MD5算法还原数据 PIX525(config-isakmp-policy)#end PIX525(config)#tunnel-group spoto10 type ipsec-ra //建立VPN 远程登入(即使用隧道分离)组 PIX525(config)#tunnel-group general-attributes //配置VPN远程登入(即使用隧道分离)组的基本属性 PIX525(config-tunnel-general)#address-pool ipsevvpn //设置VPN登入内网时分配的IP地址池 PIX525(config-tunnel-general)#authentication-server-group LOCAL //服务端组使用本地认证 ―――――― PIX525(config-tunnel-general)#default-group-policy spoto //指定默认的组策略为spoto ―――――― PIX525(config-tunnel-general)#exit PIX525(config)#tunnel-group spoto10 ipsec-attributes //设置VPN 远程登入(即使用隧道分离)组的 ipsec属性 PIX525(config-tunnel-ipsec)#pre-share-key spoto //设置使用的共享密钥为spoto 6.验证: 在外网PC1 上使用VPN 方式测试是否能成功登入到PIX525 上(需要安装VPN-CLIENT 软件),在 VPN-CLIENT 上host项上输入PIX525的outside接口地址,然后输入VPN 组spoto10和密码spoto, 点击连接,等待输入用户名和密码。输入完用户名密码等待PIX验证后,在运行下输入cmd进入CLI模 式。在CLI模式下输入ipconfig /all查看是否获取到ipsecvpn 地址池中分配到的IP 地址,若分配到则 成功使用VPN方式登入到了PIX 上,确切说登入到了内部网络上。这样PC1就如同在内部网络中一样可 以随意使用内部网络资源了!
|