我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【软路由安装(PVE+ikuai)】

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【软路由安装(PVE+ikuai)】

软路由安装(PVE+ikuai)

一、PVE(Proxmox Virtual Environment)的安装

1、 U盘烧录

拿出准备的U盘,容量大于2GB 即可

  1. 首先,将U盘插入你所使用的电脑(非all in one 主机),并对其进行格式化;
    在这里插入图片描述
  2. 打开烧录工具UltraISO, 并从右上角【文件】中打开ISO安装包
  3. 继续在UltraISO 中操作,点击【启动】,然后选择【写入硬盘映像】,选择好需要烧录的U盘后,点击【写入】;
    在这里插入图片描述
  4. UltraISO中出现【刻录成功】后即可,此时你的电脑的文件管理器是无法识别到U盘的了,这样属于正常。

2、 开启主机虚拟化功能

U盘刻录成功后,把U盘插入all in one 主机中,先关机,再开机,进入BIOS设置虚拟化功能打开,

  1. 把all in one 主机关机后,再开机,进入BIOS设置界面,一般就是开机过程中连续按【Delete】按键,或者【Esc】,又或者F1~F0 按键,每个电脑不同, 我的是开机按【Delete】键;

  2. 进入BIOS后, 进入【Advanced】选项,找到CPU相关的内容,将虚拟化和硬件直通打开选择【Enabled】使能
    在这里插入图片描述

  3. 设置后,进入到【Boot】选项,将 第一启动项【Boot Option #1】 设置成刚刚插入带有PVE安装程序的U盘;
    在这里插入图片描述

  4. 最后进入【Save & Exit】进行保存,并重启;
    在这里插入图片描述
    完成上面设置后,就可以准备安装了

3、 系统安装

PVE的系统安装,和win10其实差不多,就是开机后简单的设置几点后就自动化执行了

  1. 设置完U盘启动后,开机,此时你的all in one 主机会输出 PVE 的安装引导页面;
    在这里插入图片描述
  2. 然后会跑十几秒的 启动命令行界面;
    在这里插入图片描述
  3. 出现相关协议页面,点击右下角同意,就可以准备开始安装选项;
    在这里插入图片描述
  4. 首先选择安装的磁盘位置,这里选择你需要把PVE安装的磁盘,建议all in one主机是多磁盘的新手朋友,在安装前先把多余(不用来装系统的)磁盘拆除,避免选择错误;
    在这里插入图片描述
  5. 选择磁盘时候,根据自己需要安装的磁盘进行选择,这里建议选择好磁盘后,点击旁边的【Options】进行自定义设置,把【hdsize】设置为64,其它的保持空白即可,这样做的用途是只采用该磁盘的64GB 容量进行本次安装,剩余的容量,后期可以自己进行分配,这样做的原因是因为PVE安装后,对不同分区的容量进行扩容方便,但是减少容量就很麻烦,作为一名新手,可能对PVE的架构不了解,如果不特意限制64GB 的空间的话,安装引导就会按照一定的比例帮你分配,带来的后果就是 可能备份和镜像的空间分配得很多,实际你根本用不到,所以我的建议是先使用64GB,已经可以满足你前期的调试安装了。
    使用64GB安装后,你会得到如下两个重要的空间

local = 16.31% (2.70 GB的16.53 GB)
,这个是存储镜像、模板、备份的空间,我一般用来周转安装镜像,备份后期可以修改成别的位置 local-lvm = 0.00% (0
B的33.15 GB),这个是存储虚拟机用的虚拟磁盘空间,你所安装的虚拟机都会放到这个空间

  1. 然后设定密码,以及输入你的邮箱地址(其实没什么用,但是要填写才能进行);
    在这里插入图片描述
  2. 选择使用地区国家,输入china即可选择, 时区保持默认的shanghai即可,输入法也保持默认英文键盘;
    在这里插入图片描述
  3. 接着最重要的填写主机信息,其中包括

