网安实验6:VPN实验
课堂部分
1. Windows IPSec配置
2. 抓包分析 IKE SA和IPSec SA建立过程
Windows配置IPSec
使用Win+R打开本地安全设置模块,在IP安全策略创建新IP安全策略


新建的IP安全策略名称自拟,勾选“激活默认响应规则”,使用“123456”(或其他)作为预共享密钥保护密钥交换,指派该策略。


指派

双击该指派的ipsec策略
修改新建策略的属性,添加安全规则。不指定隧道终结点,适用于所有网络连接,使用“123456”作为预共享密钥保护密钥交换。



添加IP筛选器列表,在新的筛选器列表添加新的筛选器,然后添加筛选器操作。在筛选器列表选择“所有IP通讯量”。

在筛选器操作界面选择“需要安全”,然后完成修改属性。

另一台xp同样的配置
ping通

- “Negotiating IP Security”(正在协商 IP 安全性): 这证明你的 IPSec 策略已经被触发了。你的电脑意识到发往
192.168.130.136的数据包需要加密,所以它暂停了发送,先去和对方“对暗号”(IKE 协商)。 - “Request timed out” (或者丢了一个包): 统计信息里显示
Lost = 1,这是完全正常的。因为协商密钥需要几百毫秒甚至更久,第一个 Ping 包通常会因为超时而被丢弃,这恰恰证明了协商过程的存在。 - “Reply from…”: 后面三个包都通了,说明协商成功!安全通道(SA)建立完毕,后续的数据包都在加密通道里传输了。
服务重启后,之前协商好的安全通道(SA)会立即消失。此时你再去 Ping 对方,系统就必须重新发起 IKE 协商,你就能再次在 CMD 中看到 “Negotiating IP Security” 的提示,或者在 Wireshark 中抓到 ISAKMP 的握手包(主模式/快速模式)。
1 | net stop PolicyAgent |
抓包分析 IKE SA和IPSec SA建立过程

IKE 第一阶段协商(身份验证):Wireshark 抓包显示,通信双方首先进行了 IKE 主模式(Main Mode)协商(Identity Protection),共 6 个包,用于建立 IKE SA 并验证彼此身份。
IKE 第二阶段协商(建立安全关联):主模式完成后,双方进行了快速模式(Quick Mode)协商,建立 IPSec SA,确定了用于加密后续数据流的具体参数。
数据加密传输(ESP):协商完成后,原本的 ICMP 数据包被封装在 ESP 协议中传输。打开 ESP 包详情可以看到,原始数据被隐藏,无法查看明文内容,证明 VPN 加密通道工作正常。

没有出现 ICMP 协议的字段(如 Type, Code 等),只有 ESP 的头部信息,直接证明了负载内容(Payload)是不可见的、被加密的。

课后部分
安装完Cisco Packet Tracer以游客身份登录
搭建网络环境
初始化配置路由器
| 设备 | 接口 | IP 地址 | 子网掩码 | 说明 |
|---|---|---|---|---|
| Router0 | F0/0 (公网) | 10.0.0.1 | 255.255.255.0 | 连接 Router1 |
| F0/1 (内网) | 192.168.1.1 | 255.255.255.0 | PC0 的网关 | |
| Router1 | F0/0 (公网) | 10.0.0.2 | 255.255.255.0 | 连接 Router0 |
| F0/1 (内网) | 192.168.2.1 | 255.255.255.0 | PC1 的网关 |
打开cisco模拟器,在模拟器窗口工具栏下选择file-new。在左下角设备栏选取路由器图标,将cisco2811路由器拖到工作区域。单击工作区域的路由器图标,选择CLI项,弹出界面,等待路由器启动后,在弹出的交互对话中,输入“n”回车,然后再按回车。

路由器之间用 交叉线 (Copper Cross-Over) 连接 FastEthernet 0/0 接口。

配置 Router0
1 | Router> enable |

点击 Router1,做对应的配置 :
1 | Router> enable |

