将ubuntu设置为NAS——10. 虚拟机KVM及软路由LEDE安装
前言的前言
想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。目前已经写了9篇。
将ubuntu设置为NAS——1. Transmission-daemon安装
将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)
将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)
将ubuntu设置为NAS——5. docker与docker-compose的安装
将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)
将ubuntu设置为NAS——7. 私人网盘nextcloud升级
将ubuntu设置为NAS——8. nextcloud集成onlyoffice在线协同办公软件
将ubuntu设置为NAS——9. 远程命令行及PuTTY、WinScp与手机端Termux使用
我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式。软件层面主要是用Kubuntu18.04系统(ubuntu其他风味版,和原版功能上没有太大区别),安装了Transmission-daemon用于下载,nextcloud用于网络硬盘,kvm作为虚拟机开软路由,还有其他一些简单功能,基本实现NAS的作用。后面我将慢慢分享其中的过程,作为小白,很多都是自己参考网上根据其他作者文章,再自己摸索实践出来,如有谬误,请各位指正,大家共同学习。后面涉及的命令行都是在ubuntu终端(不要问我终端是什么 )中输入,请大家注意。
正式的前言
本篇主要介绍Ubuntu下虚拟机KVM及以此为基础搭建软路由。KVM是Kernel-based Virtual Machine的简称,是开源的虚拟机系统,Proxmox Virtual Environment(PVE)系统也是基于KVM开发的,值得买平台上很多值友通过PVE安装NAS或软路由的教程,其实在Ubuntu下安装KVM也一样能实现相关功能。当然Ubuntu下的虚拟机选择很多,比如VMware Workstation,VirtualBox,这些软件应该大家在win系统下都用过,其实都是能选择的,我这里采用KVM。J3455主板本身cpu是支持vt-d模式,支持PCI-E x1硬件直通,对虚拟化支持比较好。
1、硬件准备
首先硬件准备,需要额外购买一张pci-e x1千兆双口网卡,华擎J3455本身带一个千兆网口,做软路由只能做单臂路由,还是需要加张网卡的,主板本身有个pcie x1接口,刚好能插网卡,同时蜗牛C款机箱带PCI空槽位,索性就买了张双口英特尔82576EB的千兆网口,做软路由的WAN口和LAN口,其实单口也能用,后面尝试过程还是觉得直接双口方便些。当时通过80大洋从闲鱼购入,几乎全新的感觉,带说明书,1长1短挡板,还算不错吧,当然应该还有更便宜的,大家按需选择。
2、虚拟机KVM安装
首先检查cpu是否支持虚拟化
egrep -c '(svm|vmx)' /proc/cpuinfo
返回0,表明不支持或是bios未开启,请在BIOS确定VT-D是否开启。
2.1 安装虚拟机依赖
sudo apt update
sudo apt install qemu qemu-kvm libvirt-bin bridge-utils virt-manager virt-viewer
验证,输入kvm-ok,出现如下界面,表明安装完毕
2.2 在Ubuntu启动kvm界面
请在Ubuntu上面终端启动,远程putty无法启动图形界面,当然也可以使用命令行远程控制安装虚拟机(没有图形化直观)或者安装teamviewer远程控制。
在Ubuntu的终端输入sudo virt-manager,接着自动启动KVM。
至此KVM虚拟机安装完成,下一步安装软路由。
3、安装openwrt/LEDE
从koolshare服务器下载LEDE,注意是下载虚拟机转盘或PE下写盘专用,可下载里面combined版的gz或vmdk,其中gz需要解压,解出其中的img文件,vmdk可直接用。上传到ubuntu主机上,上传位置随意,注意自己能够找到。然后选择虚拟机新建。
3.1 新建虚拟机
新建虚拟机
加载软路由镜像
选择软路由镜像位置
确认后,下一步
设置CPU和内存,其实内存1G应该也够,如果需要去广告等其他应用的话,可以多一些,CPU建议2个核心,都是动态分配,多一些也无所谓。
选中“在安装前自定义配置”,再点击完成,不然就直接启动了,建议在创建启动前先设置好网络。
默认创建虚拟机里面只有1个网口,需要添加1个网口。
这里“网络源”选择主机设备PCIE x1网卡,我的Ubuntu系统这个网卡的2个口,分别是enp4s0f0和enp4s0f1,大家各自可能有区别,但应该是2个相似的名称。“源模式”选择桥接,设备型号选择“virtio”,这个才能实现硬件直通。其他2个选项不建议选,比如e1000,在此模式下,如果开下载,只能跑到100M网速,且cpu占用很厉害,不适合家里宽带200M及以上的。
2个虚拟网口都这么设置,我这里把enp4s0f0作为软路由WAN口,enp4s0f1作为LAN口。其物理位置enp4s0f0在上方,enp4s0f1在下方,这可以通过后续在软路由系统里确认。
3.2 软路由虚拟机启动
网口设置好后,选择”开始安装“,虚拟机新建完成,会自动开机并启动。
运行到图上红色箭头位置,就不变化了,就是完成软路由安装了,一回车就出现图上图形了。接着开始网页上的设置
3.3 网页登陆OpenWrt/LEDE管理界面
将主机PC(win)网线接到Ubuntu主机的PCI网卡的LAN口上(如果搞不清哪个是设置正确的LAN,先随便接上,设置好网段,能登陆管理界面说明接对了,反之则选另外一个口),此时主机PC(win)与ubuntu主机在同网段,这里用这台PC(win)主机,修改网络设置。
由于openwrt/LEDE默认网段192.168.1.1,PC(win)主机修改为192.168.1.8,默认网关和首选DNS修改为192.168.1.1
在win10主机浏览器输入192.168.1.1默认管理界面,密码默认为koolshare登录。
成功登陆。
3.4 设置虚拟机网络
第一件事情,先修改默认登陆密码,不然可能修改软路由网段时,会出现默认密码无法登陆的情况,以防万一。
回到网络-接口设置,目前连接的是LAN口,需要编辑WAN口(图中绿色表示连接成功,红色表示连接失败或未连接)。选择网络-接口,对WAN进行编辑。
设置软路由直接拨号,所以选择了PPPoE,点击选择切换协议
设置PPPOE拨号用的账号和密码,保存应用。之后就可以接入光猫(我家的光猫已经设置为桥接)过来的网线,软路由就可以直接拨号了。如果你的光猫不是桥接,你就不用设置PPPOE,默认设置即可。(但这样你使用软路由就显得很没有必要了)
在WAN设置界面,选择防火墙设置,当然LAN接口也像图中设置,我在这里被坑过,没设置好,会上不了网。
设置好,保存并应用。
接着需要修改LAN口,记住在这之前先修改登陆密码(前面修改了默认密码,就没事了),好像LEDE有个坑,修改了LAN的网段后,默认密码就无法登陆了,需要新设置管理密码。
接着设置LAN口,由于我的光猫改了桥接,并且其IP段是192.168.1.*,如果选择用虚拟软路由拨号,软路由IP段要求修改,由于我还有无线路由作为AP连接的需求,软路由要和无线路由在1个IP端,这里我设置软路由的IP为192.168.50.2,无线路由IP为192.168.50.1,其他由软路由强制DHCP。
会提示失败,需要强制应用。
然后修改PC(win)的ip为192.168.50.8(与软路由在1个网段),在浏览器输入新的软路由管理地址192.168.50.2,重新登陆。
回到LEDE中的LAN设置,可以勾选DHCP服务器中的强制,保存并应用。
这时可以插上光猫接过来的拨号用网线,插到软路由上的定义的WAN口,稍等几秒就能自动拨号,上网冲浪了。回到PC(win)端,还需要把网络IP和DNS改回自动获取或是192.168.50.2,不然可能DNS错误,上不了网。或者改成自动后,断开重新再连接网路一下,等几秒就能连上软路由,正常上网了。
如果上网过程中,还是遇到无法连接,可以尝试先断开连接,重新连接一下。还是不行的话,可以在LEDE中的LAN设置中,使用自定义的DNS服务器,可以修改为192.168.50.2,或者其他公共DNS,比如阿里的或者百度等等。(一般不需要)
虚拟软路由设置就这样成功了。如果需要连接无线AP或交换机,将LAN口直接接到无线AP的LAN口或是交换机网口就可以。而此时Ubuntu本身可能无法连接网络,记得我这里只是利用了PCI-E x1网卡的2个网口,本身主板上还有个网口,用这网口接到AP或交换机,就能顺利连上网络了。
4、测试环节
简单测试了一下,在局域网内传输文件,以及通过迅雷下载文件,目前我家里网络刚做了升级,目前是300M电信宽带。
这个传输速度基本就是千兆内网网速,虚拟机上CPU占用只有3%,非常低。
值得买图片压缩有点厉害,迅雷下载速度此时是35.3MB/s,虚拟机的CPU占用最高到了70%,其实只是2个虚拟核心,对整机4核心负担不算大。
之后是一边下载,一边拷贝文件,下载速度下降到了18.3MB/s,文件传输在92.7MB/s,加起来还是千兆网络,说明是内网千兆带宽限制了,软路由CPU占用最高还是70%多一点,基本没有影响。
测试结论就是软路由性能满足需求,对目前这块J3455也没有瓶颈,能够满足现有网路需求,能够轻松跑满300M的电信宽带。当然如果速度再上去,建议虚拟机多开几个核心,500M的话就开4核心。没有条件尝试电信千兆宽带,有值友试过的话,可以留言。
总结
本篇主要介绍了KVM安装及openwrt/LEDE虚拟软路由安装,其实还有爱快等等其他软路由可以选择,方法都是大同小异,以后有机会再介绍其他软路由。总得讲用Ubuntu下虚拟机安装软路由,能满足硬件直通需求,个人觉得比起在PVE或者ESXi下面安装软路由来说,性能更好,(之前在PVE或者ESXi下面安装软路由,内网传输文件只有50MB/s,迅雷下载也无法满速,不知道是不是我有些设置弄错了,请各位不吝赐教)。
本篇也就简单介绍了软路由搭建和设置,但具体家庭网络如何搭建,如何组光猫和连接AP,只是简单提及,篇幅有限,不再展开。如对各位有所启发帮助,请打赏收藏评论一波,以表鼓励,多谢多谢。
Australia108
校验提示文案
milli0n
校验提示文案
焱炎火
但软路由的网速会受限了,看来3口以上才是标配啊!
校验提示文案
crazy_kid
校验提示文案
值友5070463295
校验提示文案
值友8069214922
校验提示文案
xwtdiweixin
校验提示文案
eMuzi
校验提示文案
值友5070463295
校验提示文案
值友8069214922
校验提示文案
值友5070463295
校验提示文案
值友5070463295
校验提示文案
crazy_kid
校验提示文案
eMuzi
校验提示文案
Australia108
校验提示文案
焱炎火
但软路由的网速会受限了,看来3口以上才是标配啊!
校验提示文案
xwtdiweixin
校验提示文案
milli0n
校验提示文案