October 27, 2020

HyperV软路由All in one

win server 2019 先开启hyper-v,之后下载lede的镜像,难点在于对虚拟交换机的理解,就是虚拟网卡的配置。

点击虚拟交换机管理器,会出现以下三种虚拟交换机

外部网络:连接网线的物理网卡,可以让虚拟机使用,相当于虚拟机通过这个物理网卡连接,有个选项允许管理系统共享,共享就是宿主机和虚拟机都可以用这个网卡,ip地址是桥接分配的,在同一个网段,如果取消共享,则只有虚拟机可以使用,如果该网卡是连接互联网的主网卡,取消共享会导致宿主机断网。注意外部网卡不可以建立宿主机与虚拟机的连接。

内部网络:内部网卡是一张虚拟网卡,建立的是宿主机和虚拟机之间的连接,如果虚拟机是路由器,这个网卡相当于从路由器的lan口接到宿主机的网卡,让宿主机可以访问路由器。

专用网络:相当于虚拟机之间连接的网络,不和宿主机有关联。两台虚拟机A是路由器,B是win10,则B如果要上网的话需要连到A,通过的就是建立专用网络虚拟网卡。

外部网络和内部网络虚拟出来的网卡可以在宿主机管理,因为和宿主机是有连接的,而专用网络是不可以在宿主机管理的。

搞懂了这些就开始安装openwrt,具体安装过程需要自行搜索,我主要介绍安装的网络配置。

如上图所示,在硬件区域添加网络适配器,这个添加的顺序会对应安装好软路由的eth编号,上图对应的顺序为eth0-3,每个网络适配器在高级功能里开启Mac地址欺骗。

第一个网卡是虚拟Lan,对应软路由的eth0,是我用来连接宿主机和软路由的,是内部网络,安装好后虚拟机的网段默认是192.168.1,我们要修改/etc/config/network,把网段修改到和光猫不同的网段,以免产生冲突,然后修改宿主机上这块虚拟的Lan卡,将网段修改到和路由器一个网段,就可以在宿主机通过浏览器访问软路由了。

第二个网卡是USB的千兆网卡,是宿主机和虚拟机共享的网卡,对软路由来说对应eth1,相当于WAN口,提供软路由上网的网卡。

第三个网卡是主板上的物理网卡,用于虚拟机软路由的出口网卡,相当于软路由的eth2,此网卡为了性能我没有共享给主机,通过该网卡连接真正的路由器,给家里的设备上网。

第四个网卡是一个专用网卡,相当于虚拟机的eth3,用于连接软路由和虚拟机的一台win10上网,该网卡只有在软路由和win10中才可以看到。

对此我们就确定了在软路由里eth1是wan口,其他的3个是lan口,我们需要修改对应的网卡配置,确保网卡对应正确,我们登入终端,ifconfig查看br-lan的mac地址是否是我们所需要的eth0的mac地址,如果不正确,还需要修改上述网络文件

如果不正确要修改/etc/config/network

然后我们到网络=》接口=》Lan编辑=》物理设置,设置Lan口对应的物理网卡

保存,然后将真正的路由器接入主机的另一个网口,即可上网,和我们预期的一样,注意不在网页设置的话网络配置文件是看不到其他网卡的,如果能确定顺序,也可以直接去修改刚才的配置文件。