PVE+iKuai+OpenWrt+fnOS虚拟机折腾记录
1   背景
因联通赠送的光猫性能不支持双lan口长时间同时上网,故从海鲜市场(小黄鱼)上淘了一块n3530小工控机(准系统,无内存条),计划用来安装pve虚拟机用以作软路由处理宽带拨号和网关ip分配,光猫仅作为一个光电信号转换器。
2   N3530工控机配置
- CPU:Intel(R) Pentium(R) CPU N3530
- 内存:海力士DDR3L-8GB单根(从老笔记本电脑上拆一根DDR3条子给它用)
- 硬盘:海力士SH920 msata 256GB
- 网卡:千兆网卡Intel I211 *2+千兆网卡Realtek mini-pcie RTL8211E/F(螃蟹卡,后期自己购买加装至mini pcie无线网卡口位置)
3   All in One (All in Boom) 机器硬件选型总结
3.1   CPU选型对比
CPU型号 | 内核/线程 | 功耗/W | 频率/GHz | 核显最大分辨率 | 最大内存规格/GB | VT-x | VT-d |
---|---|---|---|---|---|---|---|
赛扬®J1900 | 4/4 | 10 | 2~2.42 | 未知 | 2×8 DDR3L 1333MT/s | 支持 | 不支持 |
奔腾®N3530 | 4/4 | 4.5~7.5 | 2.16~2.58 | 未知 | 2×8 DDR3L 1333MT/s | 支持 | 不支持 |
奔腾®J4205 | 4/4 | 10 | 1.5~2.6 | 未知 | 2×8 LPDDR4 2400 MT/s | 支持 | 支持 |
赛扬®J4125 | 4/4 | 10 | 2~2.7 | 4096x2160@30Hz | 2×8 DDR4/LPDDR4 2400MT/s | 支持 | 支持 |
赛扬®J6412 | 4/4 | 10 | 2~2.6 | 4096x2160@ 60Hz | 4x32 LPDDR4/x 3733MT/s | 支持 | 支持 |
N100 | 4/4 | 6 | 3.4 | 4096 x 2160@60Hz | 16 DDR5/LPDDR5 4800 MT/s | 支持 | 支持 |
酷睿™ i7-1255U | 10/12 | 12~55 | E核3.5/P核4.7 | 7680 x 4320 @ 60Hz | 64 LPDDR5 5200 MT/s | 支持 | 支持 |
3.2   主板选型对比
TODO
4   安装PVE
4.1   N3530工控机BIOS的优化设置
该N3530工控机BIOS是采用经典的American Megatrends
方案。
- 设置来电自启:
Chipset->North Bridge->Restore AC Power Loss->Power on
- 启用CPU内置温度传感器:
Advanced->CPU Configuration->CPU Thermal Configuration->DTS->Enabled
- 启用VT-x:
Advanced->CPU Configuration->Intel Virtualization Technology->Enabled
- 设置自定义功率模式:
Advanced->CPU Configuration->Power Technology->Custom
。(默认是Efficient节能模式)
4.2   PVE安装步骤
- 下载PVE系统镜像:点击跳转(我的情况就是需要下载pve 7.4的iso镜像文件,因为安装pve 8.x会引起
bootloader setup errors
报错而导致安装PVE系统失败) - 制作U盘启动项:ventoy。拷贝镜像iso文件到U盘,启动选择pve镜像进入,选择图形安装界面。
- 同意协议。
- 点击option按钮,选择硬盘和ext4格式(我的情况只有一个硬盘,不用设置option,直接下一步)
- 国家选择china,时区会自动修改为上海,键盘布局不改。
- 设置密码,邮箱随意。
- 管理网口,默认第一个做管理(enp1s0,pve系统里面识别的第一个网口,N3530工控机中靠近hdmi接口的rj45),第二个做wan口(方便后续维护)。域名hostname设置为pve.lan(这项随便填写都行,有能用的域名可填写上去,可解析到机器用域名管理pve虚拟机);ip:192.168.1.2;掩码:255.255.255.0;网关:192.168.1.1(留给ikuai的地址),DNS:223.5.5.5。
- 查看确认已设置的内容(弹窗),确认安装。
- 访问WEB管理地址并登录:https://192.168.1.2:8006。账户:root。密码:[前面步骤设置的密码]。
- 设置网卡并确保pve能联网。
4.3   PVE升级步骤(7.4->8.x)
- 替换PVE 7.4的Debian系统软件源和PVE软件源(国内镜像)
/etc/apt/sources.list
1 | #deb http://ftp.debian.org/debian bullseye main contrib |
删除pve-enterprise.list,新建pve-no-subscription.list。
/etc/apt/sources.list.d/pve-no-subscription.list
1 | cd /etc/apt/sources.list.d |
- 升级到7.4最新的版本
1 | apt update -y && apt dist-upgrade -y |
- 检查兼容性:
pve7to8
- 替换PVE 8.x的Debian系统软件源和PVE软件源(国内镜像)
/etc/apt/sources.list
1 | # deb http://ftp.debian.org/debian bookworm main contrib |
删除pve-enterprise.list,新建pve-no-subscription.list。
/etc/apt/sources.list.d/pve-no-subscription.list
1 | cd /etc/apt/sources.list.d |
- 开始正式升级
1 | apt update |
升级中会出现一些交互界面,下面是官网的建议(不清楚的选项,可以选择推荐参数)
1 | /etc/issue -> Proxmox VE will auto-generate this file on boot, and it has only cosmetic effects on the login console. |
- 去除未订阅提示
1 | sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js |
- 后续PVE系统日常更新:
apt update -y && apt dist-upgrade -y
4.4   PVE安装遇到的坑
4.4.1   PVE安装到99%时出现unable to install the EFI boot loader on '/dev/sda'
报错信息:
1 | bootloader setup errors: |
原因:PVE 8.0版本镜像īso不兼容此台机器,估计是bug。参考其他帖子说的只保留usb的uefi设备,依旧也会报错。并且因为机器的bios设置也比较繁琐,我反复尝试将其设置为csm模式,机器始终无法以csm模式启动,估计该主板的bios也是魔改过有bug的。因此导致也无法以csm模式安装pve。
解决方法:安装pve 7.4版本,再升级到pve 8.x。
4.4.2   USB键盘一直插着时会无法响应的,无法进入并操控BIOS,只有CTRL+ALT+DELETE可以响应
原因:推测为BIOS的驱动BUG。
解决方法:先不插键盘启动机器,看屏幕右下角等待主板自检代码走到99阶段,快速插上键盘,摁DEL键。如果一次不成功,就使用CTRL+ALT+DELETE
强制重启,继续尝试该操作。
4.4.3   hdmi屏幕不显bios
主板BIOS内置驱动对普通HDMI小屏幕兼容性不好,只有成功启动PVE系统后才会正常显示画面,而在自检阶段和BIOS界面只会显示白屏或者花屏,接大屏驱动板兼容性好点。
4.4.4   后面加装的RTL8211网卡不识别
原因:因为安装pve系统之前未加装好螃蟹卡RTL8211,因此后续加装之后,pve系统并未识别到。
解决方法:重装pve系统。(驱动源码编译方案,也有编译报错,不好解决,推荐是重装pve,让pve自动打驱动)
4.4.5   工控机重启bug,看门狗导致重启很长时间
原因:未查明,只要一重启,就会长时间卡在看门狗的错误提示。
错误提示:
1 | watchgod: watchdog0: watchdog did't did not stop! |
解决方法:无法解决,只能长时间等待完成重启或者强制关机重开。
P.S. 尝试在主板BIOS中主动启用看门狗计时器设置Advanced->SIO MISC Configuration->Watchdog Dog Timer->Enabled
仍无法解决,该问题暂未查明原因。
4.4.6   Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware'
问题现象:运行apt update
出现报错:Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware'
问题原因:Debian 12版本(bookworm)的非自有固件包(如硬件驱动程序)不再放在non-free目录中,而是non-free-firmware目录。
解决方法1(修正/etc/apt/sources.list
软件源):
1 | # 确保软件源中添加了non-free-firmware目录,而不仅仅只有non-free目录 |
解决方法2(直接屏蔽该错误):
创建一个文件/etc/apt/apt.conf.d/no-bookworm-firmware.conf
,写入内容如下:
1 | APT::Get::Update::SourceListWarnings::NonFreeFirmware "false"; |
5   PVE硬件直通
IOMMU允许系统设备在虚拟内存中进行寻址,也就是将虚拟内存地址映射为物理内存地址,让实体设备可以在虚拟的内存环境中工作,这样可以帮助系统扩充内存容量,提升性能。
换而言之,IOMMU可以使VM虚拟机能够接入一些物理设备,比如PCIe中的网卡、声卡、显卡,VM虚拟机可以直接或间接使用这些设备。
在创建虚拟机时,芯片组一定要q35。因为Q35,才能PCIE直通,否则就是PCI直通。
5.1   检查硬件是否支持直通(BIOS内查看Advanced高级选项)
- 开启CPU虚拟化:Intel: VT-X(Intel Virtual Technology)。AMD: AMD-V(SVM, Secure Virtual Machine)。
- 开启硬件直通功能:Intel: Intel VT-d。AMD: IOMMU。
- 部分主板会有和Intel VT-d/IOMMU相关联的
Memory Remap Feature
设置。
5.2   PVE提示No IOMMU detected
当pve未启用IOMMU或者硬件不支持直通(即使手动设置PVE开启IOMMU)时,在ProxmoxVE(PVE)的VM/VPS中添加PCI设备时候提示:No IOMMU detected, please activate it.See Documentation for further information
.
解决方法:请确认自己的机器是否支持VT-X和VT-d等CPU虚拟化和直通硬件功能,并是否已开启IOMMU。若硬件不支持,建议更换支持这些功能特性的硬件设备。
5.3   PVE启用IOMMU
- 编辑grub文件:
nano /etc/default/grub
- 找到GRUB_CMDLINE_LINUX_DEFAULT这一行:
1 | ... |
- 根据CPU类型修改
1 | ... |
1 | ... |
- 编辑cmdline:
nano /etc/kernel/cmdline
。(若不存在,则新建该文件) - 根据CPU类型在第一行末尾添加:
1 | quiet intel_iommu=on |
1 | quiet amd_iommu=on |
5.4   验证PVE的IOMMU是否启用
- 查询命令:
dmesg | grep -e DMAR -e IOMMU
。输出显示DMAR: IOMMU enabled
或者DMAR: Intel(R) Virtualization Technology for Directed I/O
证明已启用。 - 实操验证:虚拟机分配PCI设备时可见。
5.5   PVE启用PT模式
- 编辑grub文件:
nano /etc/default/grub
- 找到GRUB_CMDLINE_LINUX_DEFAULT这一行:
1 | ... |
- 附加参数iommu=pt,Intel和AMD芯片均可使用这个参数。
- 添加模块设置(5.4内核需自行添加,现行版本自带有添加):
nano /etc/modules
。没有如下内容需添加。
1 | vfio |
- 刷新 initramfs:
update-initramfs -u -k all
- 更新 grub:
update-grub
6   创建PVE虚拟机
若机器硬件性能不太足够的话,不建议安装win系统,win系统极度消耗硬件性能(即便是空载待机状态也消耗很大),而这影响openwrt的性能。比如我的情况:安装了tiny10系统,千兆网线,宽带500M实测不到300Mbp/s(这里是指用广东联通宽带测速平台测试的结果,实际ikuai主路由测试速率却又正常),局域网速率最高只能到700Mbp/s的速率。关闭后tiny10后,实测宽带速率恢复正常,局域网速率跑到900Mbp/s出头)
6.1   PVE基础设置
- 访问WEB管理地址并登录:https://192.168.1.2:8006,账户:root。密码:[前面安装步骤设置的密码]。
- 根据硬件网卡情况,添加并设置好虚拟网桥Linux Bridge:创建>Linux Bridge>桥接接口填写物理网口地址名称。以我的机器为例,机器三个物理网口,PVE新建5个网桥,前三个网桥和物理网口绑定,第四个网桥用作iKuai和OpenWrt之间的传输,第五个网桥用作其他虚拟机系统的传输。
6.2   安装爱快iKuai
- 下载iKuai镜像:点击跳转
- local-内容-上传:iKuai的安装镜像文件。
- 创建虚拟机,命名虚拟机名称ikuai,VM编号100。
- CD/DVD光盘镜像文件选择刚上传的ISO镜像。
- 主硬盘分配2G,额外添加EFI磁盘(不勾选添加密钥),CPU给4核(KVM64),内存分配4G(64位iKuai要求4G内存),网卡模型选择VirtIO(半虚拟化)。
- 完成新建后,在硬件标签页中继续完成添加所有网桥,网桥的防火墙全部关掉(使用iKuai的),模型都选择半虚拟化。
- 在选项标签页中把「开机自启动」开启,启动顺序设置为1,引导顺序只开disk‘xxxx’磁盘,把网络启动关掉,CD启动上移到第一位。
- 点击启动虚拟机,完成安装即可。
- iKuai内识别的第一个网卡设置为lan1。
- 输入字母o回车进入其「其他选项」,开启外网访问web。
- 访问WEB管理地址并登录:http://192.168.1.1:80。默认账户:admin。默认密码:admin。
6.3   安装OpenWrt
6.3.1   OpenWrt镜像的选择
- Bleach OpenWrt:推荐(本教程使用该固件)。内置SmartDNS,软件包空间设置为1G,剩余五百多兆。
- eSir GDQ 高大全:eSir的高大全固件。不推荐。没有内置SmartDNS拓展(我测试时安装SmartDNS并未出现有服务项,无效)。并且相较于Blench版本,较为繁琐。软件包空间只剩余几兆,需自己手动扩盘。
6.3.2   安装步骤
- 创建虚拟机,命名虚拟机名称openwrt,VM编号101。
- CD/DVD光盘镜像文件设置为无介质。
- 主硬盘随便分配(后续会删除),额外添加EFI磁盘(不勾选添加密钥),CPU给4核(KVM64),内存分配4G,网卡模型选择VirtIO(半虚拟化)。
- 网桥只选择第四个网桥(用作iKuai和OpenWrt之间的传输),网卡的防火墙全部关掉(使用iKuai的),模型选择半虚拟化。
- 下载OpenWrt镜像:见上一小节
- local-内容-上传:OpenWrt的镜像文件。
- 向虚拟机导入OpenWrt镜像:
qm importdisk 101 /var/lib/vz/template/iso/bleach-plus-20230826-openwrt-x86-64-generic-squashfs-combined-efi.img local-lvm
。(直接写盘即可,无需安装)。 - 在pve管理页面中,加载刚才导入镜像生成的磁盘。
- 在选项标签页中把「开机自启动」开启,启动顺序设置为2,引导顺序只开disk‘xxxx’磁盘,把网络启动关掉。
- 点击启动虚拟机。
- pve中用shell:
vi /etc/config/network
,将lan口ip改为192.168.1.3
,reboot
重启。vim编辑:按i进入修改模式,按esc退出编辑模式,输入 :wq回车保存修改。 - 访问WEB管理地址并登录:http://192.168.1.3。默认账户:root。默认密码:password。
6.4   安装飞牛私有云fnOS
- 下载飞牛私有云fnOS镜像:点击跳转
- local-内容-上传:fnOS的安装镜像文件。
- 创建虚拟机,命名虚拟机名称fnOS,VM编号102。
- CD/DVD光盘镜像文件选择刚上传的ISO镜像。
- 主硬盘分配64G,额外添加EFI磁盘(不勾选添加密钥),CPU给4核(KVM64),内存分配6G(fnOS系统内存需求还是有点大的),网卡模型选择VirtIO(半虚拟化)。
- 其他硬盘后续自行根据需求添加。
- 网桥只选择第五个网桥(用作iKuai和fnOS之间的传输),网卡的防火墙全部关掉(使用iKuai的),模型选择半虚拟化。
- 在选项标签页中把「开机自启动」开启,启动顺序设置为3,引导顺序只开disk‘xxxx’磁盘,把网络启动关掉,CD启动上移到第一位。
- 点击启动虚拟机。
- 选择
Graphical Install
进行图形化安装流程。 - 选择系统主硬盘进行安装。
- 系统分区大小:64GB;Swap大小:0GB。(有论坛帖子反馈开启
Swap cache
时,某些下载应用例如QBittorrent
可能会引导硬盘持续读取和CPU的异常占用。永久禁用Swap还需要修改fstab文件。) - 点击确认安装,选择网卡界面,直接默认选项确认即可。
- 安装完成后,点击确认开始重启。摁
ESC
键,进入虚拟机BIOS设置界面,重新选择硬盘分区作为启动项启动。(否则默认启动CD) - 出现
Debian GNU/Linux
系统引导选项就是安装成功了 - 进入到传统Linux登录界面(无GUI),这里能看到WEB管理地址。若需要固定IP地址,在
ikuai
中找到对应MAC地址加入静态分配表即可。 - 访问WEB管理地址并登录:http://192.168.1.5:5666/。首次访问会提示创建NAS
设备名称``超级管理员账号``密码``确认密码
。
6.5   创建虚拟机遇到的坑
6.5.1   添加EFI磁盘后,启动无法引导磁盘,出现shell界面。
原因:创建EFI磁盘时,勾选了添加密钥。
解决方法:创建EFI磁盘时,取消勾选添加密钥。
6.5.2   安装windows镜像,无法识别找到磁盘
原因:scsi不适合windows镜像,windows安装解决识别不到硬盘。
解决方法:创建硬盘时,总线/设备选择:SATA硬盘或者IDE。
6.5.3   安装windows镜像,网卡无驱动
现象:当网卡设置为virtio模型时,安装并进入到windows系统后,网卡无驱动。
原因:windows系统自带的驱动无此虚拟硬件的驱动。
解决方式:加载virtio镜像,并运行x64程序安装驱动即可。
VirtIO镜像下载地址:点击跳转
7   iKuai +OpenWRT 做旁路由网络拓扑
iKuai作为主路由,负责拨号及DHCP,OpenWRT做旁路由。SmartDNS+AdGuardHome设置分流与去广告。SmartDNS作为DNS管理并提供DNS缓存,实现国内国外DNS分流,彻底解决DNS污染问题、实现秒开网页。同时搭配AdGuardHome实现整个局域网去广告。
DNS转发流程:设置最核心的部分就是DNS转发端口的衔接,就是把DNSMASQ、Adguardhome、SmartDNS三个插件里的DNS服务器功能分成三个层级,实现层层转发。依次是第一级DNSMASQ,第二级Adguardhome,第三级SmartDNS,第四级OpenClash。
7.1   iKuai的设置
系统设置>重启关机>添加一个重启计划:每天05:00时重启。- 网络设置>内外网设置
- 外网接口(选择iKuai识别到的第二个网口):填入宽带拨号信息。
- 内网接口(iKuai识别到的第一个网口,IP地址192.168.1.1):链路桥接(选择剩余的其他全部接口)
- DHCP设置>DHCP服务端
- 单iKuai版:
- 客户端地址:192.168.1.10-192.168.1.254(1-9留给专用设备的管理地址)
- 子网掩码:255.255.255.0
- 网关:192.168.1.1
- 首选DNS:223.5.5.5
- 备选DNS:114.114.114.114
- iKuai+OpenWrt版本:
- 客户端地址:192.168.1.10-192.168.1.254(1-9留给专用设备的管理地址)
- 子网掩码:255.255.255.0
- 网关:192.168.1.3
- 首选DNS:192.168.1.3
- 备选DNS:192.168.1.3
- 单iKuai版:
- DNS设置>DNS设置
- 单iKuai版:
- 首选DNS:223.5.5.5
- 备选DNS:114.114.114.114
- iKuai+OpenWrt版本:
- 首选DNS:192.168.1.3
- 备选DNS:192.168.1.3
- 单iKuai版:
- UPnP设置>UPnP设置
- UPnP即插即用服务:开启
- 允许内网IP映射:0.0.0.0-255.255.255.255
- 默认线路设置:任意
- 掉线检测:开启
- 检测周期:2
- 定时重启:开启
- 重启周期:全选
- 重启时间:05:00。
7.2   OpenWrt设置
7.2.1   定时重启
系统>定时重启:启用,设置每天05:00。
7.2.2   网络
7.2.2.1   接口>LAN
- IPv4地址:192.168.1.3。管理OpenWrt的地址。
- 和ikuai一致保证同一个网段。
- IPv4网关:指向iKuai的网关。保证OpenWrt的上网数据传输到iKuai再传输到外网。
- 使用自定义的DNS服务器:223.5.5.5(初始先设置阿里云DNS保证设置过程的上网)。后面等设置好SmartDNS之后改由OpenWrt代理,即输入192.168.1.3。
- 关闭DHCP服务,统一由iKuai分配。
- 禁用掉IPv6服务。
- 物理设置:桥接接口。(因为选用的也是)
- lan高级设置:不勾选IPv6,勾选【开启开机自动运行】和【强制链路】。
7.2.2.2   Turbo ACC 加速
只开启前三个即可,DNS缓存后面由SmartDNS来管理。
7.2.2.3   防火墙设置
- SYN-flood 防御:关闭(此项开启关闭都行)
- 丢弃无效数据包:启用(此项开启关闭都行)
- 启用FullCone-NAT:高性能模式
- 入站数据、出站数据、转发都设置为接受。
- lan口开启:IP 动态伪装(只保留lan口的规格,其他接口全部删除)
- 防火墙自定义规则(一般默认就有前四条规则,没有需加上)
1 | iptables -t nat -A PREROUTING -p udp —dport 53 -j REDIRECT —to-ports 53 |
7.2.3   SmartDNS
- 基本设置
- 启用
- 本地端口6053
- 高级设置
- 开启TCP服务器
- 勾选域名预加载
- 勾选缓存过期服务
- 缓存大小设为:1000000
- 域名TTL最大值设为:3600
- 第二DNS服务器
- 启用
- 本地端口5335
- TCP服务器
- 服务器组:oversea
- 跳过测速
- 跳过address规则
- 跳过address SOA(#)规则
- 跳过双栈优选
- 跳过cache
- 停用IPV6地址解析
- 上游服务器(添加DNS的设置里面可以设置服务器组)
- 服务器组名称:china(10条左右,包含iKuai路由宽带拨号返回的两个宽带供应商提供的DNS)
- iKuai路由宽带拨号返回的宽带供应商提供的DNS1,udp协议
- iKuai路由宽带拨号返回的宽带供应商提供的DNS2,udp协议
- 114dns,114.114.114.114,udp协议
- 114dns,114.114.115.115,udp协议
- opener dns,42.120.21.30,udp协议
- 阿里dns,223.5.5.5,udp协议
- 阿里dns,223.6.6.6,udp协议
- 腾讯dns,119.29.29.29,udp协议
- 百度dns,180.76.76.76,udp协议
- 华为dns,122.112.208.1,udp协议
- 服务器组名称:oversea(10条左右)
- google dns,8.8.8.8,udp协议
- google dns,8.8.4.4,tls协议
- CloudFlare,1.1.1.1,udp协议
- IBM Quad9,9.9.9.9,udp协议
- Norton ConnectSafe,199.85.126.10,udp协议
- Norton ConnectSafe,199.85.127.10,udp协议
- OpenDNS,208.67.222.222,tls协议
- OpenDNS,208.67.220.220,udp协议
- V2EX DNS,199.91.73.222,tls协议
- V2EX DNS,178.79.131.110,tls协议
- 服务器组名称:china(10条左右,包含iKuai路由宽带拨号返回的两个宽带供应商提供的DNS)
- 域名规则
- 服务器组:china
- 域名分流设置:跳过测试
- 自定义设置(只设置两条,其他全部注释掉)
1 | bind:6053 -group china |
- 保存&应用
7.2.4   AdGuard Home
7.2.4.1   手动更新内核
- 下载最新的AdGuardHome内核(AdGuardHome_linux_amd64.tar.gz):点击跳转
- 解压获取「AdGuardHome」文件。
- 使用WinSCP登录openwrt虚拟机,进入到路径
/usr/bin/AdGuardHome/
,上传「AdGuardHome」文件。右击属性,分配权限0755(rwxr-xr-x)。
7.2.4.2   设置AdGuard Home
- 启用
- AdGuardHome重定向模式:作为dnsmasq的上游服务器
- 详细日志
- 开机后网络准备好时重启
- 在关机时备份工作目录文件(所有的选项)
- 打开192.168.1.3:3000地址并配置
- 网页管理界面>监听接口>所有接口,端口号设置为默认的3000
- DNS 服务器>监听接口>所有接口,端口号设置为5351
- 网页管理界面登录密码
- 设置>常规设置>使用过滤器和Hosts文件以拦截指定域名(其他选项全部关闭)
- 设置>DNS设置
- 上游 DNS 服务器
1
2127.0.0.1:6053
127.0.0.1:5335- 并行请求
- Bootstrap DNS:
127.0.0.1:6053
- 应用
- DNS服务配置
- 速度限制:0
- DNS 缓存配置:都空着(采用上游DNS服务器,让SmartDNS来管理)
- 上游 DNS 服务器
- 设置>过滤器>DNS黑名单设置(将阻止匹配 DNS 拦截清单的域名):综合性的规则列表启用几个即可。
7.2.5   DNSMASQ设置
打开网络>DHCP/DNS。主要是解除DNSMASQ的DNS功能,只保留转发功能,让DNSMASQ作为AdGuard Home的下级服务生效。
- DNS转发:
127.0.0.1#5351
。如果未自动设置成这个,手动强制改成这个。 - HOSTS 和解析文件:忽略掉解析文件,不用DNSMASQ的解析。
- 高级设置
- DNS服务器端口:53
- DNS查询缓存的大小:0
- 最大并发查询数:1500
- 保存&应用
7.2.6   OpenClash
7.2.6.1   更新客户端
- 下载客户端安装包:点击跳转
- 使用WinSCP登录openwrt虚拟机,进入到路径家目录home,上传安装包,运行安装
opkg install ./luci-app-openclash_0.46.014-beta_all.ipk
。如果报错,尝试opkg update
。
7.2.6.2   手动更新内核
内核下载地址:
更新步骤:
- 下载内核。
- 使用WinSCP登录openwrt虚拟机,进入到路径
/etc/openclash/core
,上传内核文件。右击属性,分配权限0755(rwxr-xr-x)。
内核对应的名称(压缩包解压出来的名称不一定对应,需手动修改):
- Dev 内核: clash
- Tun 内核: clash_tun
- Meta 内核: clash_meta
7.2.6.3   OpenClash设置
- 运行状态:启动OPENCLASH
- 插件设置
- 模式设置>运行模式:Fake-IP(TUN-混合)模式【UDP-TUN,TCP-转发】
- DNS设置>本地DNS劫持:停用
- GEO数据库订阅:设置自动更新
- 大陆白名单订阅:设置自动更新
- 配置订阅:设置自动更新,更新间隔60分钟
7.2.7   扩容Overlay软件安装空间
- 关闭openwrt虚拟机。
- 硬件>硬盘>更多,调整磁盘大小(只能增加大小,按需增加所需硬盘的空间大小)。
- 打开openwrt虚拟机。
- 系统>磁盘管理L:将新增磁盘大小新建一个分区并格式化为ext4,保存并应用
- 挂载刚才新增的分区,举例sda3:
mount /dev/sda3 /mnt/sda3
,保存并应用。 - 拷贝源overlay目录的文件到新分区内:
cp -r /overlay/* /mnt/sda3
。 - 系统>挂载点:添加sda3挂载点为「作为外部overlay使用(/overlay)」,保存并应用。
- 重启openwrt虚拟机,检查扩容情况。
- 根据情况可能需手动移除之前挂载的
/mnt/sda3
状态。
8   PVE总结
8.1   (强烈推荐)PVETOOLS脚本程序推荐
- PVETOOLS仓库地址:点击跳转
- 安装步骤(PVE SHELL执行命令):
1 | export LC_ALL=en_US.UTF-8 |
- 执行脚本程序后,可以一键执行「安装配置CPU省电」「配置PVE的web界面显示传感器温度」「去除订阅提示」等功能。
8.2   PVE虚拟机各硬件模型总结
TODO
9   飞牛私有云fnOS(NAS总结)
9.1   下载应用例如QBittorrent
在后台上传时可能会引导硬盘持续读取和CPU的异常占用。
问题原因:系统Swap cache功能引起引起硬盘持续读取和CPU的异常占用。
解决方法:永久禁用Swap cache
功能。
- 访问fnOS虚拟机控制台。
- 登录fnOS账户。
sudo vim /etc/fstab
- 摁
I
键进入vim编辑器编辑模式 - 找到
/swapfile none swap sw 0 0
一行内容并注释掉,即在行头加上#
。 - 摁
ESC
键,摁:
键然后输入wq!
保存退出。 cat /etc/fstab
可以查看文件内容是否修改成功,输出内容如下:
1 | UUID=ea545bcc-cd3f-479f-902a-ab2b02db25 / ext4 errors=remount-ro 0 1 |
10   宽带网络总结
10.1   会话数(连接数)
会话数(连接数)在线测试工具:https://qps.itzmx.com
连接数为应用产生的网络连接数,例如在爱快首页上看到连接数。并发连接数为 qps ,即每秒发起请求,等于在同一秒内,产生了 250 个请求。
会话数(连接数)的限制,一般普通线路带宽会有会话数限制,专线则没有该限制。触发限制的常见现象为:超过并发连接数上限后,此前已建立连接数的软件和网络请求可正常通信,并且期间ping一切正常,延迟没有任何抖动现象,但是新开软件则连不上网络。
11   后记
这光猫还是有断流情况,估计是过热导致掉线,后续考虑下加装小风扇。
断流降速故障已查明:虚拟网卡模型设置为Intel E1000
导致的故障,重设为VirtIO (半虚拟化)
即可解决。
12   参考文献
[1] Installation Failing: "Failed to prepare EFI boot using Grub"[EB/OL]. https://forum.proxmox.com/threads/installation-failing-failed-to-prepare-efi-boot-using-grub.122002/.
[2] 软路由科普系列 篇二:PVE安装iKuai OpenWrt 旁路由 基础设置 保姆级全教程[EB/OL]. https://post.smzdm.com/p/awrx4lxm/.
[3] ProxmoxVE 7.4 升级到 8.0,详细步骤[EB/OL]. https://blog.margrop.net/post/pve-7-upgrade-to-8/.
[4] PVE 联网及更换国内源[EB/OL]. https://www.cnblogs.com/pdblogs/p/16218543.html.
[5] Force update from unsigned repository[EB/OL]. https://askubuntu.com/questions/732985/force-update-from-unsigned-repository.
[6] ProxmoxVE(PVE) 启用 IOMMU[EB/OL]. https://www.insilen.com/post/501.html.
[7] Enable IOMMU or VT-d in your motherboard BIOS[EB/OL]. https://us.informatiweb.net/tutorials/it/bios/enable-iommu-or-vt-d-in-your-bios.html.
[8] ProxmoxVE(PVE) 使用 IMG 镜像文件,img 转 qcow2[EB/OL]. https://www.lxtx.tech/index.php/archives/65/.
[9]『软路由踩坑指南』篇三:ESXi 8.0 虚拟机安装 iKuai 主路由及保姆级配置[EB/OL]. https://post.smzdm.com/p/a5op28x7/.
[10]『软路由踩坑指南』篇四:ESXi 8.0 虚拟机安装 openWrt 路由系统终极指南[EB/OL]. https://post.smzdm.com/p/a7ngxeel/.
[11]『软路由踩坑指南』篇五:OpenWrt 旁路由进阶篇 SmartDNS+AdGuardHome 设置 DNS 分流、秒开网页、去广告[EB/OL]. https://post.smzdm.com/p/axz6z7w9/.
[12] [openwrt(x86)] OPenWRT 旁路由 +MosDNS+OpenClash+AdGuard Home 傻瓜配置图文教程[EB/OL]. https://www.right.com.cn/forum/thread-8284982-1-1.html.
[13] OpenWrt 扩容 Overlay 和 Docker 软件安装空间教程(内置硬盘版)附:Samba 网络共享设置[EB/OL]. https://www.right.com.cn/forum/thread-7470757-1-1.html.
[14] [OpenWrt] 使用 OpenClash 科学上网[EB/OL]. http://suyu0925.github.io/blog/2022/07/25/openwrt-openclash/.
[15] 镜像站使用帮助-Proxmox 软件仓库[EB/OL]. https://mirrors.tuna.tsinghua.edu.cn/help/proxmox/.
[16] 开启直通[EB/OL]. https://skyao.io/learning-pve/docs/pass-through/enable/.
[17] [经验分享] 在线连接数测试网页,简单一键测试宽带并发连接数限制[EB/OL]. https://bbs.ikuai8.com/thread-87196-1-1.html.
[18] 禁用Swap cache[EB/OL]. https://club.fnnas.com/forum.php?mod=viewthread&tid=2492.
[19] 镜像站使用帮助-Debian 软件源[EB/OL]. https://mirrors.tuna.tsinghua.edu.cn/help/debian/.
[20] 第 5 章 bookworm 中需要注意的问题[EB/OL]. https://www.debian.org/releases/bookworm//amd64/release-notes/ch-information.zh-cn.html.
[21] 【装机帮扶站】第881期:BUG处理器能选否?聊聊12代ES处理器[EB/OL]. https://zhuanlan.zhihu.com/p/458166029.