简介基于IPv6的中小型企业网设计与实现文档面向网络工程师、企业IT规划人员及高校网络专业学生针对IPv4地址耗尽后企业网络规模扩大、管理复杂等痛点提供了从IPv6协议研究、IPv4/IPv6对比到过渡兼容方案落地的完整思路。文档重点分析了双协议栈、隧道技术、NAT64/DNS64等典型过渡方案并结合企业网核心层、分布层、接入层的层次化架构设计给出了设备选型与配置要点最后通过GNS3仿真模拟和ICMP连通性测试验证方案可行性兼顾理论讲解与实操参考。资源为1个docx文档文件包大小约1.79MB目录涵盖绪论、IPv6协议研究、网络规划、实施与兼容性方案等章节便于按需查阅。目前已有528人学习下载适合作为企业IPv6改造前的方案参考或相关课程设计、毕业设计的参考资料。1. 一份能复现的IPv6企业网设计从协议对比到GNS3仿真2011年IPv4地址空间宣布耗尽之后中小型企业网其实最先承压地址不够分、骨干路由表膨胀、设备配置越来越多想升级却又不敢推翻现有网络。这份资源是一份完整的基于IPv6的中小型企业网设计与实现文档核心研究IPv6协议本身对比双栈、隧道、NAT-PT三种过渡方案并搭出一套带GNS3仿真拓扑的真实企业网架构。它适合两类人一类是正在做企业网规划、需要给IPv6过渡拿方案的网络工程师另一类是毕设选了IPv6方向的在校学生。拿到手能直接用它的拓扑思路和测试方法不用再从协议RFC啃起。2. IPv6协议与过渡技术先搞清楚换协议到底在换什么2.1 128位地址和简化报头IPv6不是IPv4的加长版很多人以为IPv6只是把IPv4的地址从32位拉长到128位实际上一换协议整套网络的寻址、发现、路由和转发逻辑都变了。IPv6地址空间是3.4×10^38个地址这个数量级让“给每一粒沙子分配地址”成为现实也让企业网终于可以不再依赖NAT来省地址。更重要的是IPv6的报头做了减法基本报头固定为40字节字段更少路由器不再负责分片分片由源主机完成这会降低转发延迟。另一个容易被低估的差异是邻居发现协议NDP替代了IPv4里的ARP。以前查MAC地址靠广播ARP现在IPv6用ICMPv6的邻居请求和邻居通告支持重复地址检测、无状态地址自动配置。对于企业网而言这直接改变了接入层的排障方式ping不通时第一反应不再是“ARP有没有学到”而是“IPv6邻居表里有没有这条状态”。企业网设计里最需要重视的是路由聚合。IPv6地址分配遵循聚类原则ISP给企业分配一个足够大的前缀后企业可以在内部按层次切分出口只需通告一个聚合网段这会让核心路由表比IPv4时期小很多。所以做IPv6地址划分时前缀长度和子网位怎么切是后面一切配置的基础这也是这份资源里强调“先规划再配置”的原因。对比项IPv4IPv6地址长度32位128位基本报头至少20字节可选项多固定40字节分片路由器可分片源主机分片路由器不分片地址解析ARP广播ND/ICMPv6邻居发现地址配置多为DHCP或手工SLAAC、DHCPv6、手工安全可选IPsec原生支持IPsec从这张表可以看出IPv6对网络管理最大的好处是自动配置和聚合对网络规划最大的要求是地址层次化。后面章节的拓扑和配置都围绕这两点展开。2.2 三种过渡技术的适用边界双栈烧钱、隧道省事、NAT-PT补兼容IPv4到IPv6不是一天能完成的过渡期间既要保住现有业务又要让新业务跑IPv6。资源里重点分析了三种技术我先说结论再解释为什么。第一种是IPv6/IPv4双栈。所有三层设备同时运行两种协议接口上同时配IPv4和IPv6地址数据包按自身协议寻址互不干扰。从技术完美程度看它最高但缺点头也很明显全网每一台设备的硬件和软件都得支持双栈已建网络等于整体换代一次投入极高。适合新建网络不适合老网改造。第二种是隧道技术。只在IPv4和IPv6网络的边界设备做封装把IPv6报文整体装进IPv4报文里穿过IPv4运营商后再解封装。常见的有手工隧道、6to4、ISATAP、GRE。它的最大价值是原有网络设备不用动只在关键边界点上加配置就能让IPv6业务先跑起来。缺点是所有IPv6流量都要多一次封装解封装开销且两端物理IPv4链路必须通否则隧道再配置也没用。第三种是NAT-PT。它在IPv4和IPv6边界做协议翻译和地址翻译让纯IPv4用户能访问纯IPv6服务器反过来也成立。相比双栈和隧道NAT-PT能真正实现两种协议之间的互访但需要处理DNS、FTP这些应用层协议必须配DNS ALG而且同一个会话的请求和响应都要经过同一台NAT-PT设备高峰期容易成为瓶颈。技术原有设备改动IPv4/IPv6互访主要瓶颈适合场景双栈需要全网升级不支持直接互访硬件和改造成本新建网络隧道仅边界设备改动不支持直接互访封装开销、MTU老网平滑升级NAT-PT仅边界设备改动支持真互访高并发性能、ALG配置临时兼容已有IPv4用户这个选型表在实际企业网里很少单一使用更多是混合核心网用双栈出口对IPv6公网用隧道对存量IPv4客户用NAT-PT兜底。这份资源的设计方案就是这么做的下一节我把组合思路拆开讲。2.3 本方案采用的混合思路双栈核心隧道出口NAT-PT兜底中小型企业网和大型网络最大的不同是预算和运维能力有限不可能一次换代也不允许业务中断。这套方案的设计逻辑是内网设备逐步支持双栈核心交换机R1、R2配IPv4和IPv6地址内网部门之间用IPv6通信旧IPv4业务继续跑出口路由器R3通过隧道把IPv6流量带到IPv6公网边界路由器R4上启用NAT-PT让老客户用IPv4地址仍能访问公司内的IPv6服务器。异地子公司之间同样用隧道穿越中间的IPv4 ISP网。着手配置前先把IPv6地址划分做掉。公司计划从运营商拿到/48前缀每个业务部门分配一个/64子网点对点互联链路用/127环回口用/128。我一般会先写一个小脚本把子网清单打出来再进设备配置避免现场临时算地址算错。# 生成公司 IPv6 子网划分清单 prefix 2001:db8:1000 mask 64 subnets { 核心互联: 0, 办公区: 1, 研发区: 2, 服务器区: 3, 视频监控: 4, 访客无线: 5, } for name, n in subnets.items(): print(f{name:10} {prefix}:{n:04x}::/{mask})这段脚本的逻辑很简单把/48后面16位当作子网位每个子网一个独立的/64全局前缀。参数说明prefix是公司整体前缀n:04x表示子网号用四位十六进制显示比如办公区是2001:db8:1000:0001::/64实际书写可省略前导零写成2001:db8:1000:1::/64mask统一用64因为IPv6的SLAAC要求一个子网必须配/64如果配成其它长度无状态自动配置会失效。注意这里只是划分清单真正落到接口上时还要给每个VLAN的网关地址留出最低位比如办公区网关是2001:db8:1000:1::1。把这个列表打印出来贴到工单里后面GNS3里对接口就只看清单不现场推敲。这是我做IPv6改造的一个习惯因为IPv6地址长、易混靠脑子记必翻车。下一章就照着这份清单搭拓扑和写配置。3. 企业网拓扑设计与GNS3仿真四个需求对应四段配置3.1 拓扑架构核心层、汇聚层、接入层这套方案采用标准三层结构核心层由两台双栈三层交换机R1、R2承担R1负责办公区和访客无线R2负责服务器区和视频监控两台之间跑双链路。汇聚层按部门划分VLAN接入层连接终端的普通交换机做二层透传。出口侧有三台路由器R3、R4、R5R3是IPv6出口和IPv6公网相连R4接IPv4 ISP1面向存量IPv4客户R5接IPv4 ISP2用来和异地子公司建立隧道。这个拓扑要满足四个需求一内网各VLAN之间既要隔离又要能互访核心交换机之间、核心和出口必须互通二内网能访问外部IPv6公网应用三旧IPv4客户能通过IPv4 ISP正常访问公司业务四和异地子公司之间能跨越IPv4运营商网络通信。GNS3里我在同一台PC上跑项目用路由器镜像来模拟三层交换机真实三层交换机功能覆盖不到的地方用路由器特性替代。3.2 地址规划与接口配置把IPv6子网划分先落在纸上在GNS3里我给每台设备先写一个接口规划表再动手。下面是一段核心交换机R1的接口规划设备接口IPv6地址用途R1Vlanif102001:db8:1000:1::1/64办公区网关R1Vlanif202001:db8:1000:5::1/64访客无线网关R1Vlanif1002001:db8:1000:fe00::1/64核心互联R1LoopBack02001:db8:1000:ffff::1/128OSPFv3 Router-IDR3Tunnel02001:db8:1000:ff00::1/64到IPv6公网隧道注意每个业务子网都是一个独立的/64这是为了让终端能通过SLAAC自动拿到地址。核心互联和隧道接口也用/64或/127其中点对点链路我更倾向用/127避免地址浪费但部分老版本GNS3镜像对/127支持不好保守点用/64也不会错。配置接口时在H3C设备上的写法如下# R1 核心交换机创建 VLAN 并配置 IPv6 网关 vlan 10 description Office quit interface Vlanif10 ipv6 address 2001:db8:1000:1::1/64 ipv6 nd ra-interval 30 quit interface GigabitEthernet1/0/1 port link-type access port default vlan 10 quit这段配置的逻辑是先建VLAN再给三层的Vlanif10接口配IPv6地址然后把物理口划进VLAN终端接入口就能通过IPv6路由通告自动生成地址并上网。参数说明ipv6 address后面是全局单播地址和前缀长度ipv6 nd ra-interval 30表示每30秒发一次路由通告终端收到RA后可以做无状态地址配置如果网络里有需要固定IP的服务器就不要再依赖RA改用DHCPv6或手工配置。GigabitEthernet1/0/1是终端接入口access类型表示直接把这根线划到VLAN 10。3.3 路由发布核心和出口之间用OSPFv3中小型网络规模不大但设备也不少全部写静态路由虽然能跑后期加网段太痛苦。这份资源里的设计方案在核心层用OSPFv3跑IPv6路由和IPv4时代的OSPFv2对应配置方式很接近。R1、R2和出口R3都加入OSPFv3区域0R1上配置如下# R1 OSPFv3 配置 ospfv3 1 router-id 1.1.1.1 area 0 interface Vlanif10 interface Vlanif20 interface LoopBack0 quit interface GigabitEthernet1/0/0 ospfv3 1 area 0 quit逻辑说明OSPFv3是IPv6路由协议接口必须在进程内的区域0里启用才会通告路由router-id沿用IPv4点分十进制格式即使这台设备没有配置IPv4也必须手动指定否则邻居起不来。参数说明ospfv3 1里的1是进程号全网设备可以不一致但区域号必须一致Vlanif10和Vlanif20是业务网段LoopBack0用于稳定Router-IDGigabitEthernet1/0/0是核心和出口之间的互联接口。配置完成后display ospfv3 peer如果状态是Full说明邻居关系建立成功。这里有个容易忽略的点OSPFv3的邻居靠IPv6链路本地地址来通信所以下一跳在路由表里显示的是fe80::开头的链路本地地址不是全局地址。这就要求互联接口必须能正常生成链路本地地址如果之前手动改了链路本地地址要确保两端在同一链路且不冲突。后面第6章我专门讲这个坑。3.4 隧道与NAT-PT配置让IPv6企业网穿越IPv4运营商隧道和NAT-PT是这套方案里解决兼容性的关键。出口路由器R3到IPv6公网之间是IPv4运营商需要在R3和对端边界设备之间建立一条手工隧道。配置如下# R3 上配置 IPv6 over IPv4 手工隧道 interface Tunnel0 ipv6 address 2001:db8:1000:ff00::1/64 tunnel-protocol ipv6-ipv4 source GigabitEthernet0/0 destination 202.96.64.8 quit ipv6 route-static 2001:db8:5000::/64 Tunnel0逻辑说明tunnel-protocol ipv6-ipv4把隧道封装方式指定为IPv6报文外层套IPv4头source和destination分别指定本端和对端的IPv4地址相当于告诉路由器隧道的两个端点在哪里最后写一条静态路由指向隧道口IPv6目的网段就从隧道走。参数说明source接口的IPv4地址必须是本地实际接口上配的地址不能随便写destination必须是对端边界设备可达的IPv4地址如果对端地址做了NAT隧道会非常不稳定。隧道建立后在R3上display tunnel-info可以看到隧道状态为Up。面向旧IPv4客户的部分在R4上启用NAT-PT。这里要说明NAT-PT在GNS3老版本IOS镜像里可用新版本很多已移除如果你手里的镜像不支持可以换老一点的12.x系列或者改用NAT64DNS64做等效功能。配置示例# R4 边界路由器启用 NAT-PT natpt natpt prefix-v6 2001:db8:1:ffff::/96 natpt address-pool v4 203.0.113.10 203.0.113.20 natpt v6 bound acl 2100 natpt v4 bound acl 2000 interface GigabitEthernet0/0 natpt enable quit逻辑说明NAT-PT把IPv6侧地址翻译成IPv4地址再交给IPv4网络。prefix-v6是给IPv4地址做一个固定的96位IPv6前缀后面32位填入IPv4地址address-pool是IPv6主机动态映射用的IPv4地址池acl用来圈定允许被翻译的源范围。参数说明/96前缀是NAT-PT的惯用做法低32位正好放IPv4地址v6 bound acl 2100控制哪些IPv6源允许出去v4 bound acl 2000控制哪些IPv4源能被反向翻译进来。要保证IPv4客户能访问IPv6服务器还需要在NAT-PT里做静态映射和DNS ALG否则IPv4侧根本不知道往哪个IPv4地址发连接这点在第4章会专门展开。4. IPv6仿真测试与常见问题排查连通性验证和五个典型翻车点4.1 需求测试ping和ping6各测什么GNS3里的仿真环境搭完后首先要做需求测试。这里要分清两种连通性验证纯IPv4连接用ping纯IPv6连接用ping6。在模拟PC上执行几条命令逐段确认链路# 在终端测试 ping 192.168.1.1 # 验证 IPv4 双栈链路是否正常 ping6 2001:db8:1000:1::1 # 验证 IPv6 网关是否可达 traceroute6 2001:db8:1000:ff00::1 # 查看 IPv6 路由经过的设备逻辑说明ping IPv4地址用来确认双栈设备上IPv4这半边是通的ping6则确认IPv6协议栈和邻居发现工作正常traceroute6可以把从PC到出口的每一跳打印出来哪一段丢失就查哪一段。参数说明GNS3里如果使用VPCS虚拟PC命令可能是ping6和trace6和Linux的写法略有差异在真实Linux终端里要加-c限制次数例如ping6 -c 4否则会一直跑。这样测完后再逐个测四个需求内网互通、访问IPv6公网、IPv4客户访问、跨IPv4到子公司。4.2 性能测试用ICMP算丢包率和平均时延需求测试只回答“通不通”性能测试回答“稳不稳”。资源里给的方案是用ICMP协议中的PING命令连续发包统计丢包率来判断网络质量。GNS3里可以直接用脚本循环发ping结果比肉眼更可靠。#!/bin/bash # 统计 IPv6 ping 丢包率 target2001:db8:1000:1::1 count100 interval0.2 loss0 ok0 for i in $(seq 1 $count); do if ping6 -c 1 -W 1 $target /dev/null 21; then ok$((ok1)) else loss$((loss1)) fi sleep $interval done echo packets$count loss$loss success_rate$(( (count-loss)*100/count ))%逻辑说明脚本每次发一个ICMPv6包-W 1表示1秒内没回包就算失败循环100次后统计丢包数和成功率。参数说明interval0.2是发包间隔200毫秒太低会占用带宽把target换成出口或公网服务器地址可以分段判断瓶颈在核心还是出口真实业务评估建议把count提升到1000同时记录最大/最小/平均时延只看丢包率不够。GNS3里如果PC不带bash就把这段脚本放到Linux云设备上执行或者直接在Windows PC上用ping -6 -n 100。4.3 五个典型翻车点现象、原因、解决这一节我把实际仿真和落地时最容易翻车的点列出来每条都是现象、原因、解决照着排错能省半天时间。翻车点一接口配了IPv6地址ping6网关却不通。现象display ipv6 interface brief能看到接口有IPv6地址但PC ping6网关就是不通。原因接口地址还在重复地址检测DAD阶段或者接口的链路本地地址没正常生成。IPv6地址配置后默认要发邻居请求确认地址不冲突这段时间接口状态会显示DAD不能转发流量。解决等几秒再用display ipv6 interface brief确认状态为UP依然不通就ping6接口的fe80::链路本地地址如果链路本地也ping不通说明物理链路或VLAN划分有问题。检查PC的RA接收是否被防火墙拦截也是常见操作。翻车点二OSPFv3邻居起不来。现象display ospfv3 peer没有任何邻居或一直卡在Init/ExStart。原因Router-ID没有配置或全网重复接口没加入正确的区域或者两端链路本地地址在同一链路冲突。解决先确认每台设备有且只有一个唯一Router-ID再检查接口是否已在进程内area 0下启用最后display ipv6 interface brief看链路本地地址。OSPFv3的hello报文是组播发的GNS3里如果两台路由器连线后一端是shutdown状态也会出现这种情况记得物理接口默认要undo shutdown。翻车点三隧道配好、路由也写了但IPv6公网还是不通。现象R3的Tunnel0状态是Up静态路由也在访问对端IPv6网段就是超时。原因隧道封装后的IPv4源/目的地址填写错误或者当前设备上没有到destination IPv4地址的路由导致封装后的IPv4包被丢弃。解决先在R3上ping对端隧道设备的IPv4地址确认底层IPv4链路通再ping Tunnel0的本地IPv6地址确认隧道口本身通最后抓包看是否出现IPv6-in-IPv4报文。很多情况下是source接口忘写或者写成了LoopBack口导致封装源地址不对。翻车点四NAT-PT配置完IPv4客户访问不到IPv6服务器。现象IPv4主机能ping通NAT-PT网关但访问公司内网IPv6网站超时DNS解析出来的地址带着诡异的前缀。原因NAT-PT只做了地址翻译没做DNS ALGIPv4主机向DNS询问时得到的是IPv6地址翻译不回来或者静态映射没有建立IPv4目的地无法映射成正确的IPv6服务器。解决在NAT-PT配置里加DNS ALG并为IPv6服务器建立静态映射让IPv4主机看到的是一段合法的IPv4地址如果还不行手动在IPv4主机hosts文件里把域名指向NAT-PT地址池里的虚拟IPv4地址验证映射关系有没有配错。翻车点五小包能通大包通不了网页打开卡顿。现象ping6默认大小通但ping6 -s 1400就丢包或访问网页时卡在某一步。原因隧道封装增加了IPv4头导致IPv6包的MTU超过物理链路限制封装后的IPv4包被分片或被中间设备丢弃。IPv6路由器本身不分片依赖源主机路径MTU发现但很多防火墙会拦ICMPv6的Packet Too Big报文导致源主机不知道要减小。解决在隧道口设置ipv6 mtu 1280或1400把封装后的总包长压下来同时在隧道两端配置TCP MSS钳制避免TCP会话协商出过大的段。如果GNS3里用云设备接了物理网络还要检查家用路由器的IPv6防火墙是否默认拦截ICMPv6像是小米路由器4A千兆版这类设备外部ping不进来时先把IPv6防火墙临时关闭再定位问题。这些坑不是理论推出来的是仿真里真出现的。尤其NAT-PT那条我当年第一次搭时卡了一下午最后发现就是DNS ALG漏了。5. 从仿真到落地IPv6地址划分、ACL和运维验证的边界项5.1 IPv6地址划分实战前缀、子网、接口地址怎么定仿真里地址规划可以随意一点落地时就必须较真。IPv6地址划分遵循几个常识企业从运营商处通常获得/48分配内部按部门切/64子网点对点链路用/127环回用/128。很多第一次做IPv6规划的人会把IPv4习惯带进来每个VLAN只分一个/120甚至/112结果SLAAC无状态自动配置直接不可用。IPv6的SLAAC要求每个子网必须是/64因为你拿后面64位自己做接口标识。落地时还要注意运营商的接入设备比如部分GPON光猫型号管理页面里默认把IPv6拨号模式藏起来或者只给了桥接没有前缀委派。我遇到过运营商送的GM219-S光猫默认界面里IPv6功能就是关着的需要进后台开IPv6透传企业出口路由器才拿得到可路由的超大前缀。如果公司出口用的是运营商光猫要先在光猫上确认IPv6 WAN连接是Native还是Prefix Delegation否则企业出口路由器拿不到可路由的前缀内网地址规划再漂亮也出不去。这个细节和具体型号强相关但排查思路是一样的先看光猫有没有拿到全球单播前缀再决定企业路由器是手动配置还是走DHCPv6-PD。工具上地址规划建议用表格管理每个部门一个/64网段号按部门编号编别按物理位置编。比如研发是10财务是20运维是30以后防火墙策略和ACL匹配时一眼能看出归属。5.2 华三IPv6 ACL配置实验先放行业务流量再拒绝其余IPv6企业网同样需要访问控制华三设备上的IPv6 ACL和IPv4 ACL语法有点不一样。下面是一段实验配置目标是让办公区只能访问服务器区的80和443端口其它IPv6流量全部丢弃# 华三 IPv6 ACL办公区到服务器区只放行 Web acl ipv6 advanced name office-to-server rule 5 permit tcp source 2001:db8:1000:1::/64 destination 2001:db8:1000:3::/64 destination-port eq 80 rule 10 permit tcp source 2001:db8:1000:1::/64 destination 2001:db8:1000:3::/64 destination-port eq 443 rule 1000 deny ipv6 quit # 在服务器区网关接口上应用过滤入方向流量 interface Vlanif20 ipv6 packet-filter office-to-server inbound quit逻辑说明IPv6 ACL的名字可以自定义rule后面的数字是规则序号匹配顺序优先看序号小的deny ipv6放在最后兜底没有放行的一律丢弃。参数说明source和destination后面必须写IPv6前缀格式写法是地址/长度destination-port eq 80表示目标端口等于80eq换成lt、gt还能做范围匹配接口上应用时inbound指流量进入该接口的方向。实验里放行办公区去服务器区的Web流量就写在服务器区网关Vlanif20上这样办公区方向进来的包先经过ACL过滤。注意IPv6 ACL不能只靠肉眼检查要display acl ipv6 office-to-server看匹配计数再抓包验证被deny的流量GNS3里可以用模拟PC故意访问一个非80端口看ACL计数是否增加。5.3 运维验证命令集从Windows到GNS3控制台的检查顺序判断IPv6网络是否健康我的习惯是四个命令一组看地址、看邻居、看路由、看策略。GNS3控制台里对应display ipv6 interface brief、display ipv6 neighbors、display ipv6 route-table、display acl ipv6。这套顺序能解决大部分IPv6故障。如果故障点不在路由器而在这台Windows终端先别急着改网络跑一下系统自带的IPv6前缀策略检查# 在 Windows 上查看 IPv4/IPv6 地址选择策略 netsh interface ipv6 show prefixpolicies # 临时调低 IPv6 优先级让双栈主机优先走 IPv4生产环境慎用 netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 50 0逻辑说明双栈主机同时拿到A记录和AAAA记录时netsh的prefixpolicies决定先尝试哪个地址族企业测试隧道时IPv6流量都要封装时延高临时把IPv4优先级调高可以避免应用卡死。参数说明::ffff:0:0/96是IPv4映射的IPv6地址段前缀50是优先级数字越大越优先0是关闭这条策略改完要重启正在连接的应用才生效。生产环境不建议长期调整这只是应急手段核心还是让IPv6链路稳定后让流量按正常优先级走。这套命令在GNS3里同样能用只是把Windows换成Linux或路由器控制台。多练几次就会形成条件反射ping不通先看接口状态接口UP再看邻居表邻居有地址再看路由表路由表没问题再查ACL。按这个顺序排查比到处抓包快。6. 一个让IPv6仿真少走弯路的技巧先把链路本地地址固定下来在GNS3里搭IPv6网络有一个特别容易被忽略、又最能影响全局的细节链路本地地址。IPv6每个接口都会自动生成一个fe80::开头的链路本地地址基于接口的MAC地址用EUI-64算法算出来。这带来一个麻烦——GNS3里你拖动设备、改接口编号、甚至换一次镜像MAC地址都可能变链路本地地址跟着变OSPFv3邻居、ND协议的通讯全靠它地址一变邻居关系就要重新建立抓包时也会认不出设备。我的做法是每搭一个IPv6仿真项目先把每台设备的每个接口链路本地地址手工写成固定值比如R1的G0/0就是fe80::1R2的G0/0就是fe80::2R3的G0/0就是fe80::3。看起来随意但好处非常明确邻居表里一眼能看出哪个接口对应哪台设备抓包时NS/NA报文里的源链路本地地址也能直接对应。配置只要一条命令# 固定接口的链路本地地址 interface GigabitEthernet0/0 ipv6 address fe80::1 link-local quit # 再配全局地址 interface Vlanif10 ipv6 address 2001:db8:1000:1::1/64 quit逻辑说明link-local关键字表示这个地址只作为链路本地地址使用不会进入路由表被全局通告它只在本条链路上有意义所以不同接口可以重复使用相同数字只要同一条链路上不冲突。参数说明fe80::1这种写法比长一串EUI-64地址好记同一台设备上不同接口建议用fe80::接口编号比如G0/0用fe80::1G0/1用fe80::2方便对照邻居表。全局地址照常配两者互不干扰。固定完链路本地地址后验证方法很简单。先display ipv6 interface brief看每个接口的link-local是不是你写的值再在相邻设备上display ipv6 neighbors看邻居地址开头是不是对端的fe80::固定值。我在GNS3里验证OSPFv3时都会先做这一步因为邻居的下一跳默认就是链路本地地址如果两端链路本地地址冲突或乱跳display ospfv3 peer会一直卡在ExStart查不出来原因。这个习惯我从一次翻车里总结出来的。当时在GNS3里搭了一个六台设备的IPv6企业网OSPFv3邻居状态死活起不来日志里全是Duplicate address后来才发现两台交换机自动生成的链路本地地址恰好一样。从那以后我每次搭IPv6仿真都强制先固定所有接口的链路本地地址再配全局地址最后才启动路由协议。链路本地地址一固定邻居表和路由表都稳定下来抓包也干净很多。这个思路在这份资源里同样贯穿始终拿到文档后建议先照着第三章的拓扑把GNS3项目复现一遍再对照第四章的测试命令跑一轮比只看配置理解深刻得多。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?