文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>某集团公司cisco ASA5520的全配置

某集团公司cisco ASA5520的全配置

时间:2010-10-23  来源:shamdeng

一、背景介绍

   目前公司使用的SONICWALL 3060PRO旧了,订购了一台CISCO ASA5520-K8设备更换现有设备。现有的网络结构及需求如下:

1、能与各公司做SITE-TO-SITE VPN而且要求对端支持sonicwall设备。

2、做one-to-one地址映射能发布服务器。

3、支持限制客户端上网规则设置。

4、支持remote-vpn功能,某些用户设置权限只允许通过VPN访问特定的某(几)台服务器,防止黑客或病毒传染。

注:公司共16个IP地址,有两个网段一个是59.61段,一个是59.57段,其中59.57段中某个IP地址设置为接口IP.

    内部共7个网段分别是:192.168.0.0/24到192.168.7.0/24  *7网段子网为客户专用的VLAN,做了隔离。

Client PC--->CISCO3750G-24TS-E(多个VLAN)---CISCO ASA5520-K8

遇到的问题:

当我把服务器发布后(one-to-one)发现发布的服务器在外网无法访问,而配置也正常,从服务器上PING外网无法PING通。

解决方法:打电话给ISP叫他们帮助清空上级路由器的ARP信息后即可成功。【这个问题搞了我快3个小时,支持电话打了无数】

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

题外话:最近我试用了WPS2010软件,个人版操作界面与易用性、兼容性非常不错,您可以下载回来试用一下。对于个人版是免费的。

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

二、把现有SONICWALL设备上的规则记录下来。并做成表格:

1、需要服务器发布的规则(注:因为以前的SONICWALL PRO 3060 不支持一个IP地址指向多个服务器的不同端口,所以以下的方法比较浪费IP地址,但是因为是升级现有环境,而且这个IP已经对外使用了很长一段时间了,暂时无法做出整合)

2、发布服务器的服务组(只写了一个服务组的配置,其它的类似,如果端口不多也可以不使用服务组,直接在ACL中指定端口)

3、客户机上网规则及限制

黑名单限制

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

CISCO ASA5520-K8【最好到CISCO的网站上免费升级到K9使之支持3DES等加密码方法】。

我先来几张图

整体

面板   作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

接口

接口近照

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

自带的上架耳朵。

三、设备基本配置

1、从光盘中升级现有的系统和相关软件

略......

以下配置均以升级后的IOS asa 831的命令为准,之前的版本会有差异:BOOT variable = disk0:/asa831-k8.bin

1、设置主机名、接口IP地址和NTP等常规设置

Hostname gs-fw-1

interface GigabitEthernet0/0

nameif inside

security-level 100

ip address 192.168.0.4 255.255.255.0

!

interface GigabitEthernet0/1

nameif outside

security-level 0

ip address 59.57.x.xx 255.255.255.248

clock timezone CST 8

ntp server 192.168.0.144 source inside prefer

启用路由

route outside 0.0.0.0 0.0.0.0 59.57.254.41 1

/*192.168.1.1这些都为内部VLAN的网关IP地址,有几个网段就做多少个路由*/

route inside 192.168.1.0 255.255.255.0 192.168.1.1 1

route inside 192.168.2.0 255.255.255.0 192.168.2.1 1

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

2、启用NAT使内部用户能上网

/*主机网络组obj_any以之前需要定义包含任何内部的网段*/

object network obj_any

nat (inside,outside) dynamic interface

3、建立服务组、网络组及发布服务器(摘录)

服务(端口)组

object-group service srv-mail-both tcp

port-object eq imap4

port-object eq pop3

port-object eq www

port-object eq smtp

port-object eq 1025

port-object eq 1125

object-group service srv-mail-tls-outs tcp

port-object eq https

port-object eq 993

port-object eq 995

port-object eq 465

object-group service srv-mails-outs tcp

group-object srv-mail-both

group-object srv-mail-tls-outs

网络地址组(摘录)

object network obj-192.168.0.0

subnet 192.168.0.0 255.255.255.0

object network obj-192.168.8.0

subnet 192.168.8.0 255.255.248.0

object network obj-192.168.1.0

subnet 192.168.1.0 255.255.255.0

object network obj-192.168.2.0

subnet 192.168.2.0 255.255.255.0

4、发布服务器及设置ACL应用到接口(摘录)

