All-in-One(三):Openwrt

发布时间 2023-09-23 15:23:49作者: 一克猫

简介

  **OpenWrt **是适用于嵌入式设备的一个 Linux 发行版。
相对原厂固件而言,OpenWr t不是一个单一、静态的固件,而是提供了一个可添加软件包的可写的文件系统。这使用户可以自由的选择应用程序和配置,而不必受设备提供商的限制,并且可以使用一些适合某方面应用的软件包来定制你的设备。对于开发者来说,OpenWrt 是一个框架,开发者不必麻烦地构建整个固件就能得到想要的应用程序;对于用户来说,这意味着完全定制的能力,与以往不同的方式使用设备,OPKG 包含超过3500个软件。 默认使用 LuCI 作为 web 交互界面。

安装

  因为拨号上网和 dhcp 服务由Openwrt接管,所以硬路由被我改成了中继模式。我选择的Openwrt固件版本是官方的 23.05RC3(不建议各种花里胡哨的其他编译版本)。
  先上传要安装的固件,因为是 CPU 为 Intel 的软路由,所以固件架构选择 X86_64 ,版本通常选择 combined-efi ,格式则按需选择,如果你只装一个固件不需要额外扩容去安装各种插件,那么选择 squash,反之选择 ext4,我选的就是 ext4。
image.png
  将镜像导入lvm:

qm importdisk 100 /var/lib/vz/template/iso/openwrt2305.img local-lvm #这里的 100 对应的是上图中openwrt的VM ID

  导入lvm后硬件会得到一块未编辑的硬盘,双击,在总线处选择SCSI,添加,紧接着选择磁盘操作为该硬盘增加需要的容量,我这里添加了1G。
  直通4个网口,添加一个 vmbr1 网桥,选项处调整引导顺序,将硬盘打勾上挪第一位,开启虚拟机。
image.png

扩容

  进入 Openwrt 的控制台执行以下命令:

# 按顺序安装
opkg update
opkg install block-mount e2fsprogs
opkg install fdisk blkid vim

# 查看安装时挂载的硬盘(刚刚添加的1G容量)
fdisk -l

# 为挂载的硬盘分区
fdisk /dev/sda  # 这里的 sda 注意看上一步骤的信息

# 按顺序按键
n # 新建分区,期间回车配置默认
p # 查看分区信息
w # 写入分区

#  //格式化分区
mkfs.ext4 /dev/sda3  # 这里的 sda3 在查看分区信息时确定,记住格式化后回显的UUID

# 如果忘记UUID用这个命令重新查看
blkid

# 重启
reboot

# 配置 sftab 按顺序执行
uci add fstab mount
uci set fstab.@mount[-1].uuid=UUID #UUID为刚才格式化的分区的UUID
uci set fstab.@mount[-1].options=rw,sync,noatime
uci set fstab.@mount[-1].fstype=ext4
uci set fstab.@mount[-1].enabled_fsck=1
uci set fstab.@mount[-1].enabled=1
uci set fstab.@mount[-1].target=/
uci set fstab.@mount[-1].device=/dev/sda3  # sda3 如上
uci commit fstab

# 将根目录复制到新的分区下,sda3 如上
mkdir /mnt/sda3
mount /dev/sda3 /mnt/sda3
mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda3 -xf -
umount /tmp/cproot
umount /mnt/sda3

# 启用引导
/etc/init.d/fstab enable
/etc/init.d/fstab start

# 重启
reboot

配置

  进入 Openwrt 的控制台执行以下命令:

# 配置网卡
vi /etc/config/network
config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd86:5269:b1fb::/48'

config device
	option name 'br-lan'
	option type 'bridge'
  # 绑定除了作为 WAN 口的 eth1
	list ports 'eth0'
	list ports 'eth2'
	list ports 'eth3'
	list ports 'eth4'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.30.1' # 保持和PVE管理地址在同一个网段
	option netmask '255.255.255.0'
	option ip6assign '64' # 如果要开启Ipv6,这个要配置

config interface 'wan'
	option device 'eth1'
	option proto 'pppoe' 
	option username 'AAAAA' # 宽带拨号账号
	option password 'BBBBB' # 宽带拨号密码
	option ipv6 'auto'

# 如果要开启Ipv6,这个要配置
config interface 'wan6' 
	option device 'eth1'
	option proto 'dhcpv6'

  配置完网卡后重启 Openwrt 即可。

参考

PVE下扩展openwrt for x86分区大小