配置步骤:
1.
启用isakmp
在配置ike 阶段1时,首先要在终结×××隧道的接口上启用isakmp,一般在面向Internet的接口或外部接口上启用。若接口上没有启用isakmp,那么安全设备则不会监听该接口上的isakmp流量(udp端口500)。
cisco(config)#crypto isakmp enable outside
|
建立isakmp策略
在接口上启用isakmp后,应建立与×××链接的另外一端相匹配的阶段1策略。阶段1将协商加密和其余参数,这些参数用于验证对等体并创建一个安全通道,两个×××对等体会使用该通道进行通讯。
cisco(config)#crypto isakmp policy 1
|
cisco(config-isakmp-policy)#authentication pre-share
|
cisco(config-isakmp-policy)#encryption aes-256
|
cisco(config-isakmp-policy)#hash sha
|
cisco(config-isakmp-policy)#group 2
|
cisco(config-isakmp-policy)#lifetime 86400
|
2.
定义隧道组
隧道组也成为链接配置文件。它定义了一个站点到站点隧道或远程访问隧道,并用来映射分配给指定IPSec对等体的属性。对于站点到站点之间的IPSec隧道来讲,应该使用远端×××设备的IP地址做为隧道组的名称。对于那些IP地址没有被定义为隧道组的IPSec设备来讲,若两个设备的预共享密钥相匹配,那么安全设备就会尝试将远端设备映射到DefaultL2LGroup的默认站点到站点组中。
cisco(config)#tunnel-group 209.165.201.1
[秦楼客1]
type ipsec-l2l
|
cisco(config)#tunnel-group 209.165.201.1 ipsec-attributes
|
cisco(config-tunnel-ipsec)#pre-shared-key cisco123
|
3.
定义IPSec策略
在成功创建了一个安全链接后,IPSec转换集就会开始定义用于传输数据包的加密类型和散列算法类型。它提供了数据认证、机密性和完整性的功能。
cisco(config)#crypto ipsec transform-set NY-AES256SHA
[秦楼客2]
esp-aes-256
[秦楼客3]
esp-sha-hmac
[秦楼客4]
|
4.
配置加密映射集(crypto map)
完成阶段1策略和阶段2策略的配置后,应建立加密映射集(crypto map),以便将策略应用到静态站点到站点的IPSec链接。一个加密映射集的完整配置应包含如下3个参数:
1)
至少一个转换集
2)
至少一个×××对等体
3)
一条加密ACL
加密映射集使用优先级号码来定义IPSec实例。在每一个接口上,只能应用一个加密映射集。若是须要配置多条站点到站点的隧道,就必须在相同的加密映射集中使用不一样的优先级号码。cisco asa首先将检查优先级号码最低的练级,也就是优先级为1的练级,最后检查优先级为65535的链接。
cisco(config)#access-list outside_crypto_10 remark acl to encrypto traffic from Chicago to NY
|
cisco(config)#access-list outside_crypto_10 extended permit ip 192.168.1.0 255.255.255.0 10.10.1.0 255.255.255.0
|
cisco(config)#crypto map outside_map 10 match address outside_crypto_10
|
cisco(config)#crypto map outside_map 10 set peer 209.165.201.1
|
cisco(config)#crypto map outside_map 10 set transform-set NY-AES256SHA
|
cisco(config)#crypto map outside_map 10 interface outside
|
5.
配置流量过滤器(可选)
默认状况下,安全设备容许来自远端×××网络到其内部网络的全部链接,而不须要ACL明确地放行。这也意味着即便外部接口的入向ACL拒绝来自这些加密的流量,安全设备仍然会放行。若要对该部分流量进行过滤,必须改变这一默认行为。
cisco(config)#access-list outside_acl extended permit tcp host 10.10.1.10 host 192.168.1.10 eq 23
|
cisco(config)#access-group outside_acl in interface outside
|
cisco(config)#no sysopt connection permit-***
[秦楼客5]
|
6.
绕过NAT转换(可选)
在大多数状况下,管理员不但愿为穿越隧道的流量执行IP地址转换。若管理员在安全设备上配置了NAT,用来为非×××流量实施源或目的的IP地址转换,则能够为穿越×××隧道的流量创建NAT豁免规则。若未定义NAT豁免策略,而且为×××流量使用了NAT,则加密ACL应与NAT转换后的(或全局)IP地址相匹配。
cisco(config)#access-list inside_nat0_outbound remark NAT Exempt Policy for IPSec Encrytion
|
cisco(config)#access-list inside_nat0_outbound extended permit ip 192.168.1. 255.255.255.0 10.10.1.0 255.255.255.0
|
cisco(config)#nat (inside) 0 access-list inside_nat0_outbound
|
IPSec高级配置:
1.
IPSec上的OSPF更新
OSPF使用多播与其邻居进行通讯。而后,IPSec不容许封装多播流量。在cisco asa中,咱们能够经过静态地定义邻居来解决这个问题。
cisco(config)#interface GigabitEthernet0/0
|
cisco(config-if)#nameif outside
|
cisco(config-if)#security-level 0
|
cisco(config-if)#ip address 209.165.200.225 255.255.255.224
|
cisco(config-if)#ospf network point-to-point non-broadcast
|
cisco(config)#router opsf 100
|
cisco(config-router)#network 209.165.200.255 255.255.255.255 area 0
|
csico(config-router)#neighbor 209.165.202.1 interface outside
|
2.
反向路由注入
反向路由注入(RRI)是一种利用路由协议,将远端网络信息发布到本地网络的技术。经过使用RRI,cisco asa能够自动将穿越隧道的远端私有网络以静态路由的方式添加到其路由表中,而后使用OSPF将这些路由信息宣告给本地私有网络的邻居。
cisco(config)#crypto map outside_acrypto_10 10 set reverse-route
|
3.
NAT穿越(NAT-T)
默认状况下,IPSec设备使用ESP协议,该协议不携带任何第4层信息。若是两个对等体之间存在PAT设备,则IPSec没法传输流量。NAT-T可解决这个问,但两端设备必须知足一下条件:
a.
两边的×××设备都能支持NAT-T
b.
×××对等体之间存在NAT或PAT设备
若同时符合以上条件,×××对等体会使用ISAKMP(UDP端口500)开始他们之间的通讯。一旦检测到NAT或PAT设备,将立刻切换为使用UDP端口4500来完成接下来的协商。
在默认状况下,安全设备上的NAT-T是全局启用的。在不少状况下,若UDP端口4500上的NAT-T封装链接上没有活动的流量,NAT/PAT设备就会将该链接设为超时链接。所以这里使用了一种NAT-T的存活机制,这样安全设备就能够周期性地发送存活消息,以防止中间设备上出现链接超时。默认的存活机制是20秒,范围是10-3600秒。
cisco(config)#crypto isakmp nat-traversal 30
[秦楼客6]
|
cisco(config)#crypto map outside_map 10 set nat-t-disable
[秦楼客7]
|
4.
隧道默认网关
若是管理员不但愿在cisco asa上定义去往内部网络的路由,但但愿将被封装的流量路由到内部路由器,那么在这种状况下能够使用隧道的默认网关来解决该问题。隧道默认网关通常状况下是内部路由器的IP地址或任意第三层设备的IP地址。
隧道默认网关存在如下限制:
a.
不能再隧道化路由的出站口启用单播RPF特性
b.
不能再隧道化路由的出站接口启用TCP拦截特性
c.
许多VoIP引擎、DNS检测引擎和DEC RPC检测引擎会忽略隧道化路由
d.
仅能够使用tunneled选项定义一条默认路由
cisco(config)#route inside 0.0.0.0 0.0.0.0 192.168.1.2 tunneled
|