[教程] Hyper-V安装lede软路由成功经历分享

2020-04-10 10:11:57 收藏 871
一、缘由:买了1个小主机(带win10系统),2个网口,i7-5500U处理器支持硬件虚拟。于是就想折腾哈能不能把它放在客厅,1是作为htpc2是充当软路由,接ap、接盒子等等。由于主机已安装了Win系统,所以软路由的功能就只能依靠Hyper-V的方式实现了。之前也爬了好多教程文章,自以为没什么问题,可这个Hyper-V的网络设置方式和EsxiVmWare等差异还比较大,经过无数次的尝试终于成功了。于是为了让像我一样的小白少走弯路,产生了写这篇流水账教程的想法,大神勿喷……



二、目前已实现的功能:路由器通过光猫连接外网,小主机接入路由器实现Dhcp方式上网并下接AP实现其它设备上网。(其实最终的目标是小主机直接连接光猫,用小主机虚拟的软路由通过WAN扣拨号上网,然后LAN口下接ap实现无线、有线上网——设置方式基本一样,除了在软路由中将WAN口的协议由DHCP改为PPPoE拨号上网并设置相关参数即可)


三、主要步骤:
1.win10中打开Hyper-V功能
2.Hyper-V中安装虚拟机→软路由LEDE
3.Hyper-V中设置虚拟交换机
4.Hyper-V管理器中对虚拟机→软路由LEDE进行网络适配器等设置
5.进入软路由LEDE的配置界面进行网络设置以实现上网功能
6.其它进阶折腾


四、详细设置过程:
1. win10中打开hyper-v功能设置→应用和功能→程序和功能→启用和关闭windows功能,勾选Hyper-V,确定,按提示完成操作。