选择网卡, 这里选择的网卡,是以后你进行PVE系统的管理口,意思是你选择了哪个网卡,以后只能通过这个网口进行对PVE系统的管理,如果主机网口比较少,那随便选都可以,如果网口很多的,请记住你选择的网卡,免得后期不方便管理,如果你的主机是有wifi
网卡,那么这里也会出现这个wifi网卡,但是千万不能选择wifi网卡,是无法链接的,一定要选择有线网卡;

主机名称,其实是让输入你自己的网站名称,格式一定是 XXX.XXX,
不然无法通过,可以随便填,不过填写后,会作为你PVE主机的名称,请输入自己喜欢的名称即可;

管理地址,后期通过这个IP地址进行管理,这里需要设计好,比如你计划以后的局域网网关地址是192.168.0.1,那么你就应该输入192.168.0.2,
与网关地址不要冲突,自己能记住即可,这里建议设置成你现有路由器一样的网关地址,这样后续进行联网调试会更加方便,适合新手;

网关地址,同管理地址的意思,我设置成192.168.0.1,
这个地址我以后也会作为软路由的网关路由地址,虽然后期都可以改,不过一开始还是计划好吧;

DNS地址,这个虽然不改保持默认能继续安装,但是新手一定一定要修改这个为114.114.114.114,切记切记,因为如果你保持默认或者随便填写一个不可用的DNS,那么后期你的PVE
是无法联网安装插件的,我就吃过亏,研究了很久;

完成这些后,下一步
在这里插入图片描述
9. 最后会把你设置的信息汇总给你确定,查看以西没问题,就点击右下角安装开始跑进度了
在这里插入图片描述
10. 安装过程中,等待几分钟即可;
在这里插入图片描述
11. 进度跑完后,系统会重启,注意及时拔出U盘,当重新开机,你的all in one主机 视频输出这样的启动页面,表示PVE安装完成了。
在这里插入图片描述
安装完PVE,并连接网线和设置IP后,就可以对PVE主机进行操作了

4、设置PVE直通

shell里面输入命令:

nano /etc/default/grub

在里面找到:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

然后修改为

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

更新一下

update-grub

新增所需模块

修改文件/etc/modules,加入如下的行

nano /etc/modules

在里面填入

vfiovfio_iommu_type1vfio_pcivfio_virqfd

执行命令来更新initramfs

update-initramfs -u -k all

重启PVE虚拟机

5、调整硬盘

