前言:

Windows的hyperv只提供虚拟交换机创建,网络NAT和DHCP都是交给插件来实现,配置起来极为麻烦和不便利,因此琢磨着创建一个简单的虚拟网络,顺便将负载和翻墙集成进去。

示意拓扑图:

image-20260116223125026

参考教学

Open-WRT镜像下载(选一个):

下载OpenWrt

或者下载ImmortalWrt(一个面向中国大陆用户的开源OpenWrt变体。配置好了中文,更方便)

image-20260116191059470

Windows使用StarwindConverter虚拟机磁盘镜像互转

使用qemu-img(加入环境变量)

#cd到img的目录下
qemu-img convert input.img -O vhdx -o subformat=dynamic output.vhdx

创建一代虚拟机,1核,800M,2G,3个网络适配器,磁盘选择转换后的vhdx

(此处省略)

创建两个虚拟交换机,外部,分别绑定两个出口网卡,我这里是wifi 和2.5G,把’允许…‘关了,让路由器独占

image-20260116204627296

再创建一个内部交换机,作为主机流量入口。

分配mac,地址随意但不能重复,最好为01,02,03,这样方便记忆

image-20260116205415112

image-20260116205530640

内容(记得先备份原文件):

改密码:

passwd

先备份

mv /etc/config/network{,.bak}

先配置管理地址:

vi /etc/config/network

config interface 'lan'
        option device 'eth2'
        option proto 'static'
        option ipaddr '192.168.20.1'
        option netmask '255.255.255.0'

冒号q回车退出

运行这条命令让配置生效

/etc/init.d/uhttpd restart

物理机上配置网络:

win+r输入ncpa.cpl打开网络适配器如下配置

image-20260116225218086

用ssh连接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 'fdbe:cd76:75cf::/48'
        option packet_steering '1'

config interface 'lan'
        option device 'eth2'
        option proto 'static'
        option ipaddr '192.168.20.1'
        option netmask '255.255.255.0'
        option ip6assign '60'


config interface 'WAN2'
        option proto 'dhcp'
        option device 'eth1'

config interface 'WAN'
        option proto 'dhcp'
        option device 'eth0'

使配置生效:

/etc/init.d/uhttpd restart