前面的文章中给大家介绍过在windows中配置×××网络,今天我们来在路由器上配置一下基于预共享密钥的IPSec ×××网络。
那么什么是×××呢?
简单的说,××× 是一种通过Internet或公共网络受保护的链接。
由×××组成的“线路”并不是物理存在的,而是通过技术手段模拟出来的,既是“虚拟”的。不过这种虚拟的专用网络技术却可以在公用线路中为两台计算机建立一个逻辑上的专用“通道”,它具有良好的保密和不受干扰性使双方能进行自由而安全的点对点的连接。
×××相比较专线网络的优势:
连接可靠,可保证数据传输的安全性。
利用公共网络进行信息通讯,可降低成本,提高网络资源利用率.
支持用户实时、异地接入,可满足不断增长的移动业务需求。
支持QoS功能,可为×××用户提供不同等级的服务质量保证。
防止数据在公网传输中被窃听
防止数据在公网传输中被篡改
可以验证数据的真实来源
成本低廉(相对于专线、长途拨号)
应用灵活、可扩展性好
路由器的端口连接图如下:
Router1 F0/1 <----> Router2 F0/1
Router1 F0/0 <----> VPCS V0/1
Router2 F0/0 <----> VPCS V0/2
本实验的拓扑连接图如下:
clip_p_w_picpath001
一、路由基本配置
首先我们来对路由一进行一下基本配置。F0/1是连接外网的端口,IP地址为202.106.1.1 F0/0是连接内网的,IP地址为192.168.1.1
R1:
Router&gt;en
Router#conf t
Router(config)#hostname r1
r1(config)#int f0/1
r1(config-if)#ip addr 202.106.1.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#int f0/0
r1(config-if)#ip addr 192.168.1.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exit
clip_p_w_picpath002
在路由器一上配置静态路由。目标网段+子网掩码+下一跳IP地址。这里配置其他的路由协议也可以,比如:ospf、rip、eigrp等等。
r1(config)#ip route 192.168.10.0 255.255.255.0 202.106.1.2
r1(config)#exit
clip_p_w_picpath003
接下来我们来对路由二进行一下基本配置。F0/1是连接外网的端口,IP地址为202.106.1.2 F0/0是连接内网的,IP地址为192.168.10.1。最后配置一下静态路由,目标网段+子网掩码+下一跳IP地址
R2:
Router&gt;en
Router#conf t
Router(config)#hostname r2
r2(config)#int f0/1
r2(config-if)#ip addr 202.106.1.2 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#int f0/0
r2(config-if)#ip addr 192.168.10.1 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#ip route 192.168.1.0 255.255.255.0 202.106.1.1
r2(config)#exit
clip_p_w_picpath004
路由器的基本配置步骤完成后,我们用命令show ip route 来查看一下路由表的信息。如图路由一已经学到了其他网段的信息了
clip_p_w_picpath005
经过查看路由二的路由表,它也正常学习到了其他网段的信息了
clip_p_w_picpath006
既然已经学习到了其他的路由信息,那么肯定能通讯了,只是现在通讯是肯定是不安全的,用抓包器可以很轻松的获取到密码。接下来我们就是要在路由器一与路由器二的通信信道上建立一条×××专用线路,让其更安全的传输数据。
二、配置IPSec和IKE
IPSec 提供两个安全协议:
AH (Authentication Header)报文认证头协议
MD5(Message Digest 5)
SHA1(Secure Hash Algorithm)
ESP (Encapsulation Security Payload)封装安全载荷协议
DES (Data Encryption Standard)
3DES
其他的加密算法:Blowfish ,blowfish、 cast …
IKE全称:Internet Key Exchange
IKE用于IPSec安全联盟及密钥的自动化管理,定时为IPSec协商密钥,创建、删除安全联盟等
IKE采用两个阶段的ISAKMP:
协商认证通信信道,为第二阶段的通信提供安全保证。即建立IKE SA
使用IKE SA 协商建立IPSec SA,用于IPSec通信。
IKE(Internet Key Exchange)因特网密钥交换协议是IPSEC的信令协议,为IPSec提供了自动协商交换密钥、建立安全联盟的服务,能够简化IPSec的使用和管理,大大简化IPSec的配置和维护工作。IKE不是在网络上直接传送密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥,并且即使第三者截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。IKE具有一套自保护机制,可以在不安全的网络上安全的分发密钥,验证身份,建立IPSEC安全联盟。 下面我们就在路由器上对IPSec和IKE进行一般的配置步骤
R1:
r1&gt;en
r1#conf t
r1(config)#crypto isakmp enable-----------启用IKE
r1(config)#crypto isakmp policy 1------------创建IKE策略、注意:优先级1---10000 1为最高级别
r1(config-isakmp)#encryption 3des------------指定价码算法
r1(config-isakmp)#authentication pre-share-----------指定身份认证方法
注意: per-share—共享密钥
rsa-encr--RSA加密
rsa—sig---RSA签名
r1(config-isakmp)#group 1-----------指定密钥交换参数
注意: group 1 表示768位密钥
group 2 表示1024位密钥
group 5 表示1536位密钥
r1(config-isakmp)#lifetime 28800-----------指定SA的生存期(单位秒)
r1(config-isakmp)#exit
r1(config)#crypto isakmp key cisco addres 202.106.1.2------------指定身份认证使用的密钥和该共享密钥对应的IP地址
r1(config)#crypto ipsec transform-set r1set esp-3des---------创建IPSec变换集,对用户安全保护使用的协议
r1(cfg-crypto-trans)#exit
r1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.10.0 0.0.0.255-------指定需要通过的ipsec进行保护的通信网段
r1(config)#crypto map r1map 1 ipsec-isakmp------ --------创建加密图
r1(config-crypto-map)#set peer 202.106.1.2------------指定加密用于与哪个对端×××建立连接,也就是路由器二的公网IP地址
r1(config-crypto-map)#set transform-set r1set-----------指定加密图使用的ipsec变换集
r1(config-crypto-map)#match address 100-----------指定访问列表
r1(config-crypto-map)#exit
clip_p_w_picpath007
指定加密图应用哪些接口上。一般应用在连接外网时候的端口上。
r1(config)#int f0/1
r1(config-if)#crypto map r1map
clip_p_w_picpath008
在路由器二上对IPSec和IKE进行一般的配置步骤
R2:
r2&gt;en
r2#conf t
r2(config)#crypto isakmp enable------启用IKE
r2(config)#crypto isakmp policy 1--------创建IKE策略。注意:优先级1---10000 1为最高级别
r1(config-isakmp)#encryption 3des-------指定加码算法
r2(config-isakmp)#authentication pre-share-------指定身份认证方法
注意: per-share—共享密钥
        rsa-encr--RSA加密
        rsa—sig---RSA签名
