首页 / 资讯中心 / 文章详情

eNSP IPv6校园网双栈规划与设计实验:从拓扑到验收

eNSP IPv6校园网双栈规划与设计实验:从拓扑到验收 ★ FEATURED ARTICLE
简介一份面向网络工程学习者与课程实验教学场景的 eNSP IPv6 校园网规划与设计资料包围绕校园网拓扑搭建、地址规划与多协议联调展开适合正在做综合实验、课程设计或准备网络类答辩的读者参考。包内共 48 个文件以 cfg 设备配置、efz 模拟器工程、topo 拓扑文件为主另含 txt 命令说明、jpg 地址规划图与少量压缩包整体约 633KB导入后即可复现实验环境。内容覆盖 VLAN 划分、路由器子接口单臂路由、VRRP6、OSPFv3、防火墙安全策略、DHCPv6、IPv6 over IPv4 GRE 隧道及 IPv4/IPv6 默认路由等配置并附完整拓扑图、地址规划表、可直接粘贴的命令文本和全程配置参考视频。目前已有 5029 人学习便于对照拓扑理解协议协同、核对配置思路并排查联调问题。1. 双栈改造前的沙盘推演为什么校园网 IPv6 要先在仿真环境里跑通校园网从 IPv4 单栈切到 IPv6 双栈真正让人头疼的地方并不在命令记不记得住更麻烦的是配置一推上去半个学校的网跟着断排查还要等业务部门打电话来催。这套方案的思路很直接先在 eNSP 里把一张完整的校园网网络拓扑搭出来出口、核心、汇聚、接入四层齐全教学、宿舍、图书馆、实验楼、行政、服务器区若干个功能区全部铺开IPv6 的地址规划、路由收敛、访问控制、终端接入一次性跑通确认没有任何环路、黑洞和策略误伤再往真设备上搬。基于 eNSP 的 IPv6 校园网网络规划与设计实验正好承担这个沙盘角色设备型号、接口编号、命令语法和真实设备对得上实验里敲过的配置能直接照着抄。适合三类人要做网络方向毕设或课程设计、需要一份完整交付物的学生刚接手校园网运维、要拿出一份可评审的网络规划方案的从业者以及想把 IPv6 从“会配一个地址”练到“能讲清整张网怎么收敛”的人。2. 需求与选型从四类业务倒推设备清单和协议栈很多 IPv6 校园网的方案做不下去根子在需求没拆干净就开始画拓扑。画到一半发现宿舍区要做认证、服务器区要对外发布、无线要单独放 SSID于是回头改地址规划前面配好的 OSPFv3 全部要重来。我的习惯是先把业务侧的需求压成一张功能边界表再让设备清单和协议栈去对齐它顺序反过来基本等于给自己挖坑。2.1 四类业务需求对应的功能边界校园网看起来是一张网实际上跑的是四类完全不同的业务对网络的要求差异很大混在一起设计必然有一方将就。第一类是教学与办公上网。特点是终端数量大、位置分散、上下线频繁对带宽要求中等但对地址自动获取和 DNS 解析依赖极重。这类区域适合用 DHCPv6 有状态分配网关做在汇聚层方便按楼栋做流量统计和故障隔离。第二类是宿舍区接入。宿舍的特殊性在于人员流动和私接设备多一台路由器接进来就能把整个网段搞乱。设计上通常要把每个宿舍楼层单独切一个 VLAN接入交换机开启 RA Guard 一类的防护思路在 eNSP 里用 ACL 和端口隔离替代验证并且限制单个端口学习到的 IPv6 地址数量。第三类是服务器区。Web、DNS、文件服务这些需要固定地址对外发布不能靠 DHCPv6 动态下发全部用静态地址配置并且要在边界防火墙上做明确的进出方向策略。这一块的地址规划必须提前从总前缀里单独切一段出来不能和终端网段混在一起。第四类是无线覆盖。图书馆、报告厅这类区域有线口不够用需要 AC AP 的组网。无线用户的 IPv6 地址一般由 AC 或汇聚层的 DHCPv6 统一分配SSID 与 VLAN 一一对应避免有线无线地址段打架。把这四类拆开之后需求就变成了可执行的东西几个功能区、每个功能区多少个 VLAN、每个 VLAN 大概多少终端、哪些需要固定地址、哪些需要对外发布。后面所有的选型和规划都从这里推。2.2 仿真设备清单与选型理由eNSP 里可选的设备型号不少选型的原则是够用、能体现层次、不要太重导致仿真卡顿。下面这张表是这套方案实际用的清单规模控制在单机可流畅运行的范围内。层次设备角色型号数量说明出口层出口路由器AR22201上联模拟外网下联核心跑默认路由和 NAT出口层外网模拟AR22201模拟运营商侧提供一条 IPv6 出口链路核心层核心交换机S57002三层转发跑 OSPFv3互为主备汇聚层汇聚交换机S57004按功能区聚合终结部分 VLAN接入层接入交换机S37008端口密度够用支持 VLAN 与端口隔离安全边界防火墙USG6000V1服务器区防护策略验证无线无线控制器AC60051管理 AP统一下发无线业务 VLAN无线接入点AP 系列2覆盖图书馆与报告厅终端服务器Server3DNS、Web、文件服务各一台选 S5700 做核心和汇聚是因为它支持完整的 IPv6 三层特性OSPFv3、DHCPv6、ACL6 都能跑仿真里也不会因为设备太重拖慢启动。接入层用 S3700 主要是端口数量合适二层功能齐全做 Trunk 和端口隔离没有限制。出口用 AR2220 是因为它同时支持 IPv4 和 IPv6能演示双栈出口的完整链路一条 IPv4 走 NAT、一条 IPv6 走原生路由两种流量的处理差异在抓包里看得一清二楚。提示仿真环境里设备启动慢是常态建议先把所有设备启动完再连线否则容易出现接口状态一直不 Up 的假故障。2.3 四个必须在开工前定死的设计约束设备清单定了只是把材料备齐真正决定后面返工次数的是四个约束。这四个约束如果拖到配置阶段再想基本等于重做。第一个约束是双栈还是纯 IPv6。真实校园网几乎不可能一夜之间把所有 IPv4 业务下线所以方案必须按双栈设计同一台设备上 IPv4 和 IPv6 并存接口同时配两种地址路由协议分别跑 OSPF 和 OSPFv3。这一点决定了后面所有接口配置都是成对出现的不能只配一半。第二个约束是地址来源。校园网通常能拿到一段独立的 IPv6 前缀规模一般是 /48 或 /32。方案里统一用文档示例前缀2001:db8:a000::/48来演示实际部署时把这一段替换成真实申请到的前缀即可后面积累的划分逻辑完全复用。第三个约束是路由协议边界。核心层到汇聚层跑动态路由汇聚层到接入层只做二层出口层用静态默认路由兜底。这条边界一旦定下来就不会出现“接入交换机上也跑个 OSPF”的混乱局面故障域也能控制住。第四个约束是安全边界的位置。终端之间的横向访问在接入层做隔离功能区之间的访问在汇聚层做 ACL服务器区的进出在防火墙上做策略。三层各管一段责任清晰出了问题能快速定位是哪一层放行的。2.4 仿真阶段就要对齐真实设备的三个细节仿真跑通不等于真机能用中间隔着不少细节。做完这套实验之后我发现有三处如果仿真阶段不对齐搬到真机上一定出问题值得提前处理。第一处是接口命名。仿真里 GigabitEthernet0/0/1 这样的编号和真机不一定一致但配置里的接口引用是最容易抄错的地方。我一般会在方案文档里附一张接口对照表把仿真接口和真机面板上的编号一一对应实施时照着表改比现场猜要快得多。第二处是设备启动顺序和 STP 收敛时间。仿真里设备秒起真机冷启动加上生成树收敛可能要一分多钟这期间链路是不通的。方案里要把“先起核心再起汇聚最后起接入”的启动顺序写进实施步骤验收测试也要等收敛完成再开始否则会误判成配置错误。第三处是时间同步。OSPFv3 本身不依赖时钟但日志时间戳、证书、审计记录都依赖。仿真里经常忽略 NTP 配置真机上如果没有统一时间源出故障时翻日志基本没法对上号。方案里给核心交换机配一个内部 NTP 服务器其他设备指向它这个动作在仿真阶段就做完。3. 总体拓扑设计四层架构与六个功能区的职责划分拓扑图不是画给评审看的装饰它是后面每一行配置的依据。哪个口接哪台设备、哪个 VLAN 终结在哪一层、哪条链路断了走哪条备用路径这些都必须能从拓扑上直接读出来。这一章把四层架构的接法、功能区的划分和地址规划一次讲清楚后面配置阶段就不用再回头改结构。3.1 四层架构与链路冗余的具体接法出口层由两台 AR2220 组成一台扮演校园网出口路由器一台模拟运营商侧设备中间用一条串行或千兆链路相连。出口路由器向下用两条链路分别接两台核心交换机这两条链路都配 IPv6 地址并加入 OSPFv3正常情况下流量负载分担任意一条断开另一条能在几秒内收敛。核心层两台 S5700 之间用两条链路做链路聚合聚合口上配三层地址并启用 OSPFv3同时把两台核心的 Router ID 手工指定成不同的环回地址避免自动选举出一样的 ID 导致邻居起不来。核心到汇聚同样是双链路每台汇聚分别上联两台核心形成交叉连接任何一台核心宕机都不影响汇聚下的终端上网。汇聚层四台 S5700 按功能区划分一台管教学区一台管宿舍区一台管图书馆和实验楼一台管行政和服务器的接入。汇聚交换机下联接入层上联核心层本层终结各自功能区的主 VLAN并作为这些 VLAN 内终端的默认网关。接入层八台 S3700 分布在各个楼栋只做二层转发上联汇聚的口配成 Trunk允许对应功能区的 VLAN 通过。接入层不配任何三层地址也不跑路由协议把故障域压到最小。这套结构的关键在于每一层的职责是单一且不重叠的接入层管端口、汇聚层管网关和策略、核心层管路由和转发、出口层管内外边界。职责一重叠排障时就要在多个层面反复试探效率会掉一大截。3.2 六个功能区的 VLAN 与网段划分功能区划分的依据是业务属性相近、安全等级相同、故障影响范围可控。这套方案切了六个功能区每个功能区下再按楼栋或楼层细分 VLAN。功能区VLAN 范围IPv6 网段网关地址分配方式教学区10–192001:db8:a000:1xxx::/64汇聚层 VlanifDHCPv6 有状态实验楼20–292001:db8:a000:2xxx::/64汇聚层 VlanifDHCPv6 有状态图书馆30–392001:db8:a000:3xxx::/64汇聚层 VlanifSLAAC 无状态宿舍区40–592001:db8:a000:4xxx::/64汇聚层 VlanifDHCPv6 有状态 端口限速行政办公60–692001:db8:a000:5xxx::/64汇聚层 VlanifDHCPv6 有状态无线覆盖70–792001:db8:a000:6xxx::/64AC 或汇聚层 VlanifDHCPv6 有状态服务器区100–1092001:db8:a000:9xxx::/64防火墙或核心 Vlanif静态地址VLAN 编号留出间隔是有意为之。教学区占 10 到 19实验楼从 20 起中间的空号留给后续扩展或者临时实验网段不至于新加一个网段就要重排整个编号体系。宿舍区给了 20 个编号是因为宿舍楼栋多、每层可能还要再分预留空间必须足够。图书馆用 SLAAC 而不是 DHCPv6原因是图书馆的终端类型杂访客设备多DHCPv6 的地址池和租期管理成本高而无状态自动配置只需要下发 RA 前缀终端自己生成接口标识运维压力小很多。代价是无法精确追踪哪个地址属于哪台设备所以图书馆网段在 ACL 里的权限要卡得紧一些。服务器区单独一段不走 DHCPv6全部静态配置。这段地址要能从出口直接路由出去中间不能在防火墙上做地址转换否则外部访问会出问题。3.3 IPv6 地址规划从 /48 切到 /64 的分配逻辑IPv6 地址规划最容易犯的错误是把 IPv4 那套思路照搬过来觉得地址不够用就精打细算。实际上 IPv6 的标准做法是每个 VLAN 固定一个 /64因为 SLAAC 依赖 64 位前缀前缀长度不是 /64 的话无状态自动配置直接失效。所以规划的重点在于前 64 位怎么切而不是后 64 位怎么省。方案里用到的总前缀是2001:db8:a000::/48可用的第 4 段共 16 位。把它拆成两部分高 4 位做功能区低 12 位做 VLAN 序号。这样每个功能区可以容纳 4096 个 /64 网段对一所校园网来说绰绰有余。总前缀 2001:db8:a000::/48 功能区划分 2001:db8:a000:[F][VVV]::/64 F 功能区编号1 位十六进制 VVV VLAN 序号3 位十六进制 示例 教学区 VLAN 10 → 2001:db8:a000:100a::/64 实验楼 VLAN 21 → 2001:db8:a000:2015::/64 图书馆 VLAN 30 → 2001:db8:a000:301e::/64 服务器区 VLAN 100 → 2001:db8:a000:9064::/64这种写法比“按顺序平铺”稍微绕一点好处是看地址就能反推出它属于哪个功能区。排障时抓到一个2001:db8:a000:4xxx的报文不用查表就知道是宿舍区来的定位速度快很多。除了业务网段还有两类地址要单独规划。一类是设备互联地址方案里统一用2001:db8:ff::/64这一段按接口编号区分比如核心到出口的链路用2001:db8:ff::1/64和::2/64。另一类是设备环回地址用2001:db8:aa00::/64每台三层设备配一个Router ID 就用这个地址稳定且不受物理接口状态影响。注意环回地址一定要在 OSPFv3 进程里宣告出去否则邻居虽然能建立但路由表里查不到对端的 Router ID 对应的路由某些场景下会导致路径计算异常。3.4 路由协议选型OSPFv3 主干加静态兜底校园网的路由结构不算复杂但也不能全用静态路由硬扛楼栋一多静态路由表会膨胀到没法维护。这套方案的选择是核心层与汇聚层之间跑 OSPFv3出口层用静态默认路由两者分工明确。OSPFv3 相比 OSPFv2 的差别不只是地址族。它把地址从协议报文里剥离出来拓扑计算和地址分发彻底分开邻居建立不依赖接口地址是否在同一网段这一点在双栈环境里非常实用。配置上OSPFv3 的进程和区域在系统视图下启用接口上只需要把接口挂进对应区域不用像 OSPFv2 那样写 network 宣告。全部设备放在同一个区域 0 里对这套规模的网络完全够用。如果功能区继续扩张到十几个汇聚节点再考虑划分多区域用 ABR 做区域间汇总。现阶段强行分区域只会增加配置量和排障难度收益不明显。出口层不跑 OSPFv3只配一条指向外网的静态默认路由并通过default-route-advertise把默认路由注入 OSPFv3让核心和汇聚都能学到出口方向。这样做的好处是出口链路切换完全由静态路由和接口状态决定不受 OSPF 收敛时间影响坏处是出口如果有两条链路需要靠浮动静态路由或者链路检测来切换方案里目前只有一条出口链路暂时不涉及这个复杂度。4. 关键配置落地VLAN、OSPFv3、DHCPv6 与 ACL 的具体写法前面三章定的是结构这一章开始动真格敲命令。所有的配置都按“先二层后三层、先底层后上层、先通后通得安全”的顺序推进每一步配完都要能验证不能一口气全写完再测那样出了问题根本不知道是哪一步引入的。4.1 接入层 VLAN 与 Trunk 配置接入交换机的工作最单纯把终端划进对应的 VLAN把上行口配成 Trunk 放行这些 VLAN。这一步配错后面所有三层配置都白搭所以要先做、先测。# 接入交换机创建业务 VLAN配置终端接入口和上行 Trunk vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 # # 终端接入口划入教学区 VLAN 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 # # 第二个接入口划入实验楼 VLAN 20 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30 undo port trunk allow-pass vlan 1 # # 上行口放行三个业务 VLAN同时禁止 VLAN 1 通过这段配置里有两点值得说。第一undo port trunk allow-pass vlan 1是必须的。华为设备 Trunk 口默认放行 VLAN 1如果不清掉未使用的端口和上行口之间存在一条隐式的 VLAN 1 通路生成树和广播报文会从这里漏过去排查起来极其费劲。第二接入口用 access 模式而不是 hybrid是因为终端侧不需要打标签混合模式只会增加理解成本。配完之后立刻验证在两台接入交换机下的终端上分别看能不能拿到同网段的地址这时候还没配 DHCPv6手工配一个静态地址测连通性能 ping 通同 VLAN 内的另一台终端说明二层通了。同时要 ping 一下不同 VLAN 的终端确认不通这一步是在验证隔离是否生效。汇聚交换机上对应的接口配成 Trunk允许相同的 VLAN 通过并且把 VLAN 的三层接口建出来。# 汇聚交换机上行 Trunk 业务 VLAN 三层接口 vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30 undo port trunk allow-pass vlan 1 interface Vlanif10 ipv6 enable ipv6 address 2001:db8:a000:100a::1/64 # # 教学区 VLAN 10 网关前缀与规划表一致 interface Vlanif20 ipv6 enable ipv6 address 2001:db8:a000:2015::1/64ipv6 enable这一行在较新的 VRP 版本里配了ipv6 address之后会自动生效但显式写出来更保险尤其是在做设备替换或者配置回滚的时候缺这一行会导致接口不处理 IPv6 报文而现象是“地址配了但 ping 不通”很容易误判成路由问题。4.2 核心交换机的 OSPFv3 与默认路由下发核心层的任务是让所有功能区之间能互通同时把去往出口的流量引导对。OSPFv3 在这里承担前者静态默认路由承担后者。# 核心交换机 AOSPFv3 进程、环回口与接口挂载 ospfv3 1 router-id 10.0.0.1 # # 手工指定 Router ID避免自动选举出重复值 interface LoopBack0 ipv6 enable ipv6 address 2001:db8:aa00::1/64 ospfv3 1 area 0.0.0.0 interface Vlanif100 ipv6 enable ipv6 address 2001:db8:ff::1/64 ospfv3 1 area 0.0.0.0 # # 核心到汇聚的互联接口加入骨干区域Router ID 用 IPv4 格式写是 OSPFv3 的规定虽然协议跑的是 IPv6但 Router ID 仍然是 32 位点分十进制。两台核心必须手工指定成不同的值否则在环回口地址还没起来的时候自动选举可能选出同一个 ID邻居关系会一直卡在 Init 状态日志里反复刷“Router ID conflict”不看日志基本猜不到原因。汇聚交换机上做同样的配置把各自的环回口和上行接口挂进 OSPFv3 区域 0。全部配完之后用display ospfv3 peer检查邻居状态正常情况下应该全部是 Full。只要有一台是 Init 或者 ExStart直接去看两端的 Router ID、接口是否加入了同一个区域、以及链路层是否真的 Up。默认路由的注入在出口路由器上做核心层负责接收。# 出口路由器静态默认路由 注入 OSPFv3 ipv6 route-static :: 0 2001:db8:ff::2 ospfv3 1 default-route-advertise always # # always 表示无条件注入不管本地是否有默认路由default-route-advertise always这个参数要谨慎用。不加always的时候只有本地路由表里存在一条默认路由OSPFv3 才会把它注入出去这是更安全的做法能避免设备在没有任何出口的情况下还把默认路由散出去形成黑洞。加always是为了在仿真环境里简化演示真实部署时建议去掉always让协议自己去判断。4.3 DHCPv6 有状态分配与 SLAAC 无状态分配的分工地址分配方式的选择在规划阶段定了配置阶段要把它落实。两种方式的配置差异不小混在一台设备上时尤其要注意别让终端拿到两套地址。先看在汇聚交换机上配 DHCPv6 服务端。# 汇聚交换机DHCPv6 地址池与接口下发 dhcp enable dhcpv6 pool JIAOXUE address prefix 2001:db8:a000:100a::/64 excluded-address 2001:db8:a000:100a::1 dns-server 2001:db8:a000:9064::53 information-refresh time 86400 # # 教学区地址池排除网关地址指定 DNS interface Vlanif10 ipv6 enable ipv6 address 2001:db8:a000:100a::1/64 dhcpv6 server JIAOXUE undo ipv6 nd ra halt ipv6 nd autoconfig managed-address-flag ipv6 nd autoconfig other-flag # # 开启 RA 通告设置 M 位和 O 位让终端走 DHCPv6 获取地址这里的关键是 M 位和 O 位。managed-address-flag置位表示终端应该通过 DHCPv6 获取地址other-flag置位表示 DNS 等其他配置也走 DHCPv6。两个都置上Windows 和 Linux 终端的行为才是确定的。如果不置 M 位终端会同时做 SLAAC 生成一个地址和 DHCPv6 拿一个地址一块网卡上挂两个 IPv6 地址看起来能用但做 ACL 和审计时会非常痛苦。RA 通告默认是关闭的必须用undo ipv6 nd ra halt打开这一行漏掉的现象是“地址池配得没问题但终端就是拿不到地址”因为终端根本不知道网络里有 DHCPv6 服务器。图书馆的网段走 SLAAC配置简单很多。# 汇聚交换机图书馆网段启用 SLAAC interface Vlanif30 ipv6 enable ipv6 address 2001:db8:a000:301e::1/64 undo ipv6 nd ra halt undo ipv6 nd autoconfig managed-address-flag undo ipv6 nd autoconfig other-flag # # 不置 M 位终端通过 RA 前缀自行生成地址不置 M 位的情况下终端收到 RA 里的 /64 前缀加上自己的接口标识通常是 EUI-64 或者随机生成自动组成一个完整地址。这种方式的优点是完全去中心化网关不用维护租约表缺点是地址与设备的对应关系不可控所以这个网段的访问策略要按网段整体做不能按单机做。无线区域的地址分配要单独处理。AC 上配置 DHCPv6 地址池并下发给 AP 管理的无线用户SSID 与 VLAN 绑定同一台 AC 下的不同 SSID 对应不同的网段。配置逻辑和有线一样只是下发接口从物理口换成了无线业务接口。4.4 服务器区边界与 ACL 访问控制服务器区的安全设计分两层一层是功能区之间的横向访问控制在汇聚或核心上做另一层是服务器区的进出控制在防火墙上做。先看汇聚层上限制宿舍区访问服务器区管理口的需求。宿舍区的终端不应该能直接访问服务器区的管理网段但可以访问对外的 Web 服务这就需要用 ACL 区分目的地址。# 核心交换机IPv6 ACL 限制宿舍区到服务器管理网段的访问 acl ipv6 3000 rule 5 deny ipv6 source 2001:db8:a000:4:::0/48 destination 2001:db8:a000:9090::/64 rule 10 permit ipv6 # # 拒绝宿舍区访问服务器管理网段其余放行 interface Vlanif40 ipv6 enable ipv6 address 2001:db8:a000:4019::1/64 traffic-filter ipv6 inbound acl 3000 # # 在宿舍区网关入方向应用 ACLACL 应用的方向容易搞反。inbound表示从终端进入网关方向的流量outbound是网关发往终端的方向。限制终端访问某个目标要在 inbound 方向做因为报文还没经过路由查表源地址是明确的终端地址。如果配到 outbound 上源地址已经变成网关自己了规则匹配不上ACL 等于没生效。再看防火墙侧的配置。服务器区的进出流量全部经过防火墙防火墙内外两个接口分别配 IPv6 地址安全区域划分清楚然后按业务开放端口。# 防火墙安全区域与 IPv6 策略 interface GigabitEthernet1/0/1 ipv6 enable ipv6 address 2001:db8:a000:9063::1/64 interface GigabitEthernet1/0/2 ipv6 enable ipv6 address 2001:db8:a000:9064::1/64 # # 两个接口分别连核心和服务器区交换机 security-policy rule name allow-web-inbound source-zone untrust destination-zone dmz destination-address 2001:db8:a000:9064::80/128 service http action permit rule name deny-other source-zone untrust destination-zone dmz action deny策略的顺序很重要允许规则必须写在拒绝规则前面因为防火墙是自上而下匹配命中即停。这条规则只放行了 80 端口其他所有从外到内的流量全部拒绝服务器区对外暴露面被压到最小。配完这些之后测试要分三个方向做宿舍区终端访问服务器 Web 服务应该通宿舍区终端访问服务器管理地址应该不通外网模拟设备访问服务器 Web 服务应该通访问其他端口应该不通。四个测试全过安全策略这块才算落地。5. 常见问题排查五类最容易翻车的现象与定位路径这套实验做完我在配置阶段踩的坑比设计阶段多得多。很多问题的现象长得很像都是“地址有、就是不通”但根因分布在完全不同的层。下面这五类是我遇到的频率最高、也最容易在答辩现场被问到的。5.1 现象一终端拿到了 IPv6 地址但 ping 不通网关现象很典型终端上ipconfig能看到一个2001:db8:a000:100a开头的地址看起来一切正常但 ping 网关地址超时也上不了网。原因通常有两个。一个是网关接口上只配了ipv6 address但没配ipv6 enable接口不处理 IPv6 报文地址表里有记录但转发面是关的。另一个是 VLAN 没有在三层接口上正确对应终端的 VLAN 是 10但网关建的是 Vlanif 20二层能通、三层断了。解决办法是先display ipv6 interface Vlanif10看接口状态是不是 Up、IPv6 是不是 enabled再display vlan 10确认终端所在端口确实划进了 VLAN 10最后在网关上display ipv6 neighbors看有没有学到终端的地址。三份输出一对问题基本就定位了。5.2 现象二同 VLAN 内能互通跨 VLAN 不通同网段终端互 ping 正常一跨网段就断说明二层没问题问题在三层路由或者网关配置。最常见的原因是汇聚交换机上没有开启 IPv6 转发。部分设备型号默认关闭 IPv6 转发功能需要全局执行ipv6命令开启不开的话接口地址能配、邻居能学但转发表里没有 IPv6 条目报文到了直接被丢。另一个原因是网关只在一台汇聚上配了但终端的实际接入交换机上联的是另一台汇聚两台之间没有打通。这种情况要检查生成树和 Trunk 是否把 VLAN 正确透传到了终端所在的那条路径上。排查顺序是先在网关上display ipv6 routing-table看目标网段有没有路由再看display ospfv3 peer邻居是否 Full最后在两端做tracert ipv6看在哪一跳断掉。三跳之内一定能找到断点。5.3 现象三OSPFv3 邻居起不来一直卡在 Initdisplay ospfv3 peer里对端状态一直是 Init说明本端收到了对端的 Hello 报文但对端没有收到本端的或者收到了但不认。原因之一是 Router ID 冲突。两台设备的 Router ID 相同协议会认为这是自己发的报文直接丢弃状态永远上不去。这也是为什么前面强调必须手工指定 Router ID 且不能重复。原因之二是链路两端不在同一个区域。一端配了 area 0.0.0.0另一端配成了 area 0.0.0.1Hello 报文里的区域 ID 不匹配邻居建立不了。这个错误在做多区域实验时特别容易出现因为区域号是手工敲的。原因之三是接口上ospfv3 1 area 0.0.0.0这行漏了。地址配了、ipv6 enable也配了但没把接口挂进 OSPFv3 进程协议根本不知道这个接口要参与路由。解决方式是把两端配置逐行对齐重点看 Router ID、区域号、接口挂载这三处。如果三处都一致还是起不来用display ospfv3 interface看接口是不是被正确识别有时候接口上有 ACL 把组播报文挡了也会导致 Hello 收不到。5.4 现象四DHCPv6 配了终端拿不到地址地址池建了、接口也绑了终端就是拿不到地址或者拿到的是自己生成的 SLAAC 地址。先看 RA。undo ipv6 nd ra halt这行没配的话RA 报文根本不发终端不知道有 DHCPv6 服务器存在。用抓包工具在终端侧看有没有 RA 报文没有就是这个原因。再看 M 位。如果 M 位没置终端会优先做 SLAAC生成一个地址就不再请求 DHCPv6 了。现象是终端确实有 IPv6 地址但地址前缀虽然是规划的那段接口标识却是随机生成的和地址池分配的地址对不上。还有一种情况是地址池的前缀和接口地址不在同一网段。DHCPv6 分配时会检查地址池前缀与接口地址是否匹配不匹配直接拒绝分配日志里有明确提示但容易被忽略。地址池里的address prefix必须和Vlanif下的ipv6 address前缀完全一致。5.5 现象五ACL 配了但完全不生效规则写好了、接口也应用了测试发现该拒绝的流量照样通。第一个原因是 ACL 应用方向搞反了前面已经说过限制终端访问要在 inbound 方向做。第二个原因是规则顺序问题rule 5写了一条 permit any后面再写 deny 就永远走不到因为报文在第一条就放行了。第三个原因是 ACL 编号段用错IPv6 ACL 的编号范围是 3000 到 3999用了 2000 段的话设备会当成 IPv4 ACL 处理IPv6 流量完全不匹配。验证方式是display acl ipv6 3000看规则是否按预期顺序排列再display traffic-filter applied-record看接口上到底应用了哪个 ACL。如果规则命中计数一直是 0说明报文根本没走到这条 ACL去查接口方向和流量路径而不是继续改规则。5.6 三层定位法从链路到路由再到策略上面五类问题归到底排查顺序其实可以固定成三层。第一层看链路。物理口是不是 UpVLAN 是不是划对Trunk 是不是放行了。用display interface brief和display vlan就能查完这一步不通后面的都不用看。第二层看路由。display ipv6 routing-table看目标网段在不在表里display ospfv3 peer看邻居状态。路由不通就是协议配置或者区域划分的问题。第三层看策略。路由通了但流量过不去基本就是 ACL、防火墙策略或者端口隔离在起作用。用display acl ipv6和display traffic-filter逐个排查。这个顺序的关键是不能跳。很多人一上来就怀疑 ACL改了半天发现是链路没 Up白白浪费两小时。6. 验收与答辩用什么测试项证明这张网真的跑通了方案交上去评审和导师不会看你配了多少行命令他们看的是“你能不能说清楚这张网现在是什么状态以及你怎么证明它符合设计”。所以验收测试项要提前设计好每一项对应一个设计目标测试命令和预期结果都写清楚现场演示时按表走。这套方案的验收表大致是这样测试项测试方法预期结果地址分配终端执行ipconfig或ip addr拿到规划网段的 /64 地址网关和 DNS 正确网关可达终端 ping 网关地址通时延正常跨区互通教学区终端 ping 行政办公终端通路由跳数符合拓扑路由协议display ospfv3 peer所有邻居状态为 Full路由表display ipv6 routing-table各功能区网段均在表中默认路由指向出口冗余切换断开一条核心上联链路业务在秒级恢复不中断安全策略宿舍区访问服务器管理口不通ACL 命中计数增加边界策略外网访问服务器非 Web 端口不通防火墙拒绝日志有记录出口连通终端 ping 外网模拟设备通源地址为校园网前缀双栈共存同一终端 ping IPv4 和 IPv6 目标两条协议栈同时可用这张表的分量比一张拓扑图重得多。拓扑图谁都能画但能不能把每一项测出来、测出来的结果对不对才是判断这套方案有没有真正落地的标准。答辩时最容易被追问的是两个地方。第一个是“为什么这么划 VLAN 和网段”回答要落到业务属性和安全等级上而不是“老师给的模板就是这样”。第二个是“如果核心交换机宕机一台会怎样”这时候要能立刻说出流量怎么切、切换时间大概多少、哪些会话会断而不是含糊地说“有冗余”。现场演示的技巧是先测通再测不通。先把地址分配、跨区互通、出口连通这几项跑一遍让评审看到网络是活的再断一条链路做冗余演示最后测安全策略展示某个该拒绝的访问确实被挡住了。顺序反过来会很被动一上来就演示不通的项容易被怀疑是网络本身有问题。还有个细节所有测试命令提前写在一个文本文件里现场直接复制粘贴不要手敲。仿真环境里命令补全有时不灵敲错一个字符要重来演示节奏会乱。我吃过一次亏在现场把display ospfv3 peer敲成了display ospf peer屏幕空白了十几秒只能硬着头皮解释“这是 IPv4 的进程”场面相当尴尬。从那以后我每次做网络方案验收都强制走一遍“命令清单预演”把要演示的每一条命令在实验环境里从头到尾敲一遍把输出截图存好现场即使设备抽风也能拿出来对照着讲。这套习惯救过我不止一次。希望这套结构能帮到你把 IPv6 校园网这块从“能配”做到“能讲、能验收”。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站