2. Hyper-V中安装虚拟机(软路由LEDE
2.1. 下载lede软路由固件(可以选择koolshare的专为虚拟机准备的固件《目前最新为V2.22版》,或者其它开源代码编译的固件),并解压成img格式备用。
2.2. 用转盘软件(我用的是starwind v2v image converter)lede固件转换为vhdx格式注意根据软件提示选择转换源文件(即你刚下载并解压的.img固件文件),选择转换格式(如图所示),最后选择转换后文件存储地址即可。


2.3. 在计算机上某分区上建立hyper-v目录,同时建立lede下级子目录,将转换得到的vhdx文件拷贝于此


2.4. 打开Hyper-V管理器并新建虚拟机:根据提示step by step定义一个便于自己理解并记忆和好区分的虚拟机名称,将虚拟机存储的位置通过浏览设置在刚才拷贝vhdx文件的目录里(不同的lede固件可以放在这一个目录里,创建时会根据你填写的虚拟机名称自动新建一个对应的子目录);选择第一代虚拟机;内存根据你的情况设置(取消动态);连接暂不管;使用现有虚拟硬盘并选择刚才拷贝的文件,完成


3. Hyper-V中添加虚拟交换机:在Hyper-V管理器中右侧找到【虚拟交换机管理器】并打开,添加一个外部虚拟交换机【vswitchWan】(准备用作连接外网的WAN,名称根据个人爱好定义,只要你自己能够区分即可)→对应连接路由器的网卡(比如我是连接Realtek PCIe GBE Family Controller),一个外部虚拟交换机【vswitchLan】(准备用作连接AP或其它上网设备的LAN,名称根据个人爱好定义,只要你自己能够区分即可)→对应连接路由器的网卡(比如我是连接Realtek PCIe GBE Family Controller),一个内部虚拟交换机【win10--lede→无需绑定任何网卡,用于宿主机与虚拟机通讯。
注意:我取消了外部虚拟交换机的【允许管理操作系统共享此网络适配器】功能,这样设置之后宿主机(即安装了Hyper-V功能的win10系统主机)无法再直接通过这个被Hyper-V绑定的网卡上网,需要软路由完全设置完毕后通过内部虚拟网络交换机win10--lede连接上软路由上网。因此为了保险起见(估计你还需要下载本教程中需要的一些软件、固件,或者上网查询一些设置过程出现的不可预见的错误的解决方案等等),你可以在此阶段暂时勾选该功能,待软路由完全设置正确可以上网后再取消勾选该功能。


        附注:如果勾选了外部虚拟交换机的【允许管理操作系统共享此网络适配器】功能后,添加【vswitchWan】外部虚拟机后,网络连接中会立即增加一个vEthernet(vswitchWan)的网络连接,网卡原来对应的那个网络连接也在(处于已启用状态)。通过ipconfig可以发现,vEthernet(vswitchWan)对应的虚拟网卡接替了原网卡的ip,而原网卡已经没有分配ip


如果还有更多的网卡还可以添加多个外部虚拟交换机(每个对应一张网卡,用于多拨或路由器lan口使用)。还可以建立专用虚拟交换机,用于虚拟机之间的通讯。



4. Hyper-V管理器中对虚拟机→软路由LEDE进行网络适配器等设置Hyper-V管理器右侧找到虚拟机名称下面的【设置】按钮,在弹出的设置对话框中,将BIOSide启动上移到第一位;网络适配器首先添加内网,然后添加lan,最后添加外网wan(切记顺序不能错)。注意需在每个网络适配器→高级功能中启用mac地址欺骗


5. 进入软路由LEDE的配置界面进行网络设置以实现上网功能


5.1. 启动lede:在Hyper-V管理器中启动lede,在虚拟机shell窗口(可以通过管理器中虚拟机下面的连接菜单或双击管理器下面的命令符模样的黑底小窗打开)ifconfig可以查看连接到虚拟机各个网口的ip(比如我的br-lan192.168.12.1→此为lede的管理ip[这是我在lede中修改后的ip,没有修改前koolshareeth110.0.0.216→此为ledewan口获得的上级路由分配的ip)



讨论:hyper-v安装lede后,计算机上网络连接发生了些变化:在原有【以太网】网络连接的基础上,增加了vEthernet(默认交换机)vEthernet(win10--lede)2张虚拟网卡,如果勾选了虚拟LAN和虚拟WAN的【允许管理操作系统共享此网络适配器】还会出现vEthernet(vswitchLan)vEthernet(vswitchWan)2张虚拟网卡,其中的vEthernet(默认交换机)hyper-v中默认添加的虚拟网络交换机——无法修改也无法删除�;同时,如果勾选了虚拟WAN的【允许管理操作系统共享此网络适配器】功能,分配的ip(从计算机运行ipconfig可以看出)原来的【以太网】没有ip分配而是分配给了vEthernet(vswitchWan)


5.2. 进入lede设置页面配置
通过192.168.1.1(如果软路由外接的路由器或光猫也是这个网段ip,建议先拔掉连接WAN口的网线)进入软路由的配置页面(如果无法访问,可以在wincmd窗口通过ipconfig命令查看win10--lede网络连接是否自动获取了与软路由同网段的ip192.168.1.x,若没有,则在win系统→控制面板\网络和 Internet\网络连接中设置win10-ledeipip192.168.1.x)
首先,进入【网络】→【接口】→【br-lan】→【编辑】,将ipv4地址改为与你的上级路由或光猫不同的网段(比如我就改成了192.168.12.1);并且在【物理设置】当中的【接口】只选择eth0(可以参考上图,通过判断br-lanethX的网卡地址相同来对应选择)
然后,进入【网络】→【接口】→【WAN】(以及WAN6)→【编辑】,在【物理设置】中的【接口】只选择eth2(到底选择哪一个,跟你在软路由虚拟机中添加的网络适配器的顺序有关,从前面的介绍可知我添加的顺序是内部win10-lede、外部vswitchLan、外部vswitchWan,因此WAN为第3个网卡及eth2,如果要多拨,添加了更多的虚拟WAN,则对应配置其接口即可,LAN口依然!——我就是在这个阶段栽了跟斗,当时想当然的以为WAN口对应eth1,结果可想而知——无论如何设置都是无法获取ip无法上网的)


到此,所有的设置都已完成,如果此前在虚拟交换机管理器中勾选了虚拟WAN的【允许管理操作系统共享此网络适配器】功能,此时可以取消勾选了。Win小主机的上网路由为:通过win10-lede连接lede软路由,获取软路由WAN口从上级路由(或光猫)的网络连接,从而实现上网。



6. 关于进阶应用
通过管理ip进入lede设置页面,【酷软】(第一次会提示安装或者更新),安装【固件更新】插件,你就可以随时更新到最新版了(我已成功升级为最新的V2.26版。当然你也可以从论坛下载最新版,然后在系统→升级页面来更新,不过没有插件方便哦)。
……其它更多玩法请自行尝试……



--------------------------------------------------------------------------------------------------------------------------
分割线,以下为我的折腾实录,可以不看了
-------------------------------------------------------------------------------------------------------------------------



        从前面可以看出我现在的外接路由管理ip10.0.0.*网段,但之前也是192.168.1.网段,担心在浏览器中输入192.168.1.1会进入外接路由器,结果意外的进入了软路由lede,于是将ledelanip设置为192.168.12.1。生效后用新ip无法访问lede,于是将网络连接vEthernet(内网)ip调整为11.网段,成功访问(但该浏览器居然用192.168.1.1不能访问外接路由器了,换成ie浏览器后成功进入管理界面——虚惊一场,难道是缓存在作怪?),之后再将此网络连接设置为自动获取ip也可以访问软路由lede了!



7.问题
7.1.lede中添加内部虚拟网卡后,lan口不用插网线也可以访问软路由,但是wan口无法获取ip,折腾了许久都不能解决。最后还是在软路由中删掉内部虚拟网卡,然后将lan用网线随便连上一个设备(在宿主机网络连接中查看本网卡对应的网络连接不要为网线拔出状态即可),等待约5分钟左右,宿主机会发现1个新的网络连接,确定后即可在宿主机中访问软路由进行设置了(此时wan已自动获取上级路由分配的ip)
         尝试将lan虚拟交换机的“允许管理操作系统共享此网络适配器”取消勾选,同时在虚拟软路由中添加lan、外网wan、内部交换机,启动软路由后,在hyper-v的虚拟机shellifconfig可以看到软路由的wan(也就是eth1已经分配了ip),不过无法通过软路由ip进入软路由管理页面(网络连接中内部switch没有自动获取到ip,手动设置为与软路由管理ip同网段依然无法进入软路由管理页面�)(我将软路由虚拟机中网络适配器的顺序调整为内部、lan、外部后软路由waneth1又没有ip)。如果在软路由虚拟机中添加网络适配器的顺序为内部、lan、外网时,可以进入软路由管理界面,但wan不能获取ip也不能设置——最后,发现在软路由接口设置中还有一个eth2(但奇怪的是在hyper-v中本软路由shell中用ifconfig查看居然没有该接口),将wan绑定到该接口,成功了!成功了!成功了!(同时在hyper-v中本软路由shell中用ifconfig查看该接口已经存在了!)


……最后将软路由系统改为koolshare专为虚拟机编译的版本2.22,其它设置一样,在软路由中顺序添加内部、lan、外网wan,可以用192.168.1.1访问软路由(还是改为了192.168.11.1),但此时必须在宿主机网络连接中将内部switchip手动设置为与软路由管理ip同网段,否则此网络连接会显示为未识别的网络从而无法联通软路由。同时发现wan依然没有获取到ip,初步估计是网卡绑定错了——于是又去查看了lan的绑定网卡,发现其绑定了eth0,1,2,4等接口,通过虚拟机shellifconfig命令查看br-lan的网卡mac(HWaddr)eth0相同,因此应该在软路由接口管理处lan的物理设置只绑定eth0,其余全部取消。尝试在wan中绑定接口eth1依然不能获取ip→于是猜想由于我在虚拟机中添加网络适配器的顺序为内部、lan、外网wan顺序,初步判断wan对应的网卡接口为eth2,修改为此后终于自动获取ip了!此时再在hyper-v中的【虚拟交换机管理器】中将lan和外网虚拟网络交换机的“允许管理操作系统共享此网络适配器”取消勾选,宿主机依然可以上网(建议先保留外网虚拟网络交换机的这个选项,待软路由设置正常可以连接外网,宿主机也可以通过内部switch与软路由连接后处于联网状态,再取消,以保证各个阶段宿主机都能保持联网以便查询安装过程当中出行的各种坑的解决方案和下载有关文件和软件)……koolshare可以直接在后台升级固件(我安装了酷软里的固件更新插件来升级,本身在系统→升级里也可以将已下载好的固件上传升级,不过前者更稳妥)


http://koolshare.cn/forum.php?mod=viewthread&tid=153952&highlight=%E8%BD%AF%E8%B7%AF%E7%94%B1


weinxin
我的微信
科学的永恒性就在于坚持不懈地寻求之中,科学就其容量而言,是不枯竭的,就其目标而言,是永远不可企及的。

发表评论

目前评论:0