台电小主机利用Hyper-V部署OpenWrt单臂路由

作者:leeyeung

这是一篇利用网上相关知识拼凑而成的实践经历。

初衷:台电玲珑S本是用来给小孩寒假上网课用的,前几天因为用了三年的J1900软路由主板崩了,就想着用这台小主机兼做软路由。由于小主机和弱电箱不在同一个房间,但小主机旁有网线接入,就考虑组个单臂路由。

设备除了台电玲珑S,还有一台年前买回来一直当普通交换机使用的TL-SG2008D管理型交换机。

需要将主机系统换成Windows10专业版并开启Hyper-V(windows Server、Ltsc版本也可),下载安装虚拟磁盘转换工具StarWind V2VConverter,以及自己常用的OpenWrt固件(建议使用uefi固件)。

当然要省点钱也可以不用网管交换机,简单粗暴的接入普通交换机也可以做主路由或旁路网关。不过为了网络安全和稳定起见,还是建议使用网管交换机。

拓扑图就不上了,小主机单网线接入弱电箱中的交换机,交换机接光猫、以及其它终端或AP。

一、交换机设置

端口1接光猫,端口2接小主机,3~8端口接各类终端。

二、IMG转VHDX镜像文件

转换完成后,留存备用。

三、Hyper-V设置

1、创建虚拟交换机

打开Hyper-V管理器(开始-Windows管理工具-Hyper-V Manager),在虚拟交换机管理器里新建两个虚拟交换机。

第一个是内部交换机,用于OpenWrt虚拟机与Win10宿主机之间的通信,Win10系统需要通过这个内部交换机连接OpenWrt主路由上网。

第二个是外部交换机,绑定主机上唯一的物理网卡,同时作为OpenWrt中连接外部网络的wan口和lan口使用。

注:外部交换机中取消勾选“允许管理操作系统共享此网络适配器”后会造成绑定的物理网卡断开连接,如果win10宿主机需要在设置期间上网则暂不取消勾选,等虚拟机部署完成后再取消勾选。

2、OpenWrt虚拟机安装

3、虚拟机设置

添加硬件-网络适配器。这里总共需要配置三个网络适配器。除了刚才虚拟机安装过程中将内部交换机配置为第一个网络适配器外,还需要新增两个网络适配器,同时绑定外部虚拟交换机,分别作为Lan口和Wan口使用。添加时有顺序要求,三个网络适配器会根据添加的先后顺序,在OpenWrt里依次默认为eth0,eth1,eth2接口。注意作为wan口的网络适配器需要标识为vlan2(与前面网管交换机的vlan号设置一致)。

三个网络适配器高级功能中都勾选“启用MAC地址欺骗”

设置自动启动,因为台电主机BIOS中已默认设置来电开机,所以断电后重新来电不影响网络使用。

至此,虚拟机全部安装完毕,检查一下外部虚拟交换机是否已取消勾选“允许管理操作系统共享此网络适配器”。

四、OpenWrt网络配置

连接并启动OpenWrt虚拟机,OpenWrt启动完成后,内部交换机会自动连接虚拟机。

打开浏览器输入固件默认IP地址进入OpenWrt设置界面。

在网络-接口中,设置lan口桥接eth0和eth1接口,wan口绑定eth2接口。

完成网络接口设置后,组网就基本完成了,OpenWrt其它设置就不赘述了。

五、效果

电信入户带宽300M,国内和出国基本都能跑满。

总结

1、利用网管交换机划分vlan,单线复用分别走lan数据帧和wan数据帧。在虚拟机的设置里分别设置三个网络适配器并配置vlan。

2、宿主机(win10系统)通过内部虚拟交换机来实现与虚拟机的通信,OpenWrt系统可以通过DHCP分发IP给宿主机,宿主机或网络中的其它终端也可以直接通过IP地址访问OpenWrt虚拟机。

3、整机平均功耗大约10w左右。因为家用宽带只有300M,跑满带宽是没有问题,但这时候系统cpu占用比较高。最大的瓶颈应该是主机上那块螃蟹网卡,如果换成Intel网卡,系统占用会低很多。