【38】实施华为设备上的IPSEC VPN(2020.0309)

  1. 基本的模式:
    1.1 隧道模式,IPSec会另外生成一个新的IP报头,并封装在AH或ESP之前
    IPSecVPN隧道模式
    1.2 传输模式,AH或ESP报头位于IP报头和传输层报头之间
    IPSecVPN传输模式
  2. 架构:
    IPSec不是一个单独的协议,它通过AH(基本不用)和ESP这两个安全协议来实现IP数据包的安全传送。
    IKE协议提供密钥协商,建立和维护安全联盟SA等服务。
  3. 安全联盟SA:
    安全联盟定义了IPSec对等体间将使用的数据封装模式、认证和加密算法、密钥等参数。
    安全联盟是单向的,两个对等体之间的双向通信,至少需要两个SA。
  4. 建立SA的方式(两种):
    4.1 手工方式:安全联盟所需的全部信息都必须手工配置。手工方式建立安全联盟比较复杂,但优点是可以不依赖IKE而单独实现IPSec功能。当对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。
    4.2 IKE动态协商方式:只需要通信对等体间配置好IKE协商参数,由IKE自动协商来创建和维护SA。动态协商方式建立安全联盟相对简单些。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA。
  5. 配置步骤
    5.1 具体步骤:
    配置网络可达(路由) --> 配置ACL识别兴趣流(仅VPN流量) --> 创建安全提议(加密算法、认证、完整性校验等,两端策略必须相同)--> 创建安全策略(对用户流量处理) --> 应用安全策略
    5.2 加解密点(PC8<-->AR3):a.到达对端加解密点(直连);b.到达本端的通信点(直连);c.到达对端的通信点(静态默认路由)
    5.3 IPSec的SPD(安全策略选择器,即acl)、提议(proposal)、IPSec策略
# >>>>>>>>>>配置隧道模式
#### 配置路由
# AR2
int g0/0/1
ip address 10.1.2.254 24
ip route-static 0.0.0.0 0.0.0.0 202.100.1.254
# AR3:配置IP
int g0/0/0
ip address 10.1.1.250 24
# 使用pc8测试
ping 10.1.1.250

#### 配置acl
# AR1
acl 3000
description vpn
rule 10 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
q
# AR2
acl 3000
description vpn
rule 5 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
q

#### 配置提议
# AR1
ipsec proposal hcia
esp authentication-algorithm sha1  # 认证算法
esp encryption-algorithm des # 加密算法
# AR2,配置必须与AR1相同
ipsec proposal hcia
esp authentication-algorithm sha1
esp encryption-algorithm des
# 查看配置
dis ipsec proposal

# 配置策略
# AR1
ipsec policy hcia-vpn 10  manual   # 序列号为10,这个只需要AR1和AR2保持一致即可
security acl 3000
proposal hcia
tunnel remote 202.100.1.1
tunnel local 202.100.1.254
sa spi inbound esp 54321
sa spi outbound esp 12345
sa string-key outbound esp simple huawei
sa string-key inbound esp simple huawei
# AR2
ipsec policy hcia-vpn 10  manual
security acl 3000
proposal hcia
tunnel remote 202.100.1.254
tunnel local 202.100.1.1
sa spi inbound esp 12345
sa spi outbound esp 54321
sa string-key outbound esp simple huawei
sa string-key inbound esp simple huawei

# 出接口应用
# AR1,如果是虚拟接口,则需要在虚拟接口上使用
int g0/0/0 
ipsec policy hcia-vpn
# AR2
int g0/0/0 
ipsec policy hcia-vpn

# 测试
# 使用pc8 ping10.1.1.250 ,在AR2的g0/0/0上抓包
dis ipsec sa  # 查看ipsec策略情况
dis ipsec statistics esp  # 查看项“Outpacket count”,不断地ping,此值不断增加