这期讲一下如何在一个复杂的环境中配置旁路由,旁路由的网络接入与其他终端设备无异,你可以把他理解为一个普通的设备,这个设备负责数据交换的处理。旁路由只需要一根网线和一个网口就可以完成接入,这和至少需要两根网线(WAN + LAN)的主路由配置是不同的。
下载固件
下载地址:https://downloads.immortalwrt.org
进入下载页面,选择对应的固件,由于我们使用 ProxmoxVE,CPU 是 x86_64,所以选择 x86/64 的版本。接下来选择文件系统,提供两个选项:ext4 和 squashfs,后者需要 overlay 来写入,所以我们还是用最简单的 ext4 分区。后缀选择 img 格式的镜像,方便在 ProxmoxVE 导入。

下载之后进行解压,得到 immortalwrt-25.12.2-x86-64-generic-ext4-combined-efi.img
配置虚拟机
打开 ProxmoxVE 后台,点击 local 储存池并选择 ISO 镜像,上传刚才解压的 .img 文件,注意这个不是 iso 文件而是整个磁盘,所以不能作为安装介质。
正常走虚拟机创建流程,勾选 不使用任何介质,点击下一步,原因如上。系统界面勾选 QEMU Agent。

我们下载的是 efi 后缀的镜像,需要将 BIOS 改为 UEFI 启动方式,并在后面关闭安全启动。EFI 磁盘默认是没有的,EFI 存储中要手动选择 local-lvm 储存池。
如果没有 local-lvm 说明磁盘太小了,就还是用 local 储存池吧
磁盘配置中直接删除所有磁盘,我们下载的镜像中已经包含了,后面直接导入即可。

内存
通常来说内存给 1 GiB 就行,建议把 Ballooning 设备 关了,对 I/O 性能不好。
网络
网络自行规划,如果想独占网卡可以选择直通,不过我不推荐这样做。

推荐先断开网络,避免未配置的网卡发生状态变更导致内网出现两个 DHCP 服务器引发设备断网。
调用 qm importdisk
通过以下命令导入硬盘镜像到虚拟机中,其中 250 请替换为自己的编号:
qm disk import 250 /var/lib/vz/template/iso/immortalwrt-25.12.2-x86-64-generic-ext4-combined-efi.img local-lvm
回到虚拟机配置页面,选择硬件,此时我们会发现有一个未使用的磁盘存在,我们双击该磁盘使用默认状态添加即可。
扩容
默认情况下,ImmortalWrt 官方的镜像只有 350MiB 空间,大部分情况下是够用的,我个人建议在磁盘空余的情况下扩容 2~8 GiB 存储。
有关扩容,请参考 ImmortalWrt ext4 根分区扩容步骤
配置启动项
默认情况下,虚拟机不会从我们添加的镜像启动,如果此时开启虚拟机会无法找到启动项进入 PXE 模式。
选择 选项-引导顺序

勾选 scsi0,并拖动至第一顺位,并取消勾选其他启动,即可成功设置启动项。
尝试启动系统
确保一切看起来正常后,来 PVE 虚拟机控制台点击 Start 启动系统。
如果一切正常,按 Enter 就能打开 Shell。如果出现
No bootable option or ddevice was found,按下 Enter 进入配置模式
进入 Device Manager

进入 Secure Boot Configuration

按下空格键,取消勾选

修改完成后,按 Esc 键退出到 Boot Manager,选择 Continue 并回车。

初始设置
进入系统的 Shell 模式,输入:
vi /etc/config/netwrok
修改 br-lan 部分的静态 IP,避免和内网其他设备冲突,输入 :wq 退出保存,然后重启网络服务:
/etc/init.d/network restart
使用 ip a 查看 br-lan 是否有配置的静态 IP,并可以使用 ping 测试连通性。
系统换源
新版本使用 apk 而不是 opkg 了,连上 SSH 使用一键命令换源:
sed -e 's|https://downloads.immortalwrt.org|http://mirrors.ustc.edu.cn/immortalwrt|g' \
-e 's|https://mirrors.vsean.net/openwrt|http://mirrors.ustc.edu.cn/immortalwrt|g' \
-i.old /etc/apk/repositories.d/distfeeds.list
出于一些原因,wget 可能不支持 https,第一次建议使用 http 作为镜像源协议
运行 apk update 看看能否正常拉取信息,如果失败了可能是 DNS 的问题,需要修改 lan 接口配置。
进入网页配置
直接在浏览器打开设备的静态 IP,默认密码是滚木,可以登录后自己设一个合适的密码。
进入 网络 » 接口 » lan,配置 使用自定义的 DNS 服务器:

接下来可以继续运行 apk update 查看能否正常使用了。
注意事项
为了防止 DHCP 多路由分配导致混乱,你可以自行选择关闭主路由 DHCP 或者旁路由 DHCP,二选一。
如果局域网内设备要用旁路由的话,网关写旁路由的网关就好,此时应该已经能使用旁路由上网了。
无论是你接下来要折磨的分流还是其他情况,我都不推荐你使用 IPv6