root@:~# fdisk -lDisk /dev/nvme1n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectorsDisk model: J.ZAO QL SERIES 512GB SSDUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: gptDisk identifier: FD3235D9-464B-4E59-A793-A996DBE50E9EDevice           Start       End   Sectors  Size Type/dev/nvme1n1p1      34      2047      2014 1007K BIOS boot/dev/nvme1n1p2    2048   1050623   1048576  512M EFI System/dev/nvme1n1p3 1050624 134217728 133167105 63.5G Linux LVMDisk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 sectorsDisk model: Fanxiang S500 1TBUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/pve-swap: 7 GiB, 7516192768 bytes, 14680064 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/pve-root: 15.75 GiB, 16911433728 bytes, 33030144 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/pve-vm--100--disk--0: 4 GiB, 4294967296 bytes, 8388608 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 65536 bytes / 65536 bytesDisklabel type: dosDisk identifier: 0xea97440fDevice     Boot  Start     End Sectors  Size Id Type/dev/mapper/pve-vm--100--disk--0-part1        2048  104447  102400   50M 83 Linux/dev/mapper/pve-vm--100--disk--0-part2      104448  114687   10240    5M 83 Linux/dev/mapper/pve-vm--100--disk--0-part3      114688  217087  102400   50M 83 Linux/dev/mapper/pve-vm--100--disk--0-part4      217088 8388607 8171520  3.9G  5 Extended/dev/mapper/pve-vm--100--disk--0-part5      219136 8388607 8169472  3.9G 83 Linux
root@jinhua:~# fdisk /dev/nvme1n1Welcome to fdisk (util-linux 2.36.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): nPartition number (4-128, default 4):First sector (134217729-1000215182, default 134219776):Last sector, +/-sectors or +/-size{K,M,G,T,P} (134219776-1000215182, default 1000215182):Created a new partition 4 of type 'Linux filesystem' and of size 412.9 GiB.Command (m for help): wThe partition table has been altered.Syncing disks.
root@:~# fdisk -lDisk /dev/nvme1n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectorsDisk model: J.ZAO QL SERIES 512GB SSDUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: gptDisk identifier: FD3235D9-464B-4E59-A793-A996DBE50E9EDevice             Start        End   Sectors   Size Type/dev/nvme1n1p1        34       2047      2014  1007K BIOS boot/dev/nvme1n1p2      2048    1050623   1048576   512M EFI System/dev/nvme1n1p3   1050624  134217728 133167105  63.5G Linux LVM/dev/nvme1n1p4 134219776 1000215182 865995407 412.9G Linux filesystem   # 新增的硬盘Disk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 sectorsDisk model: Fanxiang S500 1TBUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/pve-swap: 7 GiB, 7516192768 bytes, 14680064 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/pve-root: 15.75 GiB, 16911433728 bytes, 33030144 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/pve-vm--100--disk--0: 4 GiB, 4294967296 bytes, 8388608 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 65536 bytes / 65536 bytesDisklabel type: dosDisk identifier: 0xea97440fDevice     Boot  Start     End Sectors  Size Id Type/dev/mapper/pve-vm--100--disk--0-part1        2048  104447  102400   50M 83 Linux/dev/mapper/pve-vm--100--disk--0-part2      104448  114687   10240    5M 83 Linux/dev/mapper/pve-vm--100--disk--0-part3      114688  217087  102400   50M 83 Linux/dev/mapper/pve-vm--100--disk--0-part4      217088 8388607 8171520  3.9G  5 Extended/dev/mapper/pve-vm--100--disk--0-part5      219136 8388607 8169472  3.9G 83 Linux
root@:~# pvcreate /dev/nvme1n1p4WARNING: ext4 signature detected on /dev/nvme1n1p4 at offset 1080. Wipe it? [y/n]: y  Wiping ext4 signature on /dev/nvme1n1p4.  Physical volume "/dev/nvme1n1p4" successfully created.root@:~# pvs  PV             VG  Fmt  Attr PSize    PFree  /dev/nvme1n1p3 pve lvm2 a--   <63.50g   <7.88g  /dev/nvme1n1p4     lvm2 ---  <412.94g <412.94g
root@:~# vgextend pve /dev/nvme1n1p4  Volume group "pve" successfully extendedroot@:~# vgs  VG  #PV #LV #SN Attr   VSize   VFree  pve   2   4   0 wz--n- 476.43g 420.81groot@:~# lvextend -L +200G /dev/pve/root  Size of logical volume pve/root changed from 15.75 GiB (4032 extents) to 215.75 GiB (55232 extents).  Logical volume pve/root successfully resized.root@:~# resize2fs /dev/mapper/pve-rootresize2fs 1.46.2 (28-Feb-2021)Filesystem at /dev/mapper/pve-root is mounted on /; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 27The filesystem on /dev/mapper/pve-root is now 56557568 (4k) blocks long.root@:~# df -hFilesystem            Size  Used Avail Use% Mounted onudev                  3.8G     0  3.8G   0% /devtmpfs                 774M  1.3M  772M   1% /run/dev/mapper/pve-root  213G  2.6G  201G   2% /tmpfs                 3.8G   43M  3.8G   2% /dev/shmtmpfs                 5.0M     0  5.0M   0% /run/lock/dev/nvme1n1p2        511M  328K  511M   1% /boot/efi/dev/fuse             128M   16K  128M   1% /etc/pvetmpfs                 774M     0  774M   0% /run/user/0root@:~#

二、安装爱快虚拟机,选择爱快作为拨号主路由和做一些流控,简单易用而且稳定。

进入PVE后先创建网络桥接,将剩下的网口给到PVE节点。我这里只有一个剩下的网口,作为WAN口备注使用。


