- 启用isakmp :在终结×××隧道的接口上启用isakmp 。crypto isakmp enable outside
- 创建isakmp策略:创建第一阶段的策略,该策略要与×××客户端的第一阶段的策略相匹配(客户端的策略在那看)
- 建立隧道和组策略:当ASA将网络和安全策略推送到客户端的时候,它使用了一个继承模型,使用这个模型,可以在三个地方配置策略
- 默认组策略
- 分配给用户的组策略
- 用户下
- 继承关系:用户从分配给用户的组策略继承属性和策略。分配给用户的组策略从默认组策略那里继承属性和策略
- 定义好策略后,必须将它们与隧道组相绑定。
- 通过这种方式,***的客户对应了隧道组,隧道组对应策略,那么客户也就找到属性和策略了。
- 定义ipsec策略:配置一个ipsec转换集,默认为隧道模式
- 配置用户认证:本实例送往3A radius做认证
- 分配ip地址:定义好地址池后,将地址池映射到用户组策略
- 创建加密映射集:software client 肯定是动态的公网ip地址。所以在ez***的server上要创建动态的map
- 将转换集分配到动态map 上:crypto dynamic-map ez***-dymap 65535 set transform-set trans
- 注:可以配置动态map的多个属性,比如NAT-T的关闭,PFS,RRI等。
- 比如crypto dynamic-map ez***-dymap 65535 set pfs (option)
- 静态map调用动态map:crypto map outside-map 65535 ipsec-isakmp dynamic ez***-dymap
- 将静态map 调用到外部接口:crypto map outside-map interface Outside
- 因为客户端是pat后过来的,有nat穿越问题存在,而默认ASA是关闭的,路由器是开启的
- ASA模拟公司环境,可以上网,那么client拨进来后使用的源地址为111,目的地址为10。返回得流量需要做nat 旁路,因为流量是先做nat,后到outside接口
- 客户端测试
- 使用3A认证用户名和密码
- 成功连接上
- 查看sa
- option(关于隧道分割)
- ASA,相同安全级别的一个接口:即same-security :same-security-traffic permit intra-interface
- 还有个问题是outside接口进来,又从outside接口出去
- option(关于sysopt)
- Option (save password)
crypto isakmp policy 100
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
定义一个用户组策略:
group-policy ez***-gp internal
group-policy ez***-gp attributes
***-tunnel-protocol IPSec
定义一个隧道组:也称为连接配置文件,用于将分配的属性映射给用户
tunnel-group ez***-tp type remote-access
tunnel-group ez***-tp general-attributes
default-group-policy ez***-gp
tunnel-group ez***-tp ipsec-attributes
pre-shared-key cisco123
crypto ipsec transform-set trans esp-3des esp-md5-hmac
aaa-server 3A protocol radius
aaa-server 3A host 10.1.1.241
key cisco123
测试:
TESt aaa authentication 3A host 10.1.1.241 username user1 password cisco
INFO: Attempting Authentication test to IP address <10.1.1.241> (timeout: 12 seconds)
INFO: Authentication Successful
tunnel-group ez***-tp general-attributes
authentication-server-group 3A
一种是本地地址池
DHCP服务器
Radius 服务器
ip local pool ez***-pool 111.1.1.111-111.1.1.222
tunnel-group ez***-tp general-attributes
address-pool ez***-pool
开启NAT-T crypto isakmp nat-traversal
正常上网的NAT:
nat (Inside) 1 10.1.1.0 255.255.255.0
ASA(config)# sh run gl
ASA(config)# sh run global
global (Outside) 1 interface
access-list nonat extended permit ip 10.1.1.0 255.255.255.0 111.1.1.0 255.255.255.0
nat (Inside) 0 access-list nonat
ASA(config-group-policy)# sh crypto ipsec sa
interface: Outside
Crypto map tag: ez***-dymap, seq num: 65535, local addr: 202.100.1.10
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (111.1.1.111/255.255.255.255/0/0)
current_peer: 202.100.1.1, username: user1
dynamic allocated peer ip: 111.1.1.111
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 30, #pkts decrypt: 30, #pkts verify: 30
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 202.100.1.10/4500, remote crypto endpt.: 202.100.1.1/1279
path mtu 1500, ipsec overhead 66, media mtu 1500
current outbound spi: 55257B98
inbound esp sas:
spi: 0xC0A4F656 (3232036438)
transform: esp-3des esp-md5-hmac none
in use settings ={RA, Tunnel, NAT-T-Encaps, }
slot: 0, conn_id: 20480, crypto-map: ez***-dymap
sa timing: remaining key lifetime (sec): 28601
IV size: 8 bytes
replay detection support: Y
outbound esp sas:
spi: 0x55257B98 (1428519832)
transform: esp-3des esp-md5-hmac none
in use settings ={RA, Tunnel, NAT-T-Encaps, }
slot: 0, conn_id: 20480, crypto-map: ez***-dymap
sa timing: remaining key lifetime (sec): 28601
IV size: 8 bytes
replay detection support: Y
大体有两种需求
默认***的 client 是加密所有去往目的流量。意味着如果此时上网的流量也会被加密送往ASA.
C:\>route print
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 111.0.0.1 111.1.1.111 1
第一种方案是隧道分割,ASA会告诉客户端安全的子网是要加密的,此外去往其它目的不需要加密
access-list split-tunnel extended permit ip 10.1.1.0 255.255.255.0 any
group-policy ez***-gp attributes
split-tunnel-policy tunnelspecified
split-tunnel-network-list value split-tunnel
C:\>route print
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.10 192.168.1.100 10
10.1.1.0 255.255.255.0 111.0.0.1 111.1.1.111 1
111.0.0.0 255.0.0.0 111.1.1.111 111.1.1.111 10
还有一种需求是要求客户端所有的流量都送往ASA,即使是上公网也要从ASA走。
问题分析:
nat (Outside) 1 111.1.1.0 255.255.255.0
global (Outside) 1 interface 这个在之前已经调用了
System option 即sysopt connection permit-***
默认情况下,安全设备允许所有IPSEC流量穿越接口ACL,即使在outside接口上并不允许放行加密流量
如果改变成no sysopt connection permit-***
就需要ACL放行×××流量
access-list outside-in extended permit ip 111.1.1.0 255.255.255.0 10.1.1.0 255.255.255.0
access-group outside-in in interface Outside
此时问题会很多,比如我们没做隧道分割,而使用的nat globa的解决方案。此时上网流量就受到影响
列表这样写就可以解决问题:
access-list outside-in extended permit ip 111.1.1.0 255.255.255.0 any
ASA(config-pmap-c)# sh xlate
1 in use, 2 most used
PAT Global 202.100.1.10(1026) Local 111.1.1.111(1337)
ASA(config-pmap-c)# sh conn
2 in use, 9 most used
TCP out 202.100.1.10(111.1.1.111):1337 in 202.100.1.1:23 idle 0:00:08 bytes 61 flags UIOB
如果不禁用sysopt,但是仍然希望过滤***流量:
可以在组策略里面调用一个ACL,达到流量过滤:即只允许***地址池到内部流量通过
access-list traffic-filter extended permit ip 111.1.1.0 255.255.255.0 10.1.1.0 255.255.255.0
group-policy ez***-gp attributes
***-filter value traffic-filter
此时如果不使用隧道分割,到达公网就会产生影响。
group-policy ez***-gp attributes
password-storage enable