/*规则名叫:pub-server:允许从any访问到0.8这个服务器的TCP端口的服务组(srv-mails-outs)

access-list pub-server extended permit tcp any host 192.168.0.8 object-group srv-mails-outs

/*注意所有发布服务器的规则名必须一样,因为接口只能应用一个规则名,这里直接对0.17发布26240这个端口*/

access-list pub-server extended permit tcp any host 192.168.0.17 eq 26240

/*允许从任何主机访问到内部的0.15这台服务器的80号TCP端口*/

access-list pub-server extended permit tcp any host 192.168.0.15 eq www

access-list pub-server extended permit tcp any host 192.168.0.18 eq ftp

access-list pub-server extended permit tcp any host 192.168.0.11 eq smtp

/*拒绝从主机组(hack-ip)中包含的IP地址访问到外部端口*/

access-list pub-server extended deny ip object hack-ip interface outside

/*应用以上规则到outside接口,使之生效*/

access-group pub-server in interface outside

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

5、静态地址映射为外部独立IP地址为内部主机的IP地址

/*定义主机名obj-192.168.0.42对外为主机接口的26258内部的端口为211*/

object network obj-192.168.0.42

nat (inside,outside) static interface service tcp 211 26258

/*定义主机名为obj-192.168.0.17对外的IP地址为59.61.x.x

object network obj-192.168.0.17

nat (inside,outside) static 59.61.x.x

/*后面增加DNS参考是为了内部用户能通过外部域名访问内部发布的主机,否则无法访问*/

object network obj-192.168.0.11

nat (inside,outside) static 59.61.86.2 dns

object network obj-192.168.0.8

nat (inside,outside) static 59.57.254.43 dns

access-group acl-in-out in interface inside

access-group pub-server in interface outside

//使之前的内部用户能通过外部域名访问服务器的外部域名dns

policy-map global_policy

class inspection_default

No inspect dns

6、建立内部用户访问外部的规则集(摘录)

access-list acl-in-out extended permit ip object-group net-0 any

access-list acl-in-out extended permit tcp object-group net-1 any eq www

access-list acl-in-out extended permit tcp object-group net-1 any eq https

access-list acl-in-out extended permit tcp object-group net-2 any eq www

access-list acl-in-out extended permit tcp object-group net-2 any eq https

access-list acl-in-out extended permit tcp object-group net-2 any eq 8080

/*把acl-in-out这个内部用户的规则应用到inside接口的IN方向。

access-group acl-in-out in interface inside

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

我们总结一个发布服务器的流程。注意因为IOS版本的不同,做法和以前的有些不太一样。

1、做ACL允许外部的any主机能访问内部那台主机的TCP/UDP的那个端口,如:

access-list pub-server extended permit tcp any host 192.168.0.18 eq 80

2、为需要发布的服务器做目标地址并设置staic映谢为外部的那个IP地址,如:

object network obj-192.168.0.8

nat (inside,outside) static 59.57.254.43 dns

3、应用规则到外部接口,如:

access-group pub-server in interface outside

到此网络和服务发布部份完成,下面开始建立site-to-site的VPN和启用webvpn。

四、配置site-to-site的VPN,共有两个阶段,如如下图

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

VPN对端的IP地址段为192.168.8.0/255.255.248.0 也就是8-10网段

1、设置ACL允许本地子网络访问到对端的子网

access-list REMOTE-VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.8.0 255.255.248.0

access-list REMOTE-VPN extended permit ip 192.168.1.0 255.255.255.0 192.168.8.0 255.255.248.0

access-list REMOTE-VPN extended permit ip 192.168.2.0 255.255.255.0 192.168.8.0 255.255.248.0

access-list REMOTE-VPN extended permit ip 192.168.3.0 255.255.255.0 192.168.8.0 255.255.248.0

access-list REMOTE-VPN extended permit ip 192.168.4.0 255.255.255.0 192.168.8.0 255.255.248.0

access-list REMOTE-VPN extended permit ip 192.168.5.0 255.255.255.0 192.168.8.0 255.255.248.0

access-list REMOTE-VPN extended permit ip 192.168.6.0 255.255.255.0 192.168.8.0 255.255.248.0

2、设置ISAKMP,此为第一阶段的设置内容。

/*使用ip地址的方式*/

crypto isakmp identity address

/*应用到接口IP地址*/

crypto isakmp enable outside

/*建立一个编号为10的isakmp策略,多个的话则编号不一样即可*/

crypto isakmp policy 10

