一、 学习目的
1.引言:vpn是用来干嘛的呢 ?
是将在网络中看上去不安全的网络通信,利用VPN隧道技术,让不安全的网络又看上去安全了,VPN只是利用 PKl技术来保证网络安全的三要素。
二、原理
1.vpn类型:
1.远程访问VPN(Remote Access VPN)
- (用于个人到企业) 出差,远程办公(公司的得有VPN服务器,让员工先访问到VPN内部)
- VPN常用协议:PPTP VPN、L2 TP VPN、 SSTP VPN、 SSL VPN(代理常用的一种)
2.点到点VPN (企业到企业)
- 在两个企业总出口设备直接做VPN隧道
- 常见的点到点VPN:PsecVPN(本文章重点讲)
2. VPN是怎么传输数据的
两种传输模式:
1.传输模式 :只对上层 应用数据加密,对下3层数据不加密,但是传输速率快,也存在数据的篡改
2.隧道模式:恰好与传输模式相反,对整个传输过程进行了加密
补充:常见的加密算法
2.1 对称加密:它使用相同的密钥来进行加密和解密数
常见算法:(DES、3DES、AES) 缺点:在传递双方密钥前是明文传输
2.2非对称加密:它使用一对公私钥来进行加密和解密数据
常见算法:(RSA,DH) 缺点:速度慢(加密过程导致)
3.通信过程:
正常不同局域网通信需要走路由,当内网地址到路由器时会将内网地址使用NAT转化为公网地址进行相互通信,但是我们的数据包从内网地址到另一个内网地址的通信是不行的,
ip头部分信息如下:例如是192.168.10.1去访问172.16.10.1
源:192.168.10.1 | 目的:172.16.10.1 |
如果是这样的源/目包,到达外网时会直接被干掉,所以要将这包传化为正常的包去欺骗路由。
vpn实现原理:
在ipV4 的数据字段中有一个可选项字段,利用它来实现
源:192.168.10.1 | 目的:172.16.10.1 |
原理如下:上述中包到外网会直接被干掉,如果在这之前我们改变包里面的地址如下
(改变包是利用pv4的可选字段)
源:200.1.1.1/192.168.10.1 | 目的:100.1.1.1/172.16.10.1 |
让它们通信是用200.1.1.1去和100.1.1.1就可以互相同时,但是实际是192.168.10.1 和 172.16.10.1 在通信
三、实验
1.环境部署:https://blog.csdn.net/qq_56992543/article/details/123122952//
拓扑图
2.主机配置:
3.路由配置:
conf t //全局模式配置
interface FastEthernet0/0 //进入接口
ip address 192.168.10.254 255.255.255.0 //配置 ip地址
interface FastEthernet0/1 //进入接口
ip address 200.1.1.2 255.255.255.0 //配置ip地址
4.VPN配置:
第一阶段:与VPN协商一些列加密,认证,只是将vpn隧道建立
en //用户模式
conf t //全局模式
crypto isakmp policy 1 //定义传输集
encryption aes //对称加密
hash sha //数据加密
group 2 //非对称加密
authentication pre-share //预共享密钥(就是对数据进行数字签名)
lifetime 3600 //密钥更改时间
exit
crypto isakmp key zick address 200.1.1.0 //做预共享
access-list 100 permit ip 192.168.10.0 0.0.0.255 172.16.10.0 0.0.0.255 //做流量匹配,只要是这种流量就走VPN
第二阶段:数据内容,在VPN中传输:若第一阶段协商不对,第二阶段不可能可以实现
crypto ipsec transform-set trans1 esp-aes esp-sha-hmac //数据加密+省份认证规则表
crypto map map 1 ipsec-isakmp //map 就是将上面的协商归纳到一张表上
match address 200 //acl
set transform-set trans1 //数据加密+省份认证规则表
set peer 100.1.1.1 //允许通过100.1.1.1
exit
int fa0/1 //应用在端口上
crypto map map 1
en
conf t
crypto isakmp policy 1
encryption aes
hash sha
group 2
authentication pre-share
lifetime 3600
exit
crypto isakmp key zick address 100.1.1.1
access-list 100 permit ip 172.16.10.0 0.0.0.255 192.168.10.0 0.0.0.255
crypto ipsec transform-set trans1 esp-aes esp-sha-hmac
crypto map map 1 ipsec-isakmp
match address 100
set transform-set trans1
set peer 200.1.1.1
exit
int fa0/1
crypto map map 1
四、测试