KoolShare

 找回密码
 立即注册
搜索
查看: 43920|回复: 61

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

  [复制链接]

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
发表于 2019-1-12 22:05:55 | 显示全部楼层 |阅读模式
本帖最后由 engineerlzk 于 2019-1-13 22:08 编辑

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


二、目前已实现的功能:路由器通过光猫连接外网,小主机接入路由器实现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,确定,按提示完成操作。
添加Hyper-V功能.jpg

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

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→无需绑定任何网卡,用于宿主机与虚拟机通讯。
添加外部网络虚拟交换机vswitchWan.jpg
注意:我取消了外部虚拟交换机的【允许管理操作系统共享此网络适配器】功能,这样设置之后宿主机(即安装了Hyper-V功能的win10系统主机)无法再直接通过这个被Hyper-V绑定的网卡上网,需要软路由完全设置完毕后通过内部虚拟网络交换机win10--lede连接上软路由上网。因此为了保险起见(估计你还需要下载本教程中需要的一些软件、固件,或者上网查询一些设置过程出现的不可预见的错误的解决方案等等),你可以在此阶段暂时勾选该功能,待软路由完全设置正确可以上网后再取消勾选该功能。
添加外部网络虚拟交换机vswitchLan.jpg
添加内部网络虚拟交换机win10--lede.jpg

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

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


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

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管理器界面.jpg
软路由shell运行ifconfig获得的配置情况.jpg


讨论: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可以直接在后台升级固件(我安装了酷软里的固件更新插件来升级,本身在系统→升级里也可以将已下载好的固件上传升级,不过前者更稳妥)

评分

2

查看全部评分

79

主题

408

帖子

927

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
614
魔法值
0
注册时间
2015-2-12
QQ
发表于 2019-1-12 23:15:28 | 显示全部楼层
我也是win10下运行hyper,6个网口,内网速度才20m,用2个虚拟网卡才能解决,想直通也失败了

12

主题

266

帖子

1628

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1438
魔法值
0
注册时间
2015-8-8

R7000

发表于 2019-1-13 11:00:34 | 显示全部楼层
同HV虚拟,目前正常使用中
关注公众号[佐罗家]领淘宝优惠券 KMS服务器[上网的蜗牛]--地址问度娘

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
 楼主| 发表于 2019-1-13 19:51:20 | 显示全部楼层
目前还没有找到将win系统中的硬盘直通给lede的方法,有没有大侠指点一下?谢谢!

9

主题

94

帖子

523

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
482
魔法值
0
注册时间
2016-8-26
发表于 2019-1-13 20:31:56 | 显示全部楼层
engineerlzk 发表于 2019-1-13 19:51
目前还没有找到将win系统中的硬盘直通给lede的方法,有没有大侠指点一下?谢谢! ...

先在磁盘管理中把磁盘脱机,再试试看

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
 楼主| 发表于 2019-1-13 20:49:57 | 显示全部楼层
xxn 发表于 2019-1-13 20:31
先在磁盘管理中把磁盘脱机,再试试看

【此电脑】→【管理】→【磁盘管理】→右键点击硬盘→脱机?这样不就整个硬盘win系统都无法访问了?我本打算只将其中的一个分区交给虚拟的lede的

26

主题

236

帖子

689

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
564
魔法值
0
注册时间
2015-7-27
发表于 2019-1-13 21:03:21 | 显示全部楼层
xxn 发表于 2019-1-13 20:31
先在磁盘管理中把磁盘脱机,再试试看

脱机后再在虚拟机中添加硬盘

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
 楼主| 发表于 2019-1-14 10:58:52 | 显示全部楼层
y8y8y8 发表于 2019-1-13 21:03
脱机后再在虚拟机中添加硬盘

这样的话win系统就无法访问该硬盘的内容了,有没有办法又将其映射回来?

26

主题

236

帖子

689

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
564
魔法值
0
注册时间
2015-7-27
发表于 2019-1-14 12:58:00 | 显示全部楼层
engineerlzk 发表于 2019-1-14 10:58
这样的话win系统就无法访问该硬盘的内容了,有没有办法又将其映射回来? ...