authentication pre-share  /*采用预共享密码与对端连接,这个密码必须两台设置设置为一样的才行*/

encryption des         /* 第一阶段的加密码方法

hash md5            

group 2              /*加密强度,需要消耗CPU资源,一般DH为group2,1024位。

lifetime 86400

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

以下为第二个阶段的配置

3、设置转换集/*注因为我设置VPN的时候还未升级为K9所以只能使用des加密码方法,这些设置必须和对端口的设置一样。见上图的第二阶段。

crypto ipsec transform-set FirstSet esp-des esp-md5-hmac

4、设置crypto加密图,作用是进一步设置VPN信息及把之前的第一、二阶段应用到接口上。

/*建一个名叫cisco 编号为20的匹配acl叫REMOTE-VPN的加密图。

crypto map cisco 20 match address REMOTE-VPN

/* IP地址为VPN对端的外部IP地址*/

crypto map cisco 20 set peer 58.60.x.x

/*第一阶段已经应用到outside接口上了,所以这里只设置第二阶段的转换集。

crypto map cisco 20 set transform-set FirstSet

crypto map cisco 20 set security-association lifetime seconds 28800

crypto map cisco 20 set security-association lifetime kilobytes 4608000

/*应用加密码图到外部接口*/

crypto map cisco interface outside

5、设置通道组

tunnel-group 58.60.xx.xx type ipsec-l2l              /*这个通道是site-to-site的VPN

tunnel-group 58.60.xx.xx ipsec-attributes            /*设置这个通道的属性并把share-key设置为 xxxx(两边要一样)

pre-shared-key *****

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

五、设置IPSEC remote VPN.

1、设置远程VPN的DHCP地址池,为远程用户分配IP地址。

ip local pool ssl-vpn 10.10.10.1-10.10.10.200 mask 255.255.255.0

2、设置isakmp的策略编号为30

crypto isakmp policy 30

authentication pre-share   /*密码(匙)*/

encryption 3des

hash sha

group 2

lifetime 86400

3、设置转换集。因为这里我采用的是ASDM的精灵模式建的,所以选择了很多的加密码方法,造成自动生成的转换集有很多,你可以根据你的情况或只选择其一使用也可以。

crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac

crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac

crypto ipsec transform-set ESP-DES-SHA esp-des esp-sha-hmac

crypto ipsec transform-set ESP-DES-MD5 esp-des esp-md5-hmac

crypto ipsec transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac

crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac

crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac

crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac

crypto ipsec transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac

crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac

4、因为VPN用户的IP地址是动态IP地址,所以这里设置动态加密图,名字也是系统自动建立的,您可以改。注意这里的编号要一致。

crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set pfs group1 /*加密的长度*/

/*使用转换集,需要使用多少个就写多少个,只使用1个就写1个,如果只有一个的话需要告知用户你使用的加密协议,对方才能连接上来,安全但没有全部写完灵活*/

crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set transform-set ESP-AES-128-SHA ESP-AES-128-MD5 ESP-AES-192-SHA ESP-AES-192-MD5 ESP-AES-256-SHA ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5

crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set security-association lifetime seconds 28800

crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set security-association life

5、把动态加密图映射到cisco 编号为65535.因为之前已经把cisco这个加密图应用到接口上去了,所以这里不需要在再应用,这里也要注意一个接口只能应用一个加密码图,所以cisco名字必须前后对应。

crypto map cisco 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP

6、配置通道分离及自定义策略名叫group-vpn的组策略

access-list split-ssl standard permit 192.168.0.0 255.255.255.0

access-list split-ssl standard permit 192.168.1.0 255.255.255.0

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

group-policy group-vpn internal

group-policy group-vpn attributes

dns-server value 192.168.0.13

vpn-tunnel-protocol IPSec svc webvpn   //这个通道可以使用svc\webvpn和ipsecVPN三个方式

split-tunnel-policy tunnelspecified      //通道分离,允许远程用户在VPN的同时可以访问自已的内部网络

split-tunnel-network-list value split-ssl

7、定义通道组

tunnel-group group-vpn type remote-access    //group-vpn这个组是远程访问的类型

tunnel-group group-vpn general-attributes     //设置属生

address-pool ssl-vpn                     //使用的IP地址池

default-group-policy group-vpn

tunnel-group group-vpn ipsec-attributes       //如果通道使用了ipsec则它的属性pre-shared-key的配置。

