All in One 服务器 Part 2:在 PVE 上安装 OpenWRT 官方镜像

Limonene Lv1

安装 OpenWRT 官方景象

此部分主要参考了 Barhe 的博客

镜像

在 OpenWRT 官网下载 x86_64 镜像即可。例如 23.05.2 版本 。可以选择 generic-ext4-combined-efi 格式。

使用 gzip -d 解压镜像。

PVE 安装

首先创建虚拟机。「操作系统」标签页选择「不使用任何介质」,「磁盘」标签页随便选。不考虑可迁移性的话,CPU 类型可以选择 host 以获得最大性能。2 核 1G 就足够 OpenWRT 使用了。

随后在「数据中心 - pve - <VMID> - 硬件」找到刚刚创建的虚拟机的硬件配置。点击「硬盘」后选择分离、移除,删除创建虚拟机时分配的硬盘。

接着可以先直通网卡给 OpenWRT。选择「添加 - PCI 设备 - 原始设备」,找到预留给 OpenWRT的网口,并一个一个分配给 OpenWRT。

注意:不要把 PVE 的管理网口分配给 OpenWRT!

然后上传系统镜像。在 PVE WebUI 数据中心 - pve - local (pve) - ISO 镜像处,上传解压好的 OpenWRT 镜像,并记住镜像的存储路径(一般在 /var/lib/vz/template/iso/)。随后执行

1
qm importdisk <VMID> <path to image> local-lvm

一般来说,如果OpenWRT是你创建的第一个虚拟机,VMID 为 100。

因为官方固件硬盘很小,为了方便后面我们的使用,把硬盘可以改大一点,如 1~2G 左右。

1
2
ls /dev/pve
lvresize --size 1G /dev/pve/vm-100-disk-0

首先检查 /dev/pve/ 目录,应该能看到刚刚用 importdisk 命令添加的虚拟磁盘,随后用 lvresize 命令,将虚拟磁盘大小修改为 1GB。

接着回到「数据中心 - pve - <VMID> - 硬件」找到刚刚创建的虚拟硬盘,检查是否已经挂载到虚拟机,没有的话要双击后选择确定进行挂载。随后在「<VMID> - 选项 - 引导顺序」中,勾选刚刚挂载的虚拟硬盘,取消勾选光驱和网络,并将硬盘拖到第一位。

随后就可以启动虚拟机了!

OpenWRT 内部设置

成功启动虚拟机后,在控制台中按回车,可以激活 shell。OpenWRT 官方镜像的默认 IP 是 192.168.1.1,因此需要进行修改。使用 vi /etc/config/network 打开配置文件,找到 config interface 'lan',并将其下的 ipaddrnetmask 修改为你的局域网设定。同时,检查一下config interface 'wan',确保其绑定了正确的网口。例如,在我之前提到的 IP 分配下,我的配置文件看起来像这样子:

1
2
3
4
5
6
7
8
9
10
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '10.0.0.1'
option netmask '255.255.252.0'
option ip6assign '60'

config interface 'wan'
option device 'eth1'
option proto 'dhcp'

保存退出后,重启网络服务:

1
service network restart

此时,你应该能在绑定的局域网 IP 访问到 OpenWRT 的 WebUI 了。如果你把上游网线插在了正确的 WAN 口,你也能在 OpenWRT 内部 ping 通外网了。

如果你将 OpenWRT 与 PVE 配置在同一网段,即使电脑此时连接在 PVE 的管理网口,由于 PVE 内部的虚拟网桥(vmbr0),你也能正常访问 OpenWRT 的 WebUI。

硬盘扩容

接着,我们将给虚拟硬盘扩容的空间实际应用起来。首先下载必要的工具:

1
2
opkg update
opkg install parted fdisk block-mount blockdev

随后修复分区表:

1
parted -l

随后新建分区:

1
fdisk /dev/sda

你可能会用到的命令:pnw,分别用于打印分区表,创建分区,将分区调整结果写入硬盘。按 m 可以显示 fdisk 的说明。如果你完全没接触过 fdisk,强烈建议先去搜索资料,以免对硬盘造成破坏,导致不得不重装 OpenWRT。创建分区时,一路默认就可以,将全部剩余空间分配给新分区 /dev/sda3

随后在新分区上创建文件系统:

1
mkfs.ext4 /dev/sda3

最后,执行如下命令,将新分区挂载到 /overlay,并重启系统以应用:

1
2
3
4
5
6
7
8
DEVICE="/dev/sda3"
eval $(block info "${DEVICE}" | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab
reboot

如果你新创建的分区不是 /dev/sda3,不要忘记修改首行。重启后,通过 df -h 即可确认新分区的挂载情况。

安装 Argon 主题与汉化

安装 WebUI 汉化包:

1
2
3
opkg update
opkg install luci-i18n-base-zh-cn
opkg install luci-i18n-acl-zh-cn

如果想要安装 Argon 主题,强烈建议自行前往 GitHub 页面 寻找最新的安装指南。

1
2
3
4
5
6
opkg install luci-compat
opkg install luci-lib-ipkg
wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.3.1/luci-theme-argon_2.3.1_all.ipk
opkg install luci-theme-argon*.ipk
wget --no-check-certificate https://github.com/jerrykuku/luci-app-argon-config/releases/download/v0.9/luci-app-argon-config_0.9_all.ipk
opkg install luci-app-argon-config*.ipk

将剩余网口分配给 LAN

新版本的 OpenWRT 关于硬件分配的位置发生了变化。原先可以在「网络 - 接口 - 接口 - 硬件设置」下选择分配给对应接口的物理网口,现在则转移到了「网络 - 接口 - 设备」。找到网桥 br-lan,点击配置,在「网桥端口」中勾选对应的网口,此时即可实现将剩余网口作为 LAN 口使用。

顺带一提,如果想修改 LAN 中 DHCP 分配的起止地址,可以在「网络 - 接口 - 接口 - DHCP服务器」选项卡进行配置。

关于如何接入 AP,请看 All in One 服务器 Part 2.5:使用 OpenWRT 作为无线 AP

安装 OpenClash

如果想要安装 OpenClash,强烈建议自行前往 GitHub 页面 寻找最新的安装指南。

1
2
3
4
5
6
opkg update
# 安装依赖
opkg install coreutils-nohup bash dnsmasq-full curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base
# 下载ipk
wget https://github.com/vernesong/OpenClash/releases/download/v0.45.157-beta/luci-app-openclash_0.45.157-beta_all.ipk
opkg install *.ipk

如果前面下载了 Argon 主题,最好把不同插件的 ipk 文件放在不同的文件夹。

由于我在安装 OpenClash之前,就已经单独安装了 dnsmasq-full,不知道安装依赖时会不会有问题。如果遇到与这个相关的问题,可以试试:

1
2
opkg update
opkg remove dnsmasq && opkg install dnsmasq-full

注意:卸载 dnsmasq 与安装 dnsmasq-full 要同步完成,以免卸载后不能正常联网!

至此,OpenWRT 已基本配置完成。

  • 标题: All in One 服务器 Part 2:在 PVE 上安装 OpenWRT 官方镜像
  • 作者: Limonene
  • 创建于 : 2024-01-01 21:30:02
  • 更新于 : 2024-01-23 19:57:29
  • 链接: https://limonene.top/2024-01-01/All-in-One-服务器-Part-2:在-PVE-上安装-OpenWRT-官方镜像/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论