当前位置: 首页 > news >正文

OSPF排错

目录

实验拓扑图

实验要求

实验排错

故障一

故障现象

故障分析

故障解决

故障二

故障现象

故障分析

故障解决

故障三

故障现象

故障分析

故障解决

故障四

故障现象

故障分析

故障解决

故障五

故障现象

故障分析

故障解决

故障六

故障现象

故障分析

故障解决

故障七

故障现象

故障分析

故障解决


实验拓扑图


 实验要求

  1. 按照图示配置 IP 地址
  2. 按照图示分区域配置 OSPF,要求使用环回口作为 Router-id,ABR 的环回口只宣告进Area0
  3. 业务网段不允许出现协议报文
  4. R5 模拟互联网,内网通过 R1 连接互联网,在 R1 上配置默认路由并引入到 OSPF
  5. R1 上配置 EASY IP,两个业务网段都可以访问互联网
  6. 通过调整链路 Cost,避免网络中出现等价路由
  7. 为了实现 Area 0 快速收敛,10.1.1.0/24 链路上修改 Hello time 为 5 秒
  8. 排除所有网络故障,使环境符合需求,并完成排错报告

实验排错

故障一

故障现象

R1和R2之间未建立OSPF邻居

R1和R3之间,R2和R4之间都未建立OSPF邻居

故障分析

R1和R2,R1和R3,R2和R4之间的OSPF宣告配置有问题

R2与R1相连的10.1.1.0网段被宣告到了area 1中,所以R1和R2未能建立起邻居关系

同理,R1和R3之间,R1上也未宣告连接R3的网段

故障解决

将R2上连接R1的网段宣告到区域1中

