IPsec_VPN实现技术【转载】
来源:互联网 发布:mac系统删除照片 编辑:程序博客网 时间:2024/06/07 23:42
GRE Tunnel
GRE Tunnel(General Routing Encapsulation通用路由封装)是一种非常简单的VPN(Virtual Private Network虚拟专用网络),其基本思路是:VPN网关把发往对方的数据包在网络边界重新进行封装,然后通过Internet将数据包发送到目标站点的对等VPN网关,这个过程也就是把一个私网的数据包封装在一个公网的数据包中;对方收到数据包后剥离报头,复原出原来的数据包,然后向其私网内的目标主机传递出数据包;这样私网的数据包就穿过了公网,到达了另一个私网。但是采用GRE TunnelVPN技术的一个重要问题是数据包在Internet上传输是不安全的。
实验
配置IP地址及路由:
R1(config)#ip route 0.0.0.0 0.0.0.0 s0/012.1.1.2 permanent
R2(config)#ip route 34.1.1.0 255.255.255.0s0/1 23.1.1.3
R3(config)#ip route 12.1.1.0 255.255.255.0s0/1 23.1.1.2
R4(config)#ip route 0.0.0.0 0.0.0.0 s0/034.1.1.3 permanent
配置GRE Tunnel:
R1(config)#int tunnel0
R1(config-if)#ip add 172.16.14.1255.255.255.0
R1(config-if)#tunnel sources0/0
R1(config-if)#tunnel destination34.1.1.4
R1(config-if)#tunnel mode greip
R4(config)#int tunnel0
R4(config-if)#ip add 172.16.14.4255.255.255.0
R4(config-if)#tunnel sources0/0
R4(config-if)#tunnel destination 12.1.1.1
说明:
①Tunnel的源接口:也可以使用“tunnel source12.1.1.1”命令配置,路由器将以此接口的地址作为源地址重
②Tunnel的目地址:路由器将以此地址作为目的地址重新封装VPN数据包;
③隧道创建后,可以把隧道看成一条专线。
实验调试:
R1#show int tunnel0
配置路由协议:
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#noauto-summary
R1(config-router)#network172.16.0.0
R4(config)#router rip
R4(config-router)#version 2
R4(config-router)#noauto-summary
R4(config-router)#network 172.16.0.0
实验调试:
R1#show ip route
R1#ping 172.16.4.1 source lo0
以上输出表明远程办公室已经学习到了企业总部内部网络的路由,下一跳为隧道另一端的地址。
配置NAT:
由于现在企业内部和远程办公室都无法与Internet通信,还需要配置NAT。
R1(config)#access-list 10 permit172.16.1.0 0.0.0.255
R1(config)#ip nat inside source list 10 ints0/0 overload
R1(config)#int lo0
R1(config-if)#ip nat inside
R1(config)#ints0/0
R1(config-if)#ip natoutside
R4(config)#access-list 10 permit172.16.4.0 0.0.0.255
R4(config)#ip nat inside source list 10 ints0/0 overload
R4(config)#int lo0
R4(config-if)#ip nat inside
R4(config)#int s0/0
R4(config-if)#ip nat outside
实验调试:
R1#ping 34.1.1.3 sourcelo0
R1#ping 172.16.4.1 sourcelo0
Site ToSite VPN/LAN To LAN VPN
Site To Site是指把一个局域网和另一个局域网连接在一起,本实验采用IPSec(Internet ProtocolSecurity 网际网路协定安全规格)VPN解决这个问题。IPSec VPN是针对IP通信保护的协议簇,IPSecVPN的基础是数据机密性、数据完整性和身份验证。
数据机密性:一个常见的安全性考虑是防止窃听者窃取数据。VPN利用封装和加密机制来实现机密性,常见的算
数据完整性:数据完整性确保数据在源主机和目的主机之间传送时不被篡改。VPN通常使用哈希来确保数据完整
身份验证:身份验证确保消息来自真实来源,并传送到真实目的地。VPN利用用户标识确信与其建立通信的一方
两种主要的IPSec协议框架:
验证报头(AH):仅提供完整性和身份验证功能,在不要求或不允许有机密性时使用。AH在原有的数据包头部和
封装安全负载(ESP):通过对IP数据包加密隐藏数据及源主机和目的主机的身份提供机密性、完整性和身份验
IPSec的工作方式:
协商阶段:互联VPN之前要进行协商,VPN的协商可分为两个阶段:
数据传输阶段:采用对称加密算法完成数据的安全传输,对等体双方使用的相应加密手段与校验手段。
说明:对称加密算法安全性更高,第一阶段不使用对称加密算法的原因就是避免传输过程中被截获,而第二阶段
实验
配置IP地址及路由:
R1(config)#ip route 0.0.0.0 0.0.0.0 s0/012.1.1.2 permanent
R2(config)#ip route 34.1.1.0 255.255.255.0s0/1 23.1.1.3
R3(config)#ip route 12.1.1.0 255.255.255.0s0/1 23.1.1.2
R4(config)#ip route 0.0.0.0 0.0.0.0 s0/034.1.1.3 permanent
配置Site To Site VPN:
R1(config)#crypto isakmp policy10
R1(config-isakmp)#encryptionaes
R1(config-isakmp)#authenticationpre-share
R1(config-isakmp)#hashsha
R1(config-isakmp)#group5
R1(config-isakmp)#lifetime86400
R1(config)#crypto isakmp key ciscoaddress34.1.1.4
R1(config)#crypto ipsectransform-set TRAN esp-aes esp-sha-hmac
R3(cfg-crypto-trans)#modetunnel
R1(config)#ip access-list extendedVPN
R1(config-ext-nacl)#permit ip172.16.1.0 0.0.0.255 172.16.4.0 0.0.0.255
R1(config)#crypto map MAP 10ipsec-isakmp
R1(config-crypto-map)#set peer34.1.1.4
R1(config-crypto-map)#settransform-setTRAN
R1(config-crypto-map)#match addressVPN
R1(config-crypto-map)#reverse-routestatic
R1(config)#ints0/0
R1(config-if)#crypto mapMAP
R4(config)#crypto isakmp policy10
R4(config-isakmp)#encryptionaes
R4(config-isakmp)#authenticationpre-share
R4(config-isakmp)#hashsha
R4(config-isakmp)#group5
R4(config)#crypto isakmp key ciscoaddress 12.1.1.1
R4(config)#crypto ipsec transform-setTRAN esp-aes esp-sha-hmac
R4(config)#ip access-list extendedVPN
R4(config-ext-nacl)#permit ip172.16.4.0 0.0.0.255 172.16.1.0 0.0.0.255
R4(config)#crypto map MAP 10ipsec-isakmp
R4(config-crypto-map)#set peer12.1.1.1
R4(config-crypto-map)#settransform-set TRAN
R4(config-crypto-map)#match addressVPN
R4(config-crypto-map)#reverse-routestatic
R4(config)#ints0/0
R4(config-if)#crypto mapMAP
说明:
①创建ISAKMP(
③身份认证算法可以选择:预共享密码和(如果有CA服务器时也可以选择)CA(电子证书)进行身份认证。
④HASH算法可以选择:SHA和MD5。
⑤密钥交换算法可以选择:group 1、group 2和group5。
⑥配置预共享密码时,要确保双方配置的密码要一致,否则协商失败。
⑦配置交换集时,交换集名称只在本地有效,并且要确保双方路由器有一个参数一致的交换集,否则协商失败。
⑧创建加密图时,名称和编号都只在本地有效,如果有多个编号,路由器将从小到大逐一匹配。
⑨反向路由注入就是在VPN设备上会根据“match addressVPN”命令生成静态路由,静态路由的条数和ACL条数
实验调试:
R1#show ip route
R1#ping 172.16.4.1 source lo0
以上输出表明路由器R1有172.16.4.0/24条路由了,下一跳为对方公网地址,并且能与对端局域网正常通信。
R1#show crypto engine connectionsactive
以上输出表明加密和解密是独立的会话,可以看到加密和解密了个5个数据包。
R1#show crypto isakmppolicy
R1#show crypto ipsectransform-set
R1#show cryptomap
R1#show crypto ipsecsa
NAT配置:
由于现在远程办公室和企业内部都无法与Internet通信,还需要配置NAT。
R1(config)#access-list 100 deny ip172.16.1.0 0.0.0.255 172.16.4.0 0.0.0.255
R1(config)#access-list 100 permit ip172.16.1.0 0.0.0.255 any
R1(config)#ip nat inside source list 100 ints0/0 overload
R1(config)#int lo0
R1(config-if)#ip nat inside
R1(config)#int s0/0
R1(config-if)#ip nat outside
R4(config)#access-list 100 deny ip172.16.4.0 0.0.0.255 172.16.1.0 0.0.0.255
R4(config)#access-list 100 permit ip172.16.4.0 0.0.0.255 any
R4(config)#ip nat inside source list 100 ints0/0 overload
R4(config)#int lo0
R4(config-if)#ip nat inside
R4(config)#int s0/0
R4(config-if)#ip nat outside
实验调试:
R1#ping 34.1.1.3 sourcelo0
R1#ping 172.16.4.1 sourcelo0
- IPsec_VPN实现技术【转载】
- 自制IPsec_vpn综合实验
- SSL_VPN和IPSec_VPN的区别与互补
- 碎片图像无缝拼合技术的VC++实现(转载)
- 【转载】使用VML技术实现圆角表格的绘制
- 基于JAVA技术的搜索引擎的研究与实现(转载)
- Windows下多线程编程技术及其实现(转载)
- 插件技术原理及其C#实现(转载)
- 技术转载:游戏里实现碰撞检测方法
- 【转载】HTTP Live Streaming直播技术分析与实现
- (转载)浅谈Hybrid技术的设计与实现
- 抛开技术作技术....(转载)
- [转载]线程中断技术
- (转载)Shellcode编写技术
- (转载)Honeypot技术讲解
- 常用javaScript技术(转载)
- 常用javaScript技术(转载)
- [转载]DotNet技术精华帖
- 路由协议管理距离汇总
- IS-IS完整笔记
- 自制IPsec_vpn综合实验
- 用友UAP_STUDIO65开发环境配置
- 浅谈 java 反射机制
- IPsec_VPN实现技术【转载】
- mysql的日期函数介绍
- IPv4子网掩码回顾
- spring boot 学习之路1(简单入门)
- ★会用这两键,你就是电脑高手了
- spring boot 学习之路2(注解介绍)
- Android学习笔记十四之RelativeLayout相对布局
- MyBatis Generator详解(转载)
- 十类经典office实用技巧