月下博客

软路由:PVE虚拟机安装OpenWRT,直通PCI网口,作为全设备全平台的科学上网旁路由!AdGuard home没用?

前言

OpenWrt项目是一个针对嵌入式设备的Linux操作系统。OpenWrt不是一个单一且不可更改的固件,而是提供了具有软件包管理功能的完全可写的文件系统。这使您可以不使用供应商提供的应用程序选择和配置,而是通过使用软件包来定制设备以适应任何应用程序。对于开发人员来说,OpenWrt是一个无需围绕它构建完整固件就能开发应用程序的框架; 对于普通用户来说,这意味着拥有了完全定制的能力,能以意想不到的方式使用该设备。

前几期视频,我们搭建了PVE,首先是虚拟了爱快,然后搭建了AdGuardHome。一块四口的千兆也只预留了一个口给旁路由,那么今天我们就把这个口给用了,虚拟一个OpenWRT用作我们家庭全设备、全平台的科学上网路由器。

有人说AdGuard home是光着身子系皮带,多此一举。不想怼,细看视频。

视频教程:点击观看

准备工作

1、PVE虚拟机环境(没有搭建的请博客 搜索PVE

2、PVE已经做好了直通设置(IOMU),若没有,请点击:设置PVE直通

3、PVE 磁盘挂载工具 img2kvm (点击下载

4、下载OpenWrt IMG镜像包

若不嫌弃作者编译的OpenWrt固件功能太少,可以下载这个:下载直达 2020.05.25编译

开始搭建OpenWRT

1、首先在PVE里面创建虚拟机

因为我们需要直通一个网口给它,所以我们新建虚拟机的是不需要给他分配网口和CD/DVD。

2、创建完成以后

在该虚拟机的硬件里面分离硬盘并删除,我们不需要这块硬盘。

3、添加PCI设备 (直通)

在虚拟机的硬件里面添加PCI设备。

4、删除多余的硬件配置

为了虚拟机的性能,我们把不需要的所有硬件删掉。留下下面的一些硬件。

5、用SSH工具连接PVE

在 root 根目录下面上传我们下载下来的 .IMG格式的OpenWRT的镜像包和 img2kvm 工具

6、查询虚拟机ID

在PVE里面看清楚该虚拟机的ID是多少,如下图,该虚拟机的ID为103

7、挂载IMG磁盘

在PVE的SSH窗口里面键入以下命令来挂载IMG磁盘。

重要:以下命令中,openwrt-x86-64-combined-squashfs.img 请更改为你.img的名字;包含103的数字,请自行更改为需要挂载磁盘的虚拟机的ID。你若是虚拟机只有一块磁盘,那么,最后面的disk-0请别更改。

chmod +x img2kvm
./img2kvm openwrt-x86-64-combined-squashfs.img 103 vm-103-disk-0

如下图及磁盘挂载完毕:

回到PVE,双击未使用的磁盘0,弹出窗口点击“添加”,挂载使用

8、至此,虚拟机创建完毕

接下来我们需要对openwrt进行设置。

设置OpenWRT

1、设置openwrt的IP登录地址

若是用的上面下载的OpenWRT固件,那么默认的登录地址为:192.168.1.1 用户名root 密码 password

规划自己的IP段,因为我们的OpenWRT是作为旁路由,所以我们需要在主路由的IP段上面进行IP操作。作者这边的主路由IP地址为10.0.0.1,所以我们把旁路由IP设置为10.0.0.X,其中X为局域网中未使用的IP地址

开启OpenWRT的虚拟机,打开控制台。等待代码跑完毕之后,敲下回车键,然后输入以下代码进行IP更改。

vi /etc/config/network

按下键盘上面的insert键,进入改写模式;改写完毕按下键盘的esc键退出改写模式,然后输入英文的 :wq 回车进行保存,reboot 重启OpenWRT

2、登录OpenWRT进行设置

对于OpenWRT的设置,相信大家都会了,因为很简单,若你是对OpenWRT的设置存在一定的问题,还是请看 视频教程

后记

至此,我们的PVE里面安装爱快、AdGuardHome、OpenWRT就完毕了

其中爱快负责拨号和流控、AdGuardHome作为我们的DNS服务器、OpenWRT作为我们的旁路由进行全平台全设备的科学上网!