r2(config-isakmp)#group 1----------指定密钥交换参数
注意: group 1 表示768位密钥
group 2 表示1024位密钥
group 5 表示1536位密钥
r2(config-isakmp)#lifetime 28800--------指定SA的生存期(单位秒)
r2(config-isakmp)#exit
r2(config)#crypto isakmp key cisco addres 202.106.1.1------指定身份认证使用的密钥和该共享密钥对应的IP地址
r2(config)#crypto ipsec transform-set r2set esp-3des-----创建IPSec变换集,对用户安全保护使用的协议
r2(cfg-crypto-trans)#exit
r2(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.1.0 0.0.0.255-----指定需要通过的ipsec进行保护的通信网段
r2(config)#crypto map r2map 1 ipsec-isakmp------创建加密图
r2(config-crypto-map)#set peer 202.106.1.1------指定加密用于与哪个对端×××建立连接,也就是路由器一的公网IP地址
r2(config-crypto-map)#set transform-set r1set-------指定加密图使用的ipsec变换集
r2(config-crypto-map)#match address 100------指定访问列表
r2(config-crypto-map)#exit
r2(config)#exit
clip_p_w_picpath009
指定加密图应用哪些接口上
r2(config)#int f0/1
r2(config-if)#crypto map r2map
clip_p_w_picpath010
三、查看并测试
下面我们先来配置一下虚拟PC机。其实这里的PC机用真是的物理机也可以。由于是实验我就简单的用一下虚拟PC机来测试一下。下面是PC1与PC2的IP地址,以及默认网关
clip_p_w_picpath011
IP地址配置成功后我们在PC1上ping一下路由器二以及PC2.没问题成功的到达了PC2
clip_p_w_picpath012
PC2上测试一下也没问题
clip_p_w_picpath013
下面我们在路由器上用扩展ping命令来打通×××通道。建立好×××通道后,不用扩展ping命令来打通×××通道那是没用的。如下图:我们来测试一下×××通信。
在路由器一上输入命令ping
r1#ping----------输入ping直接回车
Protocol [ip]:----------因为使用的是IP地址,直接回车就可以了
Target IP address: 192.168.10.2---------输入目标地址的IP
Repeat count [5]:--------------ping包的数量
Datagram size [100]:-----------数据包的大小
Timeout in seconds [2]:------------超时时间,默认的是2秒
Extended commands [n]: y--------是否要使用扩展ping命令,一定要填YES
Source address or interface: 192.168.1.1-------使用那个源地址或接口去ping,我们使用192.168.1.1
接下来全部选择默认的即可,直接回车就行
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!----------------------结果是可以ping通的
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/56/104 ms
clip_p_w_picpath014
我们在路由器二上输入命令ping,回车后直接输入PC1的IP地址,根据提示进行下一步
r2#ping--------------输入ping命令直接回车就行
Protocol [ip]:-------------- 因为使用的是IP地址,直接回车就可以了
Target IP address: 192.168.1.2-----------输入目标地址的IP
Repeat count [5]:--------------ping包的数量
Datagram size [100]:-----------数据包的大小
Timeout in seconds [2]:--------------超时时间,默认时间是2秒
Extended commands [n]: y--------------选择YES,使用扩展ping命令
Source address or interface: 192.168.10.1-----------使用那个源地址或接口去ping,我们使用192.168.10.1
接下来全部选择默认的即可,直接回车就行
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.10.1
!!!!!---------------------------结果是可以ping通的
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/39/68 ms
clip_p_w_picpath015
我们来配置一下PC机,配置如下:
clip_p_w_picpath011[1]
配置完成后我们来ping一下,首先在PC1上进行ping
clip_p_w_picpath012[1]
Ok!没问题。下面在PC2上试试,也没问题。可以ping通外网
clip_p_w_picpath013[1]
附加:
测试IKE的SA,如下图:我们可以看见目标网段IP,源IP,还有加码算法用的是3des,身份验证方法等等。如果在真的物理机中我们用抓包器可以轻松的抓到×××连接时的密码,但是是密文密码。
clip_p_w_picpath016
这是在路由二中查看到的信息
clip_p_w_picpath017
另外,还可以用以下命令来查看相关的信息
查看加密图:
R1# show crypto map
clip_p_w_picpath018
clip_p_w_picpath019
查看IKE策略
R1#show crypto isakmp policy
clip_p_w_picpath020