简介:面向网络工程学习者与课程实验者的IPv6校园网综合实验资源,围绕eNSP模拟环境完成从拓扑规划到设备配置的完整落地,适合正在学习IPv6组网、准备课程设计或需要复现综合实验的读者。压缩包共48个文件、约633KB,以19个cfg设备配置、15个efz模拟器工程文件为主,另含topo拓扑、地址规划图与命令文本,可直接导入设备或对照粘贴运行。内容覆盖VLAN划分、单臂路由子接口、VRRP6、OSPFv3、防火墙安全策略、DHCPv6、IPv6 over IPv4 GRE隧道及IPv4/IPv6默认路由等关键技术,并配有全程配置参考视频与整理好的命令清单,便于边看边练、快速排错。目前已有5029人学习下载,适合作为IPv6校园网综合实验的参考范本与配置对照材料。
1. 从一次实验课翻车说起:IPv6 校园网规划到底难在哪
第一次带学生做 IPv6 校园网实验,拓扑画得挺漂亮,地址也分好了,结果一敲ping6全红。排查半天发现是 OSPFv3 的 router-id 没配,进程起不来,链路状态邻居一个都没建立。这件事让我意识到,IPv6 校园网规划与设计实验的难点不在「会不会配命令」,而在「地址规划、路由协议、双栈过渡、安全策略这几件事能不能串成一条线」。这套基于 eNSP 的完整实验方案,面向的正是要做网络课程设计、毕设或实验报告的人:它给出一套从需求分析到拓扑搭建、从地址规划到路由收敛、从验证测试到文档输出的完整链路,照着做能跑通,拆开看能讲清每一层为什么这么设计。关键词「网络拓扑」「校园网搭建」「IPv6」在这里不是三个孤立的名词,而是同一套方案里互相咬合的三块骨头。
2. 需求与总体架构:三层结构撑起一张可验证的校园网
2.1 先把需求翻译成可验收的指标
做校园网搭建,最怕上来就拖设备。我一般会先逼自己回答四个问题:这张网服务谁、分几个区域、每个区域要什么隔离级别、出口怎么和外部互通。落到 IPv6 校园网这个场景,需求通常可以拆成下面这张表,每一项都对应后面能测的东西,而不是写完就扔的场面话。
| 需求维度 | 具体要求 | 验收对应点 |
|---|---|---|
| 用户规模 | 教学区、宿舍区、办公区三类接入 | 三个 VLAN 网段各自可达 |
| 地址体系 | 全局单播 + 链路本地 + 组播 | 每台设备有合法 GUA,ping6通 |
| 路由 | 内部动态路由,出口默认路由 | 路由表收敛,跨区互通 |
| 隔离 | 宿舍区与办公区互访受限 | ACL6 策略生效 |
| 过渡 | 与 IPv4 网络共存 | 双栈接口可同时通 v4/v6 |
这张表的价值在于,它把「校园网搭建」从一句口号变成了五条能打勾的验收线。很多实验报告写不下去,就是因为需求阶段只写了「实现校园网互联互通」,后面根本没法证明自己做到了什么程度。
2.2 三层架构与设备角色划分
总体架构我倾向用经典的三层模型,但在 eNSP 里要落到具体设备型号和接口上,否则就是纸上谈兵。核心层放两台三层交换机做冗余和路由核心,汇聚层按区域划分承担策略下发,接入层用二层交换机接终端。出口位置放一台路由器模拟边界,负责默认路由和 NAT64 或双栈出口的演示。
接入层(二层交换机)── 汇聚层(三层交换机,区域策略) │ │ └──────── 核心层(双三层交换机,OSPFv3 骨干)──── 出口路由器这个结构里,核心层跑 OSPFv3 骨干区域,汇聚层作为 ABR 连接各区域,接入层只做 VLAN 划分和端口隔离。为什么不让接入层也跑路由?因为实验里设备一多,路由进程铺到接入层会让 LSDB 膨胀、排错成本翻倍,而且接入层本来就不该承担路由决策。这是我在多个模拟项目里踩出来的取舍:能二层解决的不上三层,能静态的不上动态,除非需求明确要求。
2.3 地址规划:把 /64 用出层次感
IPv6 地址规划是这套方案里最容易被敷衍、又最能体现设计水平的部分。校园网通常能拿到一个 /48 或 /56 的前缀,往下切要体现「区域—楼栋—VLAN」的层次。我一般按下面的规则切:
- 核心互联用 /127 或 /126,点对点链路不浪费;
- 每个汇聚区域分一个 /52,区域内再按楼栋切 /56;
- 每个 VLAN 固定一个 /64,终端 SLAAC 自动获取;
- 链路本地地址靠 EUI-64 自动生成,不手工配。
这样切的好处是,看到地址就知道设备在哪一层、哪个区域,排错时不用翻表。下面是一段在汇聚交换机上给 VLAN 配 GUA 的示例,接口地址和 RA 一起配,终端才能自动拿到前缀。
# 汇聚交换机:为教学区 VLAN 10 配置 IPv6 网关 system-view ipv6 vlan 10 quit interface Vlanif10 ipv6 enable ipv6 address 2001:DB8:10:10::1/64 # 区域:楼栋:VLAN 的层次化前缀 undo ipv6 nd ra halt # 放行 RA,终端才能 SLAAC ipv6 nd prefix 2001:DB8:10:10::/64 2592000 604800 # 前缀有效期/首选期 quitipv6 nd ra halt默认是开启的,也就是默认不发 RA,这是新手最常见的翻车点之一——地址配了、接口 up 了,终端就是拿不到地址。ipv6 nd prefix的两个时间参数分别是有效生命周期和首选生命周期,实验里给 30 天和 7 天足够,生产环境要按实际租期调。地址里的10:10不是随便写的,第一位对应区域编号,第二位对应楼栋或 VLAN 组,这套编码规则要写进设计文档,答辩时被问到「你怎么规划地址的」才答得上来。
3. 路由与协议落地:OSPFv3 打通内部,双栈守住出口
3.1 OSPFv3 进程与区域划分
内部路由选 OSPFv3 而不是 RIPng,理由很实际:校园网区域多、链路多,RIPng 的 15 跳限制和慢收敛撑不住,而且 OSPFv3 天然按区域划分,和前面的三层架构对得上。配置上有两个坑必须提前说:一是 router-id 必须手工指定,IPv6 的 OSPFv3 不会像 v2 那样自动选一个接口地址当 ID;二是进程要在接口上显式使能,光在进程里 network 是不够的。
# 核心交换机:OSPFv3 骨干区域配置 ospfv3 1 router-id 10.0.0.1 # 必须手工配,否则进程起不来 quit interface Vlanif100 ipv6 enable ipv6 address 2001:DB8:0:1::1/64 ospfv3 1 area 0.0.0.0 # 接口级使能,别漏 quit interface Vlanif101 ipv6 enable ipv6 address 2001:DB8:0:2::1/64 ospfv3 1 area 0.0.0.0 quitrouter-id用 IPv4 格式的点分十进制,这是协议规定,不是笔误。接口级ospfv3 1 area 0.0.0.0这一行是很多人漏掉的关键——只在进程视图里配了 area,接口不使能,邻居永远建不起来。汇聚层作为 ABR,一个接口在 area 0,面向接入的接口在 area 1 或 area 2,区域边界自然形成路由汇总点。
3.2 区域间路由与默认路由下发
出口路由器上配一条指向外部的默认路由,再通过 OSPFv3 把它注入内部,这样核心和汇聚就不用逐条学外部明细。注入默认路由用default-route-advertise,但要注意它只在本地存在默认路由时才生效,顺序反了就不下发。
# 出口路由器:默认路由 + 注入 OSPFv3 ipv6 route-static :: 0 2001:DB8:FFFF::1 # 指向模拟外网 ospfv3 1 default-route-advertise always # always 保证无条件注入 quitalways参数在实验里很实用,因为模拟外网的对端可能没真正配通,不加它默认路由不注入,内部区域就学不到出口。生产环境慎用always,要确认本地默认路由真实有效再注入,否则会把流量引向黑洞。这个差别写进报告里,能体现你理解参数背后的语义,而不是照抄命令。
3.3 双栈与过渡:让 v4 和 v6 各走各的路
校园网不可能一夜之间全上 IPv6,双栈是现实选择。做法是在核心和出口的关键接口上同时配 v4 和 v6 地址,路由协议各跑各的:v4 用 OSPFv2 或静态,v6 用 OSPFv3,两套转发表互不干扰。下面这段展示同一接口双栈配置,注意 v4 和 v6 的使能命令是分开的。
interface GigabitEthernet0/0/1 ip address 192.168.1.1 255.255.255.0 ipv6 enable ipv6 address 2001:DB8:1:1::1/64 ospfv3 1 area 0.0.0.0 quit双栈的关键不是配置,而是想清楚哪些流量走 v6、哪些还留在 v4。实验里我一般要求学生在出口做一条策略路由或 ACL6,明确「教学区优先 v6、遗留系统走 v4」,这样报告里就有策略设计的痕迹,而不是简单堆两条地址。过渡技术像 NAT64、DS-Lite 在 eNSP 里支持有限,方案里点到为止、说明适用场景即可,不必强行配通,否则容易在设备兼容性上耗掉大半时间。
4. 安全策略与接入控制:ACL6 把隔离做实
4.1 ACL6 的基本写法与匹配顺序
IPv6 的 ACL 和 v4 长得像但细节不同,最典型的是没有通配符掩码,前缀长度直接写在地址后面,而且默认动作、匹配顺序要心里有数。校园网里最常见的策略是「宿舍区不能访问办公区服务器网段」,用 ACL6 在汇聚层接口入方向下发。
# 汇聚交换机:禁止宿舍区访问办公区服务器网段 acl ipv6 number 3000 rule 5 deny ipv6 source 2001:DB8:20::/64 destination 2001:DB8:30::/64 rule 10 permit ipv6 quit interface Vlanif20 ipv6 traffic-filter 3000 inbound quitrule 5和rule 10之间的步长留空是习惯,方便以后插规则。最后那条permit ipv6千万别省——ACL 末尾默认是 deny,不写放行规则,整个宿舍区除了被禁的那条,其他流量也全断了,这是血泪经验。ipv6 traffic-filter挂在入方向,流量进接口就先过滤,比出方向省资源,也更容易定位问题来源。
4.2 接入层端口安全与 RA Guard 思路
接入层除了 VLAN 划分,还要防两类问题:私接路由器和伪造 RA。eNSP 对 RA Guard 的支持视版本而定,方案里可以先用端口隔离和静态绑定把基础做扎实,再说明 RA Guard 的部署位置和原理。端口隔离让同一 VLAN 内的终端互不可见,减少横向扩散;静态绑定把 MAC 和端口锁死,防止随意换设备。
interface Ethernet0/0/1 port link-type access port default vlan 10 port-isolate enable group 1 # 同组端口二层隔离 quitport-isolate enable只隔离同组内的端口,上行口不加入隔离组,这样终端之间不通但都能上网。这个配置在宿舍区特别有用,能挡住大部分 ARP 欺骗和广播风暴的苗头。RA Guard 的原理是在接入端口丢弃非授权 RA,防止有人插个路由器发假前缀把终端带偏,实验环境里如果设备不支持,就在报告里写清「设计上预留、受限于模拟器未验证」,比硬编一个假结果诚实得多。
5. 避坑与排查:实验里最容易翻车的五个点
5.1 邻居起不来,先看 router-id 和接口使能
现象是display ospfv3 peer一片空白,邻居状态卡在 Down 或 Init。原因八成是两个:进程没配 router-id,或者接口上漏了ospfv3 1 area x。解决顺序是先display ospfv3 1看进程状态和 router-id,再逐个接口display this确认使能行在不在。我见过最隐蔽的一次是接口配了 v6 地址但忘了ipv6 enable,地址显示Tentative,邻居自然建不起来。
5.2 终端拿不到地址,RA 被 halt 了
现象是 PC 配了自动获取,ipconfig里 IPv6 地址为空或只有链路本地。原因是 VLAN 接口默认ipv6 nd ra halt,RA 不发,SLAAC 无从谈起。解决就是undo ipv6 nd ra halt,再确认ipv6 nd prefix的前缀和接口地址一致。顺带检查接入交换机有没有把 RA 当组播丢了,VLAN 透传要放行。
5.3 跨区不通,路由表里没明细
现象是同一区域能通、跨区域 ping6 失败。原因通常是 ABR 没做区域间路由通告,或者默认路由没注入。排查用display ipv6 routing-table看目标网段有没有条目,再看 ABR 上display ospfv3 lsdb确认区域间 LSA 存在。解决是在 ABR 上确认两个接口分属不同区域,必要时手工配abr-summary做汇总。
5.4 ACL 一挂全断,末尾少了 permit
现象是策略下发后整个网段失联。原因就是 ACL6 末尾默认 deny,只写了 deny 规则没写放行。解决是在规则末尾补rule 100 permit ipv6,并且用display acl ipv6 3000核对匹配计数,看流量到底命中了哪条。上线前先在测试 VLAN 验证,别直接挂生产接口。
5.5 双栈接口只通一边,地址族没对齐
现象是 v4 能 ping 通、v6 不通,或者反过来。原因多是接口只配了一个地址族,或者路由协议只跑了一套。解决是逐接口核对ip address和ipv6 address是否都在,ospfv3和ospf是否都使能,再用display ipv6 interface brief和display ip interface brief对照状态。
6. 验收与答辩:用一张测试表把方案讲圆
验收这件事,我一般要求学生先做一张测试表,把每条需求对应到一个可执行的测试命令和预期结果,答辩时按表走,比临场发挥稳得多。表不用花哨,四列足够:测试项、命令、预期、实际。下面给一个节选,实际报告里按需求表逐条展开。
| 测试项 | 命令 | 预期结果 |
|---|---|---|
| 终端获取 GUA | ipconfig | 显示 2001:DB8 开头地址 |
| 区域内互通 | ping6 2001:DB8:10:10::1 | 通,时延正常 |
| 跨区域互通 | ping6 2001:DB8:30:30::1 | 通,路由收敛后稳定 |
| 隔离策略 | 宿舍区 ping 办公区服务器 | 不通,ACL 计数增长 |
| 出口可达 | tracert6外网地址 | 经默认路由出边界 |
答辩时最容易被追问的三个问题,提前准备好答案:地址为什么这么切、为什么选 OSPFv3 不选 RIPng、隔离策略挂在哪一层为什么。回答的套路不是背概念,而是把「需求—设计—验证」这条线复述一遍,比如「因为宿舍区和办公区要隔离,所以 ACL6 挂在汇聚层入方向,测试表第四行就是验证它」。另外,把排错过程也写进报告,比如邻居起不来怎么定位到 router-id,这种细节比堆配置截图更能体现你真的动手做过。
我自己的习惯是,每次交方案前强制走一遍「拔掉一条链路再测」的流程——断开核心间的一条互联,看 OSPFv3 能不能重新收敛、业务会不会断。这一步能暴露很多平时看不出来的单点问题,也是答辩时最能加分的实操细节。从那以后我每次做网络方案,验收表里必留一行「故障切换测试」,不测完不敢交。希望这套结构能帮到你,把实验报告从「配通了」写到「设计清楚了」。
本文还有配套的精品资源,点击获取