将所有网卡设置为自动启动。然后就可以安装其他的虚拟机了。
我下载的是64位的。下载完成后,将这个ISO文件上传到PVE,可以通过浏览器直接上传,点击PVE节点下面的Local盘符,点击右边选择ISO镜像,点上传,选择文件,上传。


上传完成后,点击右上角“创建虚拟机”开始创建爱快虚拟机:
在这里插入图片描述
虚拟机ID自选,需要三位数,不能使用已有ID,名称就写iKuai,下一步
在这里插入图片描述
选择安装镜像来源,其他默认,下一步
在这里插入图片描述
默认,下一步,
在这里插入图片描述
磁盘这里,选择安装存储位置和大小,一般安装在PVE的Lvm给几个G就行。下一步。
在这里插入图片描述
在这里插入图片描述
CPU和内存看情况给,4核只给了1核,内存给了2g ,其实在日常使用过程中完全绰绰有余。下一步
在这里插入图片描述
网络这里,选择LAN的桥接网卡,模型采用半虚拟化。下一步,
在这里插入图片描述
确认无误后,点击完成,创建该虚拟机。创建完成后先别启动,把另一张网卡分配一下。
在这里插入图片描述
在这里插入图片描述
添加完网卡后,进入控制台,启动
在这里插入图片描述
启动引导后,选择1将系统安装到硬盘,安装完自动重启进入控制台界面,界面简单易懂,这时首先需要设置网卡LAN口IP地址,选2进入
在这里插入图片描述
在这里插入图片描述
IP地址根据各自情况自定,设置后后退出。然后浏览器输入此IP地址,进入爱快系统。初始账号admin,密码admin,登陆后提示重设新密码。进入后,首先设置WAN网卡绑定,再根据宽带情况选择不同接入方式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置好爱快的上网参数等之后,连接上外网,接下来就可以对PVE进行修改更新源、升级和安装一些其他的东西了。另外需要把爱快设置为开机自动启动。
在这里插入图片描述

三、PVE修改源地址

如果安装PVE的时候,PVE的网关和DNS并没有填对你拨号主路由地址的话,可以先修改一下,修改后重启PVE。
在这里插入图片描述
在这里插入图片描述

1、替换 apt 软件源

首先替换通用软件源, Debian 的软件源配置文件目录是 /etc/apt/sources.list,备份后将其中内容修改为以下即可。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free# deb-class="lazy" data-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free# deb-class="lazy" data-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free# deb-class="lazy" data-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free# deb-class="lazy" data-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

之后替换 pve 软件源,pve 镜像默认的 pve 软件源配置文件是 /etc/apt/sources.list.d/pve-enterprise.list ,备份后将其中内容替换为以下即可:

deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bullseye pve-no-subscription

最后更新下,速度很快:

apt-get updateapt upgrade

四、PVE安装温度监控

这步要放在上面PVE更新或升级完成之后,因为升级后恢复默认。

1、安装lm-sensors

apt-get install lm-sensors

安装完成后执行: sensors-detect 进行传感器探测,通常情况下全部按默认选择 yes 即可
在这里插入图片描述
探测完成后执行: sensors -j 测试传感器(参数 -j 使其以 JSON 格式输出)
在这里插入图片描述

2、编辑修改文件

  • /usr/share/perl5/PVE/API2/Nodes.pm,搜索my $dinfo = df(‘/’, 1);在其上面添加代码
    $res->{thermal} = sensors -j; # 添加此行以获取 CPU 温度
  • 编辑文件 /usr/share/pve-manager/js/pvemanagerlib.js,
    跳转到 widget.pveNodeStatus 位置,编辑成如下所示
    在这里插入图片描述
    此处height 的值需按情况修改,每多显示一行数据增加 20,网上说法还有另外一处的height值也要修改,但我的好像修不修改都没有变化,所以就不管它了。

