- GRE没有去往对端公网IP路由
- keepalive只支持GRE,不支持MGRE,默认10s发一个
- logging monitor
- terminal monitor(永不保存)
- logging console随手打上日志
- ipsec只支持ipv4单播
VPN:企业级别,不需要花钱
MPLS VPN :运营商级别,需要花钱
telnet抓包可以看到访问者对自己做的所有操作
对称:私钥算法,加密和解密都是使用这个密钥,一旦丢了,数据不安全,3次DES算法,加密大量数据很快
非对称:公钥算法,生成公钥和私钥,公钥加密,私钥课解开,私钥加密,只能成对的公钥解开rsa(缺点慢)
作用:给数字证书加密
对称加密算法:
des:40bit
3des:168bit
aes:128bit
非对称算法:
迪福赫尔曼算法:生成密钥(group1(768bit),group2(1024bit),group5)
RSA:不可逆
hash:不能反运算,防止:将data+对称密钥用hash加密,对端也将收到data+对称密钥hash比较(md5,SHA)
-
A使用对称加密生产key
-
Akey+data算法生成数据
-
B使用key解密
-
(问题)A怎么将key传递B?
-
B用非对称加密生成publickey和privatekey
-
B将publickey传给A(黑客也会得到publickey)
-
A将publickey加密key后发给B(黑客回截到加密后数据,但是没有publickey无法解开)
-
B用privatekey解密得到key
-
此时用key加密数据data发送就算被截获也不会被解开
-
(问题)黑客虽不能解开但是可以串改数据
• 哈希校验和防串改
• 如果B发送数据给A借钱,过后不认账?
- B将data+对称密钥哈希后通过privatekey加密,生成signature
- 将data+signature通过key加密送给A
- A通过key解密,再通过publickey解密得到哈希后data
- 再将data哈希得到的值和data对比
• 如果黑客模拟B生成publickey和privatekey给A发数据?
- 找到公安局用B的publickey用公安局privatekey生成数字证书
- B发送数据时带着signature和证书
- A拿着证书去公安局请求用公安局publickey解开得到B的publickey
- 看从公安局拿到的publickey能否解开signature
- 若能解开证明是B没错,再看哈希后的数据对比是否被篡改
- RA作为代理帮助收集用户公钥和所有信息发给CA,CA生成证书
https数字签名+公安局证书,防止第三者将公钥,私钥串改
• 哈希算法,校验和
• 数字签名,确认是bob发的
• 数字证书,到公安局确认bob身份
• key加密
• 随机数短信
• 防止重放攻击:随机数避免,即使密码一样,但是随机数还是原来的(可能被截获)也不会认证通过
- 客户端向server发送request请求认证
- server回复随机数
- 客户端用认证密码+key+随机数生成的内容发给server
- (黑客)截获3生成的内容,发给server
- server用key解开得到认证密码和随机数,发现随机数还是上次的,验证不通过
VPN:隧道+安全,GRE隧道是明文传输的
IPSec:框架,里面的组件可以实现安全,
• 安全联盟SA=规则(2条):IKESA和ipsec SA,需要手动输入
• SA生存周期(类似更改密码保证安全)
默认在到期之前隐含建一条,以在续期后平滑过度
生存周期长,越不安全,节省资源
生存时间越短,越安全,消耗资源
• 转换集:算法保证安全
• 感兴趣流:定义哪些数据需要被保护
• 安全策略:真正应用的安全策略
组件(协议):2个SA
1. IKE:保证密钥交换安全,混合协议(UDT,source-port:500,destination-port:500)
v1:理论复杂,配置简单
v2:理论简单,配置复杂
2. ESP:保证数据安全,一种封装方式(50)3des
优点:加密,公安局,哈希
3. AH:认证头,一种封装方式,不能保证安全(IP之上51)
缺点:未对数据进行加密
IKE有3种认证:pre-share,RSA,
两种工作mode
1. 传输:无法形成vpn,封装ipsec头部(50,51可选)没有隧道(没有类似GRE头封装)
2. 隧道:自带隧道,IPsec保证安全=vpn,不能启协议
认证:签名
密钥算法:赫尔曼
hash算法
对称算法
1. phase1:上述4个,密钥认证,主模式:l2l,积极模式:reemote-access
会将所有policy发送过来,选择一个进行认证
2. 发送密钥材料:DH算法生成公共值+pre-key,相互发随机数,生成密钥
3. pre身份认证(key老地方)
• 触发协商phase1:只有感兴趣流经过时acl(ping)
• ping会丢一个包,不是因为ARP而是因为需要协商
clear crypto isakmp(1)清理第一阶段SA,不会重新协商,第2条SA仍在,不会丢包
(第一阶段配置错误修改过来后,仍不通,因为没有触发协商,只有clear session后,才会重新触发协商 )
• clear crypto session(local 12.1.1.1 remote 23.1.1.3)清理第2阶段SA,会丢包因为感兴趣流触发协商
1. 开启isakmp:crypto isakmp enable
2. 开启策略(越小越优先):crypto isakmp policy 1(可配置多条,优先级最高的生效,当地一条协商失败,会继续找后续SA)
3. 封装esp算法:encryption 3des
4. 哈希算法:hash md5
5. 签名:authentication pre-share(以上仅保证数据安全)(pre-share两个人约定老地方见,结果一个人没出现,证明此人不是A)
6. key安全算法:group 2
7. SA寿命:life-time 86400(默认一天)
8. 配置pre-share密钥:crypto isakmp key cisco address 目的公网IP(key是pre-share约定的老地方,目的IP代表只有该IP地址给我提供的key值和我的key值一样我才认)不支持vrf(phase3)
到此第一条SA相关配置完毕,保证密钥安全(isakmp=ike)
第2条SA保证数据安全(转换集)
1. ACL把要保护的数据抓取,也叫感兴趣流 允许两个私网IP抓取(不允许用any)
ip access-list extended ccie
permit ip 源私网IP 目的私网IP
2. 转换集:crypto ipsec transform-set ccie2 esp-3des esp-md5-hmac
3. 修改模式:mode transport(可以不写,默认就是隧道模式)
4. 静态安全策略:crypto map gou 1 ipsec-isakmp(此处的号跟policy的1没有任何关系)
5. 指定策略要保护的流量:match address ccie
6. 设置转换集:set transform-set ccie2
7. 设置邻居:set peer 23.1.1.3(公网IP)
调用策略
(接口下)encrypto map gou(策略名两端可以不一样)
#####动态VPN######################自在hub上配置一次即可,spoke上配值多次,建一个分布就需要加配置
动态l2l:hub有固定IP
(hub不需要感兴趣流)
• 定义标识符:
r1(config)#crypto keyring ccna
r1(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key 123
• 引入第一阶段配置文件:
r1(config)#crypto isakmp profile ccnp
r1(conf-isa-prof)#keyring ccna
r1(conf-isa-prof)#match identity address 0.0.0.0(谁都可以跟我协商)
• 动态map:
r1(config)#crypto dynamic-map cisco 1
r1(config-crypto-map)#set isakmp-profile ccnp
r1(config-crypto-map)#set transform-set ccie
• 关联
r1(config)#crypto map l2l 1 ipsec-isakmp dynamic cisco(静态不能直接调用第一阶段profile)
(接口下)crypto map l2l
###########此时在接口下配置######################
第2阶段配置文件:
crypto ipsec profile ccie
set isakmp-profile ccnp(引入第一阶段配置文件)
set transform ccie
tunnel口下调用:
(接口)tunnel protection ipsec profile l2l
• 此时从总部无法ping其他分部,因为没有感兴趣流,只有分布主动发起感兴趣流激活才能协商
• 如果分部有多个网段仍需要写多条感兴趣流,因为tunnel vpn只支持单播,不能运行IGP协议,所以需要借助GRE
DMVPN :分部之间可以自己建隧道
EIGRP:单播,组播
BMA:有几个点只发一份,NBMA:有几个点发几份,不具备广播功能
MGRE:类似NBMA,总比和分布在一个网段
hub端 p2mp默认hello是30s,维护数据库,记录spoke的公网IP地址
NHRP:一分部向总部发送,解析到另一分部公网IP地址,实现两个分部建隧道,当有流量触发
每个spoke在启动时,将自己的IP地址注册在hub
hub
int tunnel 1
ip add 1.1.1.1 255.255.255.0
mode gre multiple
ip nhrp network-id 1(进程号)
ip nhrp map multicast dynamic(动态获取spoke端IP地址)
EIGRP
两个分布直接建立隧道:no ip next-hop-self eigrp 100
下一跳问题
在hub端:ip nhrp redirect
在spoke端:ip nhrp shortcut
OSPF
hub默认是点到点,需要改成10s建邻居
ip ospf network p-2-mp
ip hello-interval 10
(查看nhrp表)show ip nhrp br
• ospf无法建立邻居,因为时nbma网络,不是广播,无法发hello包
• EIGRP有水平分割问题:no ip split-horizon eigrp 100
spoke
tunnel source e0/0
ip address 1.1.1.2 255.255.255.0
mode gre multipoint
ip nhrp network-id 1
ip nhrp map 1.1.1.1 15.1.1.1(手动写一条映射告诉hub)
ip nhrp nhs 1.1.1.1(去服务器注册)
ip nhrp map multicast 15.1.1.1(承载组播报文)
//tunnel key 12345
// ip nhrp authentication cisco
hub:
spoke: