本章记录一个关于 eNSP 中 IPSec VPN 实验参考
# 拓扑图与要求
# 参考配置
# IP 配置参考:
R1 | |
-------------------------- | |
sys | |
sys R1 | |
un in en | |
int g1/0/0 | |
ip add 202.138.163.1 24 | |
int g2/0/0 | |
ip add 10.1.1.1 24 | |
----------------------- | |
R2 | |
-------------- | |
sys | |
sys R2 | |
un in en | |
int g1/0/0 | |
ip add 202.138.162.1 24 | |
int g2/0/0 | |
ip add 10.1.2.1 24 | |
----------------- | |
internet | |
--------------------- | |
sys | |
sys Internet | |
un in en | |
int g0/0/0 | |
ip add 202.138.163.2 24 | |
int g0/0/1 | |
ip add 202.138.162.2 24 | |
int lo1 | |
ip add 1.1.1.1 24 |
# 静态路由全网互通
R1 | |
----- | |
ip route-static 0.0.0.0 0.0.0.0 g1/0/0 202.138.163.2 | |
------------------------ | |
R2 | |
----- | |
ip route-static 0.0.0.0 0.0.0.0 g1/0/0 202.138.162.2 |
# 配置 NAT
R1:
acl num 3000 | |
rule 20 permit ip source 10.1.1.0 0.0.0.255 | |
int g1/0/0 | |
nat outbound 3000 |
R2:
acl num 3000 | |
rule 20 permit ip source 10.1.2.0 0.0.0.255 | |
int g1/0/0 | |
nat outbound 3000 |
# 配置 ACL 定义需 IPSec 保护的数据流
定义由子网 10.1.1.0/24 去子网 10.1.2.0/24 的数据流。同时在 NAT 里把 VPN 流量排除
其实我测试的时候,nat 压根没生效
R1:
acl num 3101 | |
rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255 | |
//定义10.1.1.0允许到达10.1.2.0目标网 | |
quit | |
acl num 3000 | |
rule 10 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255 | |
//拒绝指定ip到达目标网 |
同上,不作解释
R2:
acl number 3101 | |
rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 | |
quit | |
acl number 3000 | |
rule 10 deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 |
# 配置 IPSec 安全提议与保护方法
知识点写有解释,这里简单描述,方便理解
R1:
ipesc proposal tran1 //创建安全提议 | |
transform esp //指定安全协议 | |
esp authentication-algorithm sha2-256 //认证 | |
esp encryption-algorithm aes-128 //加密 | |
encapsulation-mode tunnel //设为隧道模式 |
R2:
ipesc proposal tran1 | |
transform esp | |
esp authentication-algorithm sha2-256 | |
esp encryption-algorithm aes-128 | |
encapsulation-mode tunnel |
注意配置时 两端认证与加密类型需一致。
# 配置 IKE 安全提议
具体解释在知识点
R1:
ike proposal 5 /创建一个IKE安全提议,编号9 | |
authentication-method pre-share //认证方法 :预共享密钥 | |
encryption-algorithm aes-cbc-128 //认证算法 | |
authentication-algorithm sha1 //加密算法 | |
dh group5 IKE密钥协商采用1024位的Diffie-Hellman | |
quit | |
ike peer R2 v1 //版本v1,叫R2的ike安全提议 | |
ike-proposal 5 //编号5 | |
pre-shared-key cipher huawei@123 //预分享的密钥值 | |
exchange-mode main //ike主模式 | |
remote-address 202.138.162.1 //协商对端地址 | |
local-address 202.138.163.1 //协商本段地址 |
R2:
ike proposal 5 | |
authentication-method pre-share | |
encryption-algorithm aes-cbc-128 | |
authentication-algorithm sha1 | |
dh group5 | |
quit | |
ike peer R1 v1 | |
ike-proposal 5 | |
pre-shared-key cipher huawei@123 | |
exchange-mode main | |
remote-address 202.138.163.1 | |
local-address 202.138.162.1 |
# 配置安全策略
点击打开官方详细解释
这里简要解释方便理解
R1:
ipsec policy map1 10 isakmp // 创建ISAKMP方式IPSec安全策略 | |
ike-peer R2 //引用IKE对等体 | |
proposal tran1 //引用IPSec安全提议 | |
security acl 3101 //在IPSec安全策略中引用ACL | |
tunnel local 202.138.163.1 //IPSec隧道的本端地址 | |
sa trigger-mode auto //配置IPSec隧道的触发方式为自动 | |
quit |
解释同上
R2:
ipsec policy map1 10 isakmp | |
ike-peer R1 | |
proposal tran1 | |
security acl 3101 | |
tunnel local 202.138.162.1 | |
sa trigger-mode auto | |
quit |
# 应用安全策略
R1:
[R1]interface gigabitethernet 1/0/0 | |
[R1-GigabitEthernet1/0/0]ipsec policy map1 |
R2:
[R2]interface gigabitethernet 1/0/0 | |
[R2-GigabitEthernet1/0/0]ipsec policy map1 |
# 知识点
在实际环境中,公司不同分支之间互联,一般都会使用 ipsec vpn 加密,最常用的加密方式是 ESP
ESP (encapsulution security payload) 封装安全载荷。
点击打开官方实验
点击打开 dh group 对应比特位
点击打开官方详细指导文档
ipsec proposal ipsec /创建一个IPSec安全提议 | |
transform esp /安全协议为ESP协议(缺省值),默认为esp或AH 或 AH-ESP | |
esp authentication-algorithm sha2-256 /配置ESP协议的认证算法 | |
esp encryttion-algorithm aes-256 /配置ESP协议的加密算法 | |
encapsulation-mode tunnel /配置对数据的封闭模式为隧道模式(缺省值) | |
//已经指定了encapsulation-mode tunnel 在display时,却没有看到对应的配置。因为HW默认就是tunnel模式,所以不显示。 | |
//封装模式encapsulation: tunnel (隧道-*默认) trasnport (传输模式) | |
ike peer R2 v1 //版本v1,叫R2的ike安全提议 | |
ike proposal 10 /创建一个的IKE安全提议,编号9 | |
authentication-method pre-share /配置IKE安全提议的认证方法 :预共享密钥 | |
authentication-algorithm sha2-256 /配置IKE安全提议的认证算法 | |
encryption-algorithm aes-256 /配置IKE安全提议的加密算法 | |
dh group2 /配置IKE密钥协商采用1024位的Diffie-Hellman | |
// 对应比特位:https://support.huaweicloud.com/vpn_faq/vpn_08_0223.html | |
sa duration 5657 /配置IKE SA的生存周期:5657 | |
ike peer ipsec /创建IKE对等体 | |
undo version 2 /缺省开启v1和v2版本,默认使用v1,删除v2支持 | |
ike-proposal 10 /引用IKE安全提议 | |
pre-shared-key cipher ipsec /配置预共享密钥的密码 | |
lifetime-notification-message enable /使能发送IKE SA 生存周期时间的通知消息 | |
local-id-type fqdn /配置IKE协商时本端的ID类型为名称形式 | |
local-id l2tp /配置IKE协商时本端ID值为:playplus | |
remote-id-type fqdn /配置IKE协商时对端的ID类型为名称形式 | |
remote-id l2tp /配置IKE协商是对端ID值为:playplus | |
remote-address 202.138.162.1 //配置IKE协商时的本端IP地址 | |
local-address 202.138.163.1 //配置IKE协商时的对端IP地址或域名 | |
exchange-mode aggressive /为IKEv1阶段1协商模式为野蛮模式 | |
///只有IKEv1主模式支持数字信封认证。 | |
/// main 主模式:提供身份保护。 | |
/// aggressive 野蛮模式:协商速度更快,但不提供身份保护。 | |
ipsec policy-template ipsectemplate 100 /配置策略模板名为ipscetemplate,编号为100 | |
route inject dynamic /路由动态注入, | |
proposal ipsec /引用IPSec安全提议:ipsec | |
ike-peer ipsec /引用IKE对等体:ipsec | |
pfs dh-group2 /协商时启用PFS特性,提高通信的安全性 | |
ipsec policy ipsecsecurtiy 10 isakmp template ipsectemplate /创建安全策略编号为10,并引用策略模板。安全策略名:ipsecsecurtiy | |
interface dialer 1 /进入动态域名解析的dialer口 | |
ipsec policy playsecurtiy /引用ipsec安全策略 |
/// 注意
ipsec authentication sha2 compatible enable
/ 开启 SHA-2 算法兼容功能解决,IPSec 隧道两端设备的厂商不同或两端产品的版本不同,由于不同厂商或者不同产品之间加密解密的方式可能不同,会导致 IPSec 流量不通
# 注意
本次实验,nat 未生效,但是排除了 nat 的流量到达
acl num 3000 rule 10 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
最终抓包显示协议为 esp,且源地址与目标地址隐藏。全程走 vpn