[R2-ospf-1-area-0.0.0.1]undo network 10.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.1]qu
[R2-ospf-1]area  0
[R2-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255

故障二

故障现象

当我们将R1和R2之间的宣告配置修改正确之后,R1和R2之间区域0的邻居还是建立不起来

故障分析

建立OSPF邻居失败,我们可以通过命令去查看邻居建立失败的原因

[R2]display ospf statistics error 

可以发现是由于以下三个主要原因,因为完成要求七中实现Area 0快速收敛,需要修改10.1.1.0/24这条链路的hello time为5s,但是只修改了R2这边的接口,R1这边的接口的dead time与R2的不相同,所以邻居建立失败。 

故障解决

修改R2上10.1.1.0/24这条链路的接口的dead time 和 hello time与R1保持一致

[R1-GigabitEthernet0/1]ospf timer hello 5 
[R1-GigabitEthernet0/1]undo ospf timer dead 

可以看出R1和R2已经建立了OSPF邻接关系 

[R1]display ospf peer OSPF Process 1 with Router ID 1.1.1.1Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface4.4.4.4         10.1.1.2        1   15         Full/DR           GE0/1
[R1][R2]display ospf peer OSPF Process 1 with Router ID 4.4.4.4Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface1.1.1.1         10.1.1.1        1   20         Full/BDR          GE0/1
[R2]

故障三

解决了故障二之后,我们发现R1和R2虽然建立了邻接,但是R1与R3,R2与R4之间的邻居始终未能建立。

故障现象

通过观察OSPF错误的原因发现一个是错误的area id造成,一个是hello time dead time造成,那么我们主要来看area id是否错误。

[R1]display ospf statistics error OSPF Process 1 with Router ID 1.1.1.1OSPF Packet Error Statistics 0         : Router ID confusion        0         : Bad packet0         : Bad version                0         : Bad checksum30        : Bad area ID                0         : Drop on unnumbered link0         : Bad virtual link           0         : Bad authentication type0         : Bad authentication key     0         : Packet too small0         : Neighbor state low         0         : Transmit error0         : Interface down             0         : Unknown neighbor187       : HELLO: Netmask mismatch    78        : HELLO: Hello-time mismatch3         : HELLO: Dead-time mismatch  0         : HELLO: Ebit option mismatch0         : DD: MTU option mismatch    0         : DD: Unknown LSA type0         : DD: Ebit option mismatch   0         : ACK: Bad ack0         : ACK: Unknown LSA type      0         : REQ: Empty request0         : REQ: Bad request           0         : UPD: LSA checksum bad0         : UPD: Unknown LSA type      0         : UPD: Less recent LSA
[R1]

故障分析

通过查看R1和R3在area 1的配置发现area id并没有配错。

那我们只能通过排查影响OSPF邻居建立的因素有哪些
  1. 宣告网段需要在同一个area id中
  2. 建立邻居关系的两个设备之间router id不能相同
  3. 宣告的网段子网掩码要相同
  4. 邻居之间链路hello time和dead time保持相同
  5. 验证密码一致
  6. 特殊区域一致

通过查看R1和R3相连链路接口的IP地址,发现它们的子网掩码长度不一致。所以这就是R1和R3之间未能建立邻居关系的真正原因

[R1-GigabitEthernet0/0]di th
#
interface GigabitEthernet0/0port link-mode routecombo enable copperip address 10.2.2.1 255.255.0.0
#
return
[R1-GigabitEthernet0/0][R3-GigabitEthernet0/0]display this
#
interface GigabitEthernet0/0port link-mode routecombo enable copperip address 10.2.2.3 255.255.255.0
#
return
[R3-GigabitEthernet0/0]

故障解决

修改R1接口的IP地址子网掩码长度 

R1与R2和R3成功建立邻接关系

[R1]display ospf peer OSPF Process 1 with Router ID 1.1.1.1Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface4.4.4.4         10.1.1.2        1   18         Full/DR           GE0/1Area: 0.0.0.1        Router ID       Address         Pri Dead-Time  State             Interface3.3.3.3         10.2.2.3        1   37         Full/DR           GE0/0
[R1]

故障四

故障现象

R2和R4之间的邻居关系无法建立

故障分析

在R1和R2建立邻接关系后,我们可以发现R2这台设备的router id为4.4.4.4,虽然在区域0中和R1建立邻接关系时,这个router id 只要不与R1的router id  相同就行,但是R2在区域1中和R4建立邻接关系时,R4的router id也是4.4.4.4,所以它们的router id相同,导致它们之间无法建立邻居关系。

故障解决

将R2的router id 改为2.2.2.2,需要将ospf进程重启之后新的router id才会生效。

可以看到R2在重启了进程之后,router id 修改成功并于R4建立了邻接关系

<R2>reset ospf process 
Reset OSPF process? [Y/N]:y[R2]display ospf peer OSPF Process 1 with Router ID 2.2.2.2Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface1.1.1.1         10.1.1.1        1   18         2-Way/ -          GE0/1Area: 0.0.0.1        Router ID       Address         Pri Dead-Time  State             Interface4.4.4.4         10.3.3.4        1   38         Full/DR           GE0/0
[R2]

故障五

故障现象

PC6和PC7无法ping通互联网的IP地址

故障分析

PC6和PC7没有配置IP地址和网关等信息

在R1上并没有配置默认路由连接互联网,从而也没有引入到OSPF中。所以PC无法通过网关访问到互联网

[R1]display ip routing-table Destinations : 24       Routes : 24Destination/Mask   Proto   Pre Cost        NextHop         Interface
0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
1.1.1.1/32         Direct  0   0           127.0.0.1       InLoop0
2.2.2.2/32         O_INTRA 10  1           10.1.1.2        GE0/1
3.3.3.3/32         O_INTRA 10  1           10.2.2.3        GE0/0
4.4.4.4/32         O_INTER 10  2           10.1.1.2        GE0/1
10.1.1.0/24        Direct  0   0           10.1.1.1        GE0/1
10.1.1.1/32        Direct  0   0           127.0.0.1       InLoop0
10.1.1.255/32      Direct  0   0           10.1.1.1        GE0/1
10.2.2.0/24        Direct  0   0           10.2.2.1        GE0/0
10.2.2.1/32        Direct  0   0           127.0.0.1       InLoop0
10.2.2.255/32      Direct  0   0           10.2.2.1        GE0/0
10.3.3.0/24        O_INTER 10  2           10.1.1.2        GE0/1
10.4.4.0/24        O_INTRA 10  2           10.2.2.3        GE0/0
127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
192.168.1.0/24     O_INTRA 10  2           10.2.2.3        GE0/0
192.168.2.0/24     O_INTER 10  3           10.1.1.2        GE0/1
202.1.1.0/24       Direct  0   0           202.1.1.1       GE0/2
202.1.1.1/32       Direct  0   0           127.0.0.1       InLoop0
202.1.1.255/32     Direct  0   0           202.1.1.1       GE0/2
224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
[R1]

故障解决

在R3和R4这两个网关路由器上配置为dhcp服务器为PC6和PC7分发IP地址

[R3]dhcp enable 
[R3]dhcp server ip-pool 1 
[R3-dhcp-pool-1]network 192.168.1.0 mask 255.255.255.0
[R3-dhcp-pool-1]gateway-list 192.168.1.254
[R3-dhcp-pool-1]dns-list 8.8.8.8
[R3]dhcp server forbidden-ip 192.168.1.10 192.168.1.253[R4]dhcp server ip-pool 1 
[R4-dhcp-pool-1]network 192.168.2.0  mask 255.255.255.0
[R4-dhcp-pool-1]gateway-list 192.168.2.254 
[R4-dhcp-pool-1]dns-list 8.8.8.8
[R4-dhcp-pool-1]qu
[R4]dhcp server forbidden-ip 192.168.2.10 192.168.2.253

在R1上配置默认路由并引入到OSPF中

[R1]ip route-static 0.0.0.0 0 202.1.1.5 
[R1]ospf 1 router-id 1.1.1.1       
[R1-ospf-1]default-route-advertise 

PC6ping通互联网

<H3C>ping 100.1.1.1
Ping 100.1.1.1 (100.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 100.1.1.1: icmp_seq=0 ttl=253 time=3.863 ms
56 bytes from 100.1.1.1: icmp_seq=1 ttl=253 time=2.676 ms
56 bytes from 100.1.1.1: icmp_seq=2 ttl=253 time=1.560 ms
56 bytes from 100.1.1.1: icmp_seq=3 ttl=253 time=2.423 ms
56 bytes from 100.1.1.1: icmp_seq=4 ttl=253 time=4.946 ms

PC7无法ping通互联网

故障六

故障现象

PC7无法ping通互联网

故障分析

在R1上配置的easy ip中,nat outbound 2000,acl 2000这个访问控制列表中,未运行PC7的业务网段流量通过。

[R1]acl number  2000
[R1-acl-ipv4-basic-2000]di th
#
acl basic 2000rule 0 permit source 192.168.1.0 0.0.0.255
#
return
[R1-acl-ipv4-basic-2000]

故障解决

在acl 2000中将PC7的业务网段流量放行

[R1]acl number  2000
[R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255

PC7成功ping通


<H3C>ping 100.1.1.1
Ping 100.1.1.1 (100.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 100.1.1.1: icmp_seq=0 ttl=252 time=7.689 ms
56 bytes from 100.1.1.1: icmp_seq=1 ttl=252 time=5.409 ms
56 bytes from 100.1.1.1: icmp_seq=2 ttl=252 time=6.204 ms
56 bytes from 100.1.1.1: icmp_seq=3 ttl=252 time=5.938 ms
56 bytes from 100.1.1.1: icmp_seq=4 ttl=252 time=5.104 ms--- Ping statistics for 100.1.1.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.104/6.069/7.689/0.897 ms
<H3C>%Jan 31 11:35:37:680 2024 H3C PING/6/PING_STATISTICS: Ping statistics for 100.1.1.1: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 5.104/6.069/7.689/0.897 ms.

故障七

故障现象

通过对网关连接PC的链路抓包发现,网关仍然在不停的向PC发送OSPFhello包。

故障分析

并未对该链路接口进行静默接口配置

故障解决

对R3和R4连接PC的接口进行静默接口配置

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]silent-interface g0/2[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]silent-interface GigabitEthernet 0/2

相关文章:

OSPF排错

目录 实验拓扑图 实验要求 实验排错 故障一 故障现象 故障分析 故障解决 故障二 故障现象 故障分析 故障解决 故障三 故障现象 故障分析 故障解决 故障四 故障现象 故障分析 故障解决 故障五 故障现象 故障分析 故障解决 故障六 故障现象 故障分析 …...

day07-CSS高级

01-定位 作用&#xff1a;灵活的改变盒子在网页中的位置 实现&#xff1a; 1.定位模式&#xff1a;position 2.边偏移&#xff1a;设置盒子的位置 left right top bottom 相对定位 position: relative 特点&#xff1a; 不脱标&#xff0c;占用自己原来位置 显示模…...

05 MP之ActiveRecord模式+SimpleQuery

1. ActiveRecord ActiveRecord(活动记录&#xff0c;简称AR)&#xff0c;是一种领域模型模式&#xff0c;特点是一个模型类对应关系型数据库中的一个表&#xff0c;而模型类的一个实例对应表中的一行记录。 其目标是通过围绕一个数据对象, 进行全部的CRUD操作。 1.1 让实体类…...

git diff查看比对两次不同时间点提交的异同

git diff查看比对两次不同时间点提交的异同 用 git diff命令&#xff1a; git diff commit-id-1 commit-id-2 不同commit-id在不同的时间点提交产生&#xff0c;因为也可以认为git diff是比对两个不同时间点的代码异同。 git diff比较不同commit版本的代码文件异同_git diff c…...

基于muduo网络库开发服务器程序和CMake构建项目 笔记

跟着施磊老师做C项目&#xff0c;施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理…...

前端支持下载模板、导入数据、导出数据(excel格式)

前言 xlsx是由SheetJS开发的一个处理excel文件的npm库,适用于前端开发者实现下载模板、导入导出excel文件等需求&#xff0c;演示的项目的技术栈为vue3 elementPlus 一. 引入xlsx 安装xlsx npm install xlsx引入xlsx import * as XLSX from xlsx;二. 下载模板 const han…...

编译Faiss-gpu【InterMKL】C++ 按步骤操作 基本不会有问题的 python原理相同。

编译Faiss-gpu C++ 基本介绍 使用Faiss版本【1.7.4】 该项目依赖于BLAS 组件 OpenBLAS 和 IntelMKL BLAS 【官方支持】 IntelMKL 会比 OpenBLAS 快的多。 【来自官方结论】 本机环境 Cuda :11.1 Cuda-Driver: 515 InterMKL: 2021.2.0 Faiss :1.7.4 注意:faiss仅…...

conn.execute的用法详解

conn.execute的用法详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将深入研究数据库连接中conn.execute的用法&#xff0c;解析它的功能、…...

GetBuffer() 与 ReleaseBuffer() 使用详解

GetBuffer() 与 ReleaseBuffer() 使用详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将深入研究在编程中常用的GetBuffer()与ReleaseBuff…...

Flink CEP(基本概念)

Flink CEP 在Flink的学习过程中&#xff0c;我们已经掌握了从基本原理和核心层的DataStream API到底层的处理函数&#xff0c;再到应用层的Table API和SQL的各种手段&#xff0c;可以应对实际应用开发的各种需求。然而&#xff0c;在实际应用中&#xff0c;还有一类更为复…...

[AIGC] Spring Gateway与 nacos 简介

文章目录 Spring Gateway简介主要特性优点总结 Nacos简介主要特性优点总结 Spring Gateway 简介 Spring Gateway是一个基于Spring Framework的工具&#xff0c;用于构建和管理微服务架构中的网关。它提供了一种简单而灵活的方式来路由和过滤请求&#xff0c;以及在微服务之间…...

2024-2-3-复习作业

1> 要求&#xff1a; 效果图&#xff1a; 2> 要求&#xff1a; 效果图&#xff1a; 3> 要求&#xff1a; 效果图&#xff1a; 源代码&#xff1a; #include <stdio.h> #include <stdlib.h> typedef int datatype; typedef struct Node {datatype data…...

【如何快速上手Vue.js框架——详细介绍】

如何快速上手Vue.js框架——详细介绍 1. 介绍2. 理解Vue.js的核心概念3. 搭建开发环境4. 创建第一个项目5. 学习基础6. 进阶概念7. 最佳实践和模式8. 构建和部署9. 持续学习10. 实际操作 1. 介绍 要快速上手Vue.js框架&#xff0c;可以按照以下步骤进行学习和实践&#xff1a;…...

1Panel应用推荐:青龙定时任务管理平台

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…...

BUUCTF-Real-[struts2]s2-013

struts2的标签中 <s:a> 和 <s:url> 都有一个 includeParams 属性&#xff0c;可以设置成如下值none - URL中不包含任何参数&#xff08;默认&#xff09; get - 仅包含URL中的GET参数 all - 在URL中包含GET和POST参数 当includeParamsall的时候&#xff0c;会将本次…...

【实战知识】使用Github Action + Nginx实现自动化部署

大家好啊,我是独立开发豆小匠。 先说一下背景~ 我的小程序:豆流便签,目前使用云托管部署后端服务,使用轻量级服务器部署数据库和一些中间件。 因此服务器成本:云托管 + 云服务器 云托管每周花费5元,一个月就是50,一年就是500啊,所以这期准备把云托管优化掉! 1. 需…...

web前端--------渐变和过渡

线性渐变&#xff0c;是指颜色沿一条直线进行渐变&#xff0c;例如从上到下、从左到右。 当然&#xff0c;CSS中也支持使用角度来设置渐变的方向&#xff0c;角度单位为deg。 0deg&#xff0c;为12点钟方向&#xff0c;表示从下到上渐变。 90deg&#xff0c;为3点钟方向&…...

docker镜像结构

# 基础镜像 FROM openjdk:11.0-jre-buster # 设定时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 拷贝jar包 COPY docker-demo.jar /app.jar # 入口 ENTRYPOINT ["java", "-jar"…...

一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)

最近做了几个 WPF MudBlazor 的小东西&#xff0c;每次从头搭建环境比较繁琐&#xff0c;然鹅搭建过程还没啥技术含量&#xff0c;索性就直接做了个模板&#xff0c;方便以后使用。 1. 介绍 一个用来创建 .NET 8 WPF MudBlazor 的项目模板 适用于 VS2022 用法&#xff1a;…...

【数据结构与算法】之排序系列-20240203

这里写目录标题 一、628. 三个数的最大乘积二、645. 错误的集合三、747. 至少是其他数字两倍的最大数四、905. 按奇偶排序数组五、922. 按奇偶排序数组 II六、976. 三角形的最大周长 一、628. 三个数的最大乘积 简单 给你一个整型数组 nums &#xff0c;在数组中找出由三个数组…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...