配置PC
第一组:Switch0 下(连接 Router0)
这一组属于 192.168.1.0/24 网段,默认网关是 Router0 的内网接口地址 192.168.1.1。
| 设备名称 | IP Address (IP地址) | Subnet Mask (子网掩码) | Default Gateway (默认网关) |
|---|---|---|---|
| PC0 | 192.168.1.10 | 255.255.255.0 | 192.168.1.1 |
| PC1 | 192.168.1.20 | 255.255.255.0 | 192.168.1.1 |
| PC2 | 192.168.1.30 | 255.255.255.0 | 192.168.1.1 |
第二组:Switch1 下(连接 Router1)
这一组属于 192.168.2.0/24 网段,默认网关是 Router1 的内网接口地址 192.168.2.1。
| 设备名称 | IP Address (IP地址) | Subnet Mask (子网掩码) | Default Gateway (默认网关) |
|---|---|---|---|
| PC3 | 192.168.2.10 | 255.255.255.0 | 192.168.2.1 |
| PC4 | 192.168.2.20 | 255.255.255.0 | 192.168.2.1 |
| PC5 | 192.168.2.30 | 255.255.255.0 | 192.168.2.1 |
| 在 Packet Tracer 中,双击 PC 图标 -> 选择 Desktop 选项卡 -> 点击 IP Configuration,确认勾选 Static(静态),然后填入上述对应数值即可 。 |


剩下几个类似
连接
路由器连路由器 (Router0 <—> Router1)
- Router0 的 FastEthernet0/0 连接到 Router1 的 FastEthernet0/0。
路由器连交换机 (Router <—> Switch)
- Router0 的 FastEthernet0/1 连接到 Switch0 的任意端口
- Router1 的 FastEthernet0/1 连接到 Switch1 的任意端口
交换机连电脑 (Switch <—> PC)
- Switch0 的剩余端口(如 F0/2, F0/3…)分别连接到 PC0, PC1, PC2 的 FastEthernet0。
- Switch1 的剩余端口分别连接到 PC3, PC4, PC5 的 FastEthernet0。


测试网络互通性
测试 PC0 到 Router0 (自己的网关)
- 双击 PC0 -> Desktop -> Command Prompt
- 输入命令:
ping 192.168.1.1(Router0 内网口) - 输入命令:
ping 10.0.0.1(Router0 公网口) - 结果都是通的


测试 PC0 到 Router1 (公网对端)
ping 10.0.0.2(Router1 公网口)

测试 PC0 到 Router1 连接的主机 (对方内网)
ping 192.168.2.1(Router1 内网口)ping 192.168.2.10(PC3)

配置IPSec VPN
网络基础环境已经全通,这一步的作用是告诉路由器:“如果有数据包是从 192.168.1.0 网段发往 192.168.2.0 网段的,不要直接转发,而是用 IPSec 协议把它加密封装起来,再发给对面的路由器。”
配置 Router0
点击 Router0,进入 CLI 模式:
1 | Router> enable |

点击 Router1,进入 CLI 模式。注意:配置与 Router0 几乎镜像,但 IP 地址和 ACL 方向要反过来。
1 | Router> enable |

验证配置结果

打开 PC0 的 Desktop -> Command Prompt,输入 ping 192.168.2.10

捕获数据: 点击模拟面板上的 Auto Capture / Play 按钮,观察数据包的传输动画 。


当数据包到达 Router0(或者离开 Router0)时,点击那个信封图标(数据包),打开 PDU Information 窗口。
- In Layers (入站 - 左侧):
- Layer 3: 源 IP 是
192.168.1.10,目的 IP 是192.168.2.10。 - 说明: 这是 PC0 发出的原始 ICMP 请求,地址都是内网私有地址。
- Layer 3: 源 IP 是
- Out Layers (出站 - 右侧):
- Layer 3: 源 IP 变成了
10.0.0.1,目的 IP 变成了10.0.0.2。 - 说明: 路由器为数据包加上了新的公网 IP 头部(隧道头),原始的内网 IP 信息已被隐藏在内部。

- Layer 3: 源 IP 变成了