跳转到 PVE Manager Version 位置,编辑成如下所示,代码可根据各自实际修改

    {        itemId: 'version',        colspan: 2,        printBar: false,        title: gettext('PVE Manager Version'),        textField: 'pveversion',        value: '',    }, {       itemId: 'thermal',       colspan: 2,       printBar: false,       title: gettext('Thermal Status'),       textField: 'thermal',       renderer: function(value) {       value = JSON.parse(value.replaceAll('Â', ''));       const radeon = value['radeon-pci-0008']['temp1']['temp1_input'].toFixed(1);       const power = value['fam15h_power-pci-00c4']['power1']['power1_crit'].toFixed(1);       const cpu = value['k10temp-pci-00c3']['temp1']['temp1_input'].toFixed(1);       // ...获取其他传感器数据       return `CPU: ${cpu} C | Radeon: ${radeon} C | Power: ${power}W`;          }        },    ],updateTitle: function() {

然后执行: systemctl restart pveproxy 重启 PVE web 服务,即可在PVE的概要页面看到温度显示了。

来源地址:https://blog.csdn.net/qq_39577522/article/details/127728846

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【软路由安装(PVE+ikuai)】

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用虚拟机安装ikuai软路由系统,搭建pppoe拨号服务器

搭建pppoe拨号服务器 一、搭建ikuai软路由系统1、VMware版本2、ikuai官网上下载系统镜像3、使用虚拟机安装ikuai系统4、登录ikuai管理界面 二、安装win7虚拟机验证拨号功能三、其他电脑要使用这个pp
2023-08-20

wayos软路由怎么安装

安装 WayOS 软路由通常需要以下步骤:硬件准备:首先,您需要一台适合运行 WayOS 的服务器或虚拟机。确保服务器符合系统要求,并且具备足够的处理能力和内存来满足您的网络需求。下载 WayOS 软路由镜像:前往 WayOS 官方网站或合
2023-07-10

云服务器安装软路由

云服务器安装软路由通常包括以下步骤:确定云服务器的网络位置:在使用云服务器之前,需要确定自己的网络位置,选择正确的云提供商。可以通过Google地图或者其他地图工具来查看云服务器的位置。准备所需的软件:云服务器通常需要使用相应的操作系统、软件和驱动程序,例如:a.操作系统:Windows、MacOS、Linux等都可以作为云服务器的操作系统。b.软件:常用的云服务器管理程序有Solar
2023-10-26

vue如何安装路由

这篇文章主要讲解了“vue如何安装路由”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何安装路由”吧!在vue中,通过“npm install vue-router --save”命令
2023-06-29

react路由如何安装

这篇文章主要介绍了react路由如何安装的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react路由如何安装文章都会有所收获,下面我们一起来看看吧。react路由的安装方法:1、通过“npm i react-r
2023-07-04

Linux下如何安装动态路由软件Quagga

这篇“Linux下如何安装动态路由软件Quagga”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux下如何安装动态路由
2023-06-27

云服务器安装软路由与家里互联

云服务器安装软路由是指通过路由器或者交换机将云服务器与家庭网络连接起来,以实现家庭设备之间的互联互通。以下是云服务器安装软路由和家里互联的具体步骤:在网络设备(例如路由器或交换机)上安装软路由器。在云主机(例如AWSEC2或其他云服务器)上配置软路由。在路由器或交换机上配置软路由接口。在路由器或交换机上开启HTTPS加密功能。配置虚拟DNS服务器,使路由器或交换机自动获取对应的IP
2023-10-26

路由器如何安装和设置

这篇文章主要介绍了路由器如何安装和设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇路由器如何安装和设置文章都会有所收获,下面我们一起来看看吧。路由器安装和设置:1、首先根据下图所示,连接光猫、路由器和电脑。2
2023-07-02

详解vue中路由的安装和使用方法

Vue 是一款流行的前端开发框架,它提供了诸多方便开发的工具和功能。其中,Vue 路由能够帮助我们创建单页应用程序,并且帮助我们实现路由功能。本篇文章将会介绍 Vue 路由的使用。Vue路由安装在开始使用 Vue 路由之前,我们需要先安装 Vue Router。可以通过 npm 安装:```npm install vue-router```Vue路由器的使用在 Vue 项目的入
2023-05-14

编程热搜

目录