Site-to-Site VPN配置和调试实践:构建安全的远程网络连接
【实验目的】
- 理解Site to Site VPN的含义。
- 掌握Site to Site VPN的含义。
- 验证配置。
【实验拓扑】
实验拓扑如下图所示。
实验拓扑
设备参数表如下表所示。
设备参数表
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
R1 | S0/1/0 | 69.1.0.1 | 255.255.255.0 | N/A |
G0/0/0 | 192.168.1.1 | 255.255.255.0 | N/A | |
Internet | S0/1/0 | 69.1.0.2 | 255.255.255.0 | N/A |
S0/1/1 | 201.106.208.1 | 255.255.255.0 | N/A | |
R2 | S0/1/0 | 201.106.208.2 | 255.255.255.0 | N/A |
G0/0/0 | 192.168.2.1 | 255.255.255.0 | N/A |
【实验内容】
1.基础配置
//R1
Router>ena
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R1
R1(config)#interface g0/0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface s0/1/0
R1(config-if)#ip address 69.1.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#
//Internet
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname Internet
Internet(config)#interface s0/1/0
Internet(config-if)#ip address 69.1.0.2 255.255.255.0
Internet(config-if)#no shutdown
Internet(config-if)#interface s0/1/1
Internet(config-if)#ip add 201.106.208.1 255.255.255.0
Internet(config-if)#no shutdown
Internet(config-if)#exit
Internet(config)#
//R2
Router>en
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R2
R2(config)#interface s0/1/0
R2(config-if)#ip address 201.106.208.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface g0/0/0
R2(config-if)#ip add 192.168.2.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#
2.IP地址与路由配置
在路由器R1、R2上配置IP地址,测试各直连链路的连通性,并配置如下路由:
R1(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
//公网出口路由器通常会有默认路由指向Internet
Internet(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
Internet(config)#ip route 0.0.0.0 0.0.0.0 s0/1/1
R2(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
3.验证配置
//PC1可以ping通PC2,tracert追踪到4条路由
4.配置Site to Site VPN
(1)R1的基本配置
①IKE协商配置。
R1(config)#crypto isakmp enable
//开启isakmp功能
R1(config)#crypto isakmp policy 10
//创建一个isakmp策略,编号为10。可以有多个策略,路由器双发将采用编号最新的策略进行协商
R1(config-isakmp)#encryption des
//配置isakmp采用的加密算法,可以选择3DES、AES和DES
R1(config-isakmp)#authentication pre-share
//配置isakmp采用的身份认证算法,这里采用预共享密钥
R1(config-isakmp)#hash sha
//配置isakmp采用HASH算法,可以选择MD5和SHA
R1(config-isakmp)#group 5
//配置isakmp采用的密钥交换算法,这里采用DH group5,可以选择1,14,15,16,2,5
R1(config-isakmp)#exit
R1(config)#crypto isakmp key cisco address 201.106.208.2
//配置对等体201.106.208.2的预共享密钥为cisco,双方配置的密钥需要一致
R1(config)#
②配置IPsec的协商的传输模式集。
R1(config)#crypto ipsec transform-set TRAN esp-des esp-sha-hmac
//创建ipsec转换集,名称为TRAN,该名称本地有效,这里转换集采用ESP封装,加密算法为DES,HASH算法为sha,可以选择AH很会装封装或AH-ESP封装
③配置感兴趣的数据流。
R1(config)#ip access-list extended VPN
R1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config-ext-nacl)#exit
//定义一个ACL,用来指明需要通过VPN加密的流量,注意这里限定的两个局域网之间的流量才运行加密,其他流量(例如,到Internet)不要加密
④配置VPN加密图与接口应用。
R1(config)#crypto map MAP 10 ipsec-isakmp
//创建加密图,名为MAP,编号为10。名称和编号都本地有效,路由器采用从小小到大逐一匹配
R1(config-crypto-map)#set peer 201.106.208.2
//指明VPN对等体为路由器R2
R1(config-crypto-map)#match address VPN
//指明匹配名为VPN的ACL为VPN流量
R1(config-crypto-map)#exit
R1(config)#interface s0/1/0
R1(config-if)#crypto map MAP
*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R1(config-if)#exit
//在接口上应用之前创建的加密图MAP
(2)R2的基本配置
R2(config)#crypto isakmp enable
R2(config)#crypto isakmp policy 10
R2(config-isakmp)#encryption des
R2(config-isakmp)#authentication pre-share
R2(config-isakmp)#hash sha
R2(config-isakmp)#group 5
R2(config-isakmp)#exit
R2(config)#crypto isakmp key cisco address 69.1.0.1
R2(config)#crypto ipsec transform-set TRAN esp-des esp-sha-hmac
R2(config)#ip access-list extended VPN
R2(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R2(config-ext-nacl)#exit
R2(config)#crypto map MAP 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R2(config-crypto-map)#set peer 69.1.0.1
R2(config-crypto-map)#match address VPN
R2(config-crypto-map)#exit
R2(config)#interface s0/1/0
R2(config-if)#crypto map MAP
*Jan 3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R2(config-if)#exit
R2(config)#
5.R1、R2的配置VPN的脚本
//R1
crypto isakmp enable
crypto isakmp policy 10
encryption des
authentication pre-share
hash sha
group 5
exit
crypto isakmp key cisco address 201.106.208.2
crypto ipsec transform-set TRAN esp-des esp-sha-hmac
ip access-list extended VPN
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
exit
crypto map MAP 10 ipsec-isakmp
set peer 201.106.208.2
match address VPN
exit
interface s0/1/0
crypto map MAP
exit
//R2
crypto isakmp enable
crypto isakmp policy 10
encryption des
authentication pre-share
hash sha
group 5
exit
crypto isakmp key cisco address 69.1.0.1
crypto ipsec transform-set TRAN esp-des esp-sha-hmac
ip access-list extended VPN
permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
exit
crypto map MAP 10 ipsec-isakmp
set peer 69.1.0.1
match address VPN
exit
interface s0/1/0
crypto map MAP
exit
6.实验调试
(1)查看路由表
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
69.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 69.1.0.0/24 is directly connected, Serial0/1/0
L 69.1.0.1/32 is directly connected, Serial0/1/0
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0/0
L 192.168.1.1/32 is directly connected, GigabitEthernet0/0/0
S* 0.0.0.0/0 is directly connected, Serial0/1/0
R1#
(2)显示isakmp策略情况
R1#show crypto isakmp policy
Global IKE policy
Protection suite of priority 10
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
//加密算法
hash algorithm: Secure Hash Standard
//HASH算法
authentication method: Pre-Shared Key
//认证方法
Diffie-Hellman group: #5 (1536 bit)
//密钥交换算法
lifetime: 86400 seconds, no volume limit
//生存时间,即重证时间
R1#
(3)显示ipsec交换集情况
R1#show crypto ipsec transform-set
Transform set TRAN: { { esp-des esp-sha-hmac }
will negotiate = { Tunnel, },
//前面配置的交换集TRAN
Transform set #$!default_transform_set_1: { esp-aes esp-sha-hmac }
will negotiate = { Transport, },
//系统默认的交换集
Transform set #$!default_transform_set_0: { esp-3des esp-sha-hmac }
will negotiate = { Transport, },
//系统默认的交换集
R1#
(4)显示加密图情况
R1#show crypto map
Crypto Map MAP 10 ipsec-isakmp
Peer = 201.106.208.2
//配置的对等体IP
Extended IP access list VPN
//对符合名为VPN的ACL的流量进行加密
access-list VPN permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Current peer: 201.106.208.2
//当前的对等体IP
Security association lifetime: 4608000 kilobytes/3600 seconds
//生存时间,即多长时间或传输了多少字节重新建立会话,保证数据的安全
PFS (Y/N): N
Transform sets={
TRAN: {esp-des esp-sha-hmac},
//使用的交换集为TRAN
}
Reverse Route Injection Enable
//启用反向路由注入,这里并不存在,因为PT不支持这个命令,
命令为reverse-route static
Interfaces using crypto map MAP:
//使用改加密图的接口
Serial0/1/0
R1#
(5)显示ipsec会话情况
R1#show crypto ipsec sa
interface: Serial0/1/0
Crypto map tag: MAP, local addr 69.1.0.1
protected vrf: (none)
local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0)
//以上是对等体双方的ID
current_peer 201.106.208.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
//以上是该接口的加解密数据包统计量
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 69.1.0.1, remote crypto endpt.:201.106.208.2
path mtu 1500, ip mtu 1500, ip mtu idb Serial0/1/0
current outbound spi: 0x0(0)
inbound esp sas:
//入方向的ESP安全会话
spi:0x3183A937(850712129)
//区别会话的一个编号
tranform:esp-des esp-sha-hmac,
//交换集情况
in use settings = {Tunnel, }
//模式:隧道或传输模式
conn id:2001,flow_id:FPGA:1,sibling_flags 80000046,crypto map:MAP//该会话的ID
sa iming rmaning key Hietime ls (48964203)
//还剩下的生存时间
IV size: 8 bytes
replay detection support: Y
Status: ACTIVE
//会话状态
inbound ah sas:
//入方向的AH安全会话,由于我们没有使用AH封装,所以没有AH会话inbound pcp sas:
outbound esp sas:
//出方向的ESP安全会话
spi: 0x5ADF3820(1524578336)
transform: esp-des esp-sha-hmac ,
in use settings =(Tunnel, )
conn id:2002,flow_id:FPGA:2,sibling_flags 80000046,cryрto map: MAPsa timing: remaining key lifetime (k/sec): (4408964/2013)
IV síze: 8 bytes
replay detection support: y
Status: ACTIVEoutbound ah sas:
outbound pcp sas:
R1#
7.实验验证
C:\>tracert 192.168.2.10
Tracing route to 192.168.2.10 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 192.168.1.1
2 0 ms 6 ms 6 ms 201.106.208.2
3 10 ms 1 ms 10 ms 192.168.2.10
Trace complete.
【实验小知识点】
以下是该实验涉及的一些知识点:
- Site-to-Site VPN:该实验旨在理解和掌握Site-to-Site VPN的配置和工作原理,Site-to-Site VPN用于连接不同地理位置的网络,通过加密和隧道技术实现安全的数据传输。
- 网络拓扑:实验中给出了一个网络拓扑图,包括多个路由器和互联网连接,理解拓扑图中设备的连接方式和接口配置是必要的。
- 基础配置:实验开始时进行了基础配置,包括给设备设置主机名、配置接口的IP地址和子网掩码、开启接口等。
- IP地址和路由配置:在实验中,通过配置路由器R1和R2的IP地址和静态路由来确保网络中各直连链路的连通性。
- IKE(Internet Key Exchange)协商:实验中配置了IKE协商,用于建立安全通信所需的密钥和参数,包括选择加密算法、身份认证算法、HASH算法和密钥交换算法等。
- IPsec(IP Security)配置:在实验中,通过配置IPsec来实现加密和身份验证,使用了加密转换集、感兴趣的数据流定义和加密图。
- ACL(Access Control List)配置:配置了ACL用于指定需要通过VPN加密的流量,限定了两个局域网之间的流量进行加密。
- 路由表查看:通过查看路由表,可以验证路由器上的路由配置是否正确。
- 加密图、转换集和IPsec会话查看:实验中使用了加密图、转换集和IPsec会话来监视和验证VPN的配置和状态。
这些知识点涵盖了Site-to-Site VPN的基本原理、配置要求和调试方法,通过实验可以加深对这些概念和技术的理解和应用。
不要害怕失败,每一次实验都是宝贵的经验,将指引你走向成功的道路。