创建虚拟机
需要用到的东西
- openwrt官方img文件,切记下载x64版本,有牛逼人下载x86的导致虚拟机无法识别img。
- qemu-img
QNAP的虚拟化工作站无法直接使用openwrt官网下载的img格式,需要用qemu-img工具进行转换。命令如下:
qemu-img convert -p -f raw -O qcow2 openwrt-23.05.5-x86-64-generic-ext4-combined-efi.img openwrt.img
- 先用Virtualization Station创建一个无硬盘的虚拟机。
- 把qemu-img转换后的镜像openwrt.img复制到虚拟机目录。
- 在Virtualization Station中将openwrt.img添加进虚拟机,并设置好容量,比如10GB。如果无法在QNAP虚拟机界面修改磁盘空间,可以在添加img文件之前使用命令
qemu-img resize openwrt.img 8G来调整img的空间大小(不是img文件的实际大小)。
给文件系统扩容
默认的文件系统大概只有104MB空间,这会导致很多应用无法正常使用。所以需要给文件系统扩容,磁盘容量已经在上一步虚拟机相关设置里完成扩容了,现在只需要在Free Space上创建文件系统。
先安装必要的工具
opkg update #分区前可能需要使用parted -l命令修复一下 #如果不安装block-mount,openwrt是没有挂载选项的 opkg install fdisk cfdisk parted block-mount
使用fdisk和cfdisk将剩余空间分配并格式化为EXT4格式。
在openwrt网页端的System菜单下选择挂载点,并把新创建的文件系统挂载为“/”。而后openwrt会给出一系列命令,如下所示:
mkdir -p /tmp/introot mkdir -p /tmp/extroot mount --bind / /tmp/introot mount /dev/vda3 /tmp/extroot #将这行中的/dev/vda3改为实际的设备路径 tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf - umount /tmp/introot umount /tmp/extroot
执行上述命令并重新启动openwrt即可完成扩容。
关于网卡
X710的驱动是i40e,默认就有,SR-IOV的网卡可以直接识别到。
CX4网卡驱动为mlx5,默认未安装,SR-IOV的CX4网卡无法直接使用。这时候需要先用虚拟交换机的网卡让openwrt可以联网,然后执行下面的命令安装CX4网卡驱动:
opkg install kmod-mlx5-core
至此就可以使用CX4的SR-IOV了,也可以把虚拟交换机的网卡移除掉。
修改lan口IP
# 将 LAN 接口的协议设置为静态 uci set network.lan.proto='static' # 设置新的 IP 地址 uci set network.lan.ipaddr='192.168.2.1' # 设置子网掩码 (可选,若不设置则可能使用默认值) uci set network.lan.netmask='255.255.255.0' # 设置网关 (对于 LAN 接口通常不需要) # uci set network.lan.gateway='192.168.2.254' # 设置 DNS 服务器 (可选) # uci set network.lan.dns='8.8.8.8 8.8.4.4' # 提交更改 uci commit network # 重启网络服务以应用更改 /etc/init.d/network restart
关于旁路由
只需要一个lan口即可,设置好IP,网关设置为出口路由IP,关闭DHCP和IPv6。千万别忘了修改/etc/resolv.conf中的DNS地址。
科学上网
安装openclash,过程非常简单,如果因为dnsmasq冲突导致openclash安装失败,可以删除系统自带的dnsmasq再安装openclash。
openclash的配置很简单,配置订阅即可。
客户端使用这个旁路由上网时只需要将网关和DNS都设置为旁路由lan口IP地址即可。
发表回复