pre-shared-key *****

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

8、增加用户test及密码。

username test password asdfsdafasdfsdf  encrypted privilege 0

username test attributes                  //配置test用户的属性

vpn-group-policy group-vpn             //test这个用户加入到group-vpn这个组并继承它的属性。

vpn-tunnel-protocol IPSec svc webvpn    //可设、可不设置。不设则继承,否则以此定义的为主。

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

六、配置SSLVPN

1、增加ACL允许本地子网的那些主机(网络能与远程通讯,我这里只允许0和1网段,因为这两个网段都分配为服务器,远程用户需要访问)。

/*允许本地IP 0.0段与1.0段访问远程VPN客户机*/

access-list REMOTE-VPN extended permit ip 192.168.0.0 255.255.255.0 10.10.10.0 255.255.255.0

access-list REMOTE-VPN extended permit ip 10.10.10.0 255.255.255.0 192.168.0.0 255.255.255.0

/*DM_INLINE_NETWORK 这个服务组包含有ping和tracert协议,根据您的情况决定是否需要*/

/*方法如下:

object-group service DM_INLINE_SERVICE_1

service-object icmp                //ping

service-object icmp traceroute       //tracert

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

*/

access-list REMOTE-VPN extended permit ip object-group DM_INLINE_NETWORK_1 10.10.10.0 255.255.255.0

access-list REMOTE-VPN extended permit ip 10.10.10.0 255.255.255.0 192.168.1.0 255.255.255.0

access-list REMOTE-VPN extended permit ip 192.168.1.0 255.255.255.0 10.10.10.0 255.255.255.0

2、启用webvpn

webvpn

enable outside

svc image disk0:/anyconnect-dart-win-2.4.1012-k9.pkg 1                  //使用anyconnect的服务器端win系统

svc image disk0:/anyconnect-linux-2.4.1012-k9.pkg 2 regex "Linux"  // Linux系统

svc enable                                                                                  //启用

tunnel-group-list enable                                                              // 启用登录时可以选择组名。

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

3、设置名叫:MYSSLVPN-GROUP-POLICY ,它为SSL-VPN通道组要使用的策略

group-policy mysslvpn-group-policy internal

group-policy mysslvpn-group-policy attributes

vpn-tunnel-protocol svc                           //这个通道组使用svc协议【anyconnect】,以用户组的优先。

split-tunnel-policy tunnelspecified              //通道分离,使用VPN用户能同时访问本地子网。

split-tunnel-network-list value split-ssl

webvpn

  svc keep-installer installed

  svc rekey time 30

  svc rekey method ssl

  svc ask none default svc

4、增加通道组的共有属性

tunnel-group mysslvpn-group type remote-access    //访问类型为远程访问

tunnel-group mysslvpn-group general-attributes     //组的属生

address-pool ssl-vpn                          //使用的地址池

default-group-policy mysslvpn-group-policy      //默认使用的通道组使用的策略

tunnel-group mysslvpn-group webvpn-attributes

group-alias sslvpn-group enable                 //组的另外,会显示在用户界面上,可不用。默认为group2.

5、增加ACL限制test01这个用户只能访问特定的服务器。

/*设置远端用户只能访问1.1和1.22这两个IP地址,如果需要PING通,则还需要单独定义允许PING的ACL.

access-list acl-vpn-user extended permit ip 10.10.10.0 255.255.255.0 host 192.168.1.1

access-list acl-vpn-user extended permit ip 10.10.10.0 255.255.255.0 host 192.168.1.22

//允许ping

access-list acl-in-out extended permit icmp 192.168.1.0 255.255.255.0 10.10.10.0 255.255.255.0

6、增加用户并设置权限

username test01 password afadsfsdfasdfsadf  encrypted //afasdfsdf这个为保存的加密码后的密码,自定时为明文

username test01 attributes                                          //test01这个用户的属性

vpn-group-policy mysslvpn-group-policy                      //test01这个用户使用mysslvpn-group-policy的组策略

vpn-idle-timeout 30

vpn-filter value acl-vpn-user                                     //限制用户能访问服务端的资源。

全文完。

作者:邓卫华 2010.10.23  http://dengweihua1.blog.51cto.com

相关阅读 更多 +
排行榜 更多 +
幸存者的命运

幸存者的命运

飞行射击 下载
精英战区3d

精英战区3d

飞行射击 下载
货运猎人

货运猎人

飞行射击 下载