你做了nas的数据盘后 本来win系统也就不认识了!因为Linux和win系统的硬盘文件存储格式是完全不同的,所以做了nas数据盘后建议不要再搞啥映射出来的想法!

0

主题

35

帖子

658

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
648
魔法值
0
注册时间
2016-6-16
发表于 2019-1-14 23:39:17 | 显示全部楼层
engineerlzk 发表于 2019-1-13 19:51
目前还没有找到将win系统中的硬盘直通给lede的方法,有没有大侠指点一下?谢谢! ...

直通  当然是把整个硬件完全的交给某个虚拟机   要直通也是直通磁盘本身  不存在只把一个分区添加给虚拟机当物理硬盘用的

0

主题

8

帖子

27

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
26
魔法值
0
注册时间
2019-1-1
发表于 2019-1-15 07:00:32 | 显示全部楼层
刚刚看见这么好的文章,谢谢分享

0

主题

5

帖子

366

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
365
魔法值
0
注册时间
2016-2-1
发表于 2019-1-15 10:57:12 | 显示全部楼层
请教下,为什么要选用内部虚拟网络交换机win10--lede上网,而不是直接通过vEthernet(vswitchLan)上网呢?

5

主题

96

帖子

299

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
274
魔法值
0
注册时间
2017-8-19
发表于 2019-1-15 16:26:54 来自手机 | 显示全部楼层
wjssh 发表于 2019-1-15 10:57
请教下,为什么要选用内部虚拟网络交换机win10--lede上网,而不是直接通过vEthernet(vswitchLan)上网呢? ...

估计好多人上软路由是因为双WAN或者多拨,直接通过同享网速不叠加。

0

主题

7

帖子

45

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
44
魔法值
0
注册时间
2018-12-23
发表于 2019-1-15 17:53:01 | 显示全部楼层
有没有设置多拨成功?有的话分享一下图文教程…

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
 楼主| 发表于 2019-1-15 20:18:23 | 显示全部楼层
wjssh 发表于 2019-1-15 10:57
请教下,为什么要选用内部虚拟网络交换机win10--lede上网,而不是直接通过vEthernet(vswitchLan)上网呢? ...

用vswitchLan也可以,但需在虚拟交换机管理器当中勾选允许操作系统共享此网络适配器,同时在这个借口上必须插上网线并与其它设备(比如计算机、交换机)相连接,宿主机才能通过管理ip登入软路由管理界面进行设置,不是很方便。用内部虚拟网络交换机就简单多了,我也是摸索了好久才发现要这样设置

0

主题

80

帖子

46

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
38
魔法值
0
注册时间
2019-1-9
发表于 2019-1-16 17:27:56 | 显示全部楼层
不错不错

0

主题

7

帖子

45

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
44
魔法值
0
注册时间
2018-12-23
发表于 2019-1-17 18:16:22 | 显示全部楼层
这样设置能不能多拨?

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
 楼主| 发表于 2019-1-17 19:42:16 | 显示全部楼层
musicrider2 发表于 2019-1-17 18:16
这样设置能不能多拨?

应该可以,要几拨就添加几个WAN,不过我这边不支持,没有尝试

3

主题

113

帖子

161

积分

初级魔法师

Rank: 2

精华
0
门户文章
0
魔力币
141
魔法值
0
注册时间
2016-11-2
发表于 2019-1-17 19:44:56 | 显示全部楼层
能折腾!WIN10下是不是功耗比虚拟机下耗电?

9

主题

678

帖子

1294

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1027
魔法值
0
注册时间
2017-2-1
 楼主| 发表于 2019-1-17 19:53:27 | 显示全部楼层
czy888 发表于 2019-1-17 19:44
能折腾!WIN10下是不是功耗比虚拟机下耗电?

想着反正都要一直开机,还不如有个桌面系统,随时可以看看电视,唰唰网页什么的

联系我们|手机版|KoolShare ( 沪ICP备13045430号962110 沪公网备31010402005377

GMT+8, 2020-6-2 15:45 , Processed in 0.107233 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表