入坑软路由和虚拟化 - 家庭虚拟化及软路由安装配置日志

背景

家里路由器突然响应变慢,开始认为是性能不足,同时心水软路由与虚拟化平台已久,草率的入了软路由虚拟化硬件。现在近期评估下来,可能是天气原因,夏天了路由器cpu90度,导致的。但既然入了坑,就好好填坑。路由器加了风扇,下降到了 58度。响应还是慢。

设备

  • J4105双千兆口(螃蟹RTL8115)被动散热,软路由一台 618rmb 不带电源
  • 杂牌msata ssd 128G 100rmb
  • 拆机8G DDR4内存
  • 拆机bcm4322 无线网卡
  • 拆机 12V 3A电源
  • usb2.0 网卡 10元
  • usb3.0 RTL8153 27元
  • dell 9020m g3220t 330元
  • 额外电源和ssd 74 元

总投入:1161元

一些思考

  1. 软路由及虚拟化,就要多网口。之前看网上评论认为软路由双网口就够了,其他交给交换机完成。但没考虑到虚拟化,因为虚拟化需要单独管理网口,导致不能直通网卡。(失误)
  2. 需求配置,软路由+linux服务器(docker)/ 桌面化平台, 网口设计:双千兆口直通软路由,1管理网口,1虚拟化口(可以直接连软路由)。因此一般情况玩虚拟化软路由至少4口,纯软路由2口够了。软路由做交换机非常不合算。
  3. cpu功耗10w,四核,支持vt-x, vt-d可以虚拟化及直通。一般情况下10w下,基础频率越高越好,因为睿频不能长时间维持,被动散热降频就悲剧了,严重影响网速。
  4. 如果要对虚拟化性能有要求,建议与软路由分开,不然影响软路由性能,同时被动散热就不够了,主动散热必须的。
  5. esxi可以使用usb网卡作为管理网口,但需要特殊打包iso spk大神的可以,PVE可以。esxi usb3.0 rtl8153芯片。
  6. 虚拟化 在默认情况下个人测试结论如下:
    6.1 PVE直通网卡,软路由传输性能70MB/s
    6.2 PVEvirtio网卡,软路由传输性能60MB/s
    6.3 PVEE1000网卡,软路由传输性能40MB/s
    6.4 拷贝大文件(40G)遇到降频问题,从70MB/s降到40MB/s
    6.5 esxi虚拟化网卡,软路由传输性能70MB/s
  7. PVE默认分区情况下,120G硬盘只留了60多G用作虚拟机。28G用作管理磁盘

计划配置如下:

  1. 虚拟化环境(esxi//网络设置好方便啊)
  2. 虚拟机1 openwrt 旁路由
  3. 虚拟机2 ubuntu 负责docker
  4. 虚拟机3 ikuai 负责接入
  5. 网络架构
    4.1 全eth0

20200803记录

  1. l2tp成功哦,Windows10配置有坑,看文末排坑
    下一步
  2. nuc改esxi
  3. audio station

20200802记录

  1. dhcpd设置学习及验证,已完成。
  2. 9020m设置及安装,已完成。g3220t很弱

20200729记录

  1. j1800安装win10失败,卖了
  2. 配置旁路由及接入成功,双虚机
  3. 证书问题为解析条目问题,不修改lets encrypt
    下一步,
  4. 迁移hass,已完成
  5. 迁移frps,已完成
  6. 迁移aliddns,已完成
  7. 处理服务器, 已完成

20200726记录

虚拟机始终无法顺利软路由运作。入了j1800,等待硬盘和电源。
先用lede作为交换机。
下一步,

  1. 处理证书问题,修改为lets encrypt,调整解析条目。docker aliddns
  2. 处理homeassistant迁移至Ubuntu hassio
  3. 处理frps 迁移至Ubuntu
  4. 处理旁路由,vps。

20200716记录

  1. 7.16安装PVE5.4 测试virtio , 结论:顺利千兆达成。
  2. 7.17测试RTL8153是否可以作为esxi虚拟化管理口,用Pve不测了。
  3. RTL8153若能管理,计划测试全直通(双网口,硬盘直通)
  4. 若测试稳定性没有问题,但是性能有问题,计划再入J1900(300)或3855u做纯软路由。

20200719记录

  1. 7.20 使用usb网卡可以管理esxi,但是usb网卡不能作为pci直通,估计可以usb直通。

以下是排坑记录

windows 10 hyper-v

//下载链接:hyper-v server 2019
之前在win10 hyper-v下成功跑满千兆dsm,对软路由信心满满。
测试结果最差,使用win10 hyper-v 安装lede和ubuntu

  • 网络设置为:外部网络接入分享给宿主机和lede wan口,另外一个网口lede独享作为lan口,新增专用网络接入lede和ubuntu,通过lede给ubuntu做路由。
  • 测试结果:smb拷贝26MB/s

windows 10 vmware workstation

  • 测试结果:smb拷贝15MB/s

ESXi6.7

集成螃蟹网卡iso :参考链接https://www.chiphell.com/forum.php?mod=viewthread&tid=1991900&page=1&extra=#pid42071297
一步步安装就可以,ESXi很好用,基本不用记录什么,用过vmware workstation基本都会。
wan口直通连接esxi内虚拟机,测速60MB。可能就是虚拟机问题了。

PVE6.2

本人使用etcher 刷u盘
安装时候插上usb网卡可以直接作为管理口

PVE安装完成后做以下工作:

1. 删除订阅提示:

修改文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ,找到

vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
/data.status

入坑软路由和虚拟化 - 家庭虚拟化及软路由安装配置日志_第1张图片
Proxmox VE安装及使用说明

将 Ext.Msg.show({ 修改为 Ext.Msg.noshow({ ,然后保存,之后重启网页服务

systemctl restart pveproxy

完成之后刷新之前登录的页面,订阅许可的提示没有再出现了。

2. Iommu分组并设置硬件直通

至于为什么要做硬件直通,主要是为了完全发挥硬件性能,拿网卡来说,直通后数据传输过程中可以降低cpu负载,Sata控制器直通后,可以达到硬盘休眠和smart正常显示的目的。

先来看一张图,这只是个例子,还没涉及到安装虚拟机的操作。当我们要添加PCI设备的时候,系统会提示Iommu未激活,我们需要开启Iommu.

  • 修改grub

vi /etc/default/grub

修改为

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream,multifunction"

  • 修改modules

vi /etc/modules

添加

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

  • 执行

update-grub

LEDE软路由系统

koolshare固件
安装方式:

  1. 直接刷固件
    测试情况:千兆达成
    工具:physdiskwrite
    硬件:pe U盘
  • 在pe环境下删除所有目标磁盘分区
  • physdiskwrite -u lede.img
  • 选择目标磁盘
    参考文章:https://baijiahao.baidu.com/s?id=1630134168108879358&wfr=spider&for=pc
  1. PVE安装

参考文章:https://blog.csdn.net/wdhqwe520/article/details/92787925

  1. esxi安装
    其中下载VMDK文件可以直接上传后导入,在新建虚拟机时删除原磁盘,新建IDE磁盘后关联该VMDK文件
    参考文章:https://koolshare.cn/thread-138568-1-2.html

配置LEDE

刚安装完,如果不是硬件直通情况下只有一个虚拟网口链接时候建议配置wan口设置路由器。
注意:koolshare固件中默认模式下第一个网口为lan,第二个网口为wan
在虚拟机情况下,若做硬件直通,建议先通wan口,然后在pve页面进入lede控制台,启动后回车进入root命令行。
本人情况:配置时只由一个口接入家里网络,因此给lede虚拟了一个口,先在lede的lan环境下配置

  • 修改lan口内网ip

vi /etc/config/network
将lan口的ip由192.168.1.1改为192.168.x.x(与网络环境同一个网段,不同于网关的ip)
reboot

  • 网页登陆lede, 默认密码koolshare,部分情况下chrome可能无法认证,两个方法:1. 换非chrome浏览器,2. 使用隐身模式

  • 网页修改防火墙设置,wan口入站改为接受,这样就可以wan口设置了。

  • 返回控制台将lan口ip设置为不同网段

  • 关闭路由器shutdown

  • 设置硬件直通或者增加网口,将原来网络接入网口改为第二个,及新增网口为lan,原来网口为wan,并重启路由器

  • 在上级路由器上找到分配的ip地址,通过这个ip访问lede并完成其他设置。

LEDE关键字检查

提示1: 如果提示检测到离线安装包名有非法关键词,开启路由器的SSH功能,登录并输入以下命令后,再进行离线安装。(arm380/X7.x版本固件需要请将软件中心更新到1.4.8及以上)

sed -i 's/\tdetect_package/\t# detect_package/g' /koolshare/scripts/ks_tar_install.sh

ubuntu服务器

安装ubuntu系统

上传ISO文件,一步一步安装。没啥好说的。

  • ubuntu安装bcm4322网卡:
    参考网页:https://blog.csdn.net/qq_34067821/article/details/90707443

HASSIO一键安装脚本

wget https://code.aliyun.com/neroxps/hassio_install/raw/master/install.sh
chmod a+x install.sh
./install.sh
参考网页:https://bbs.hassbian.com/thread-4520-1-1.html

手工安装portainer

参考网页:https://www.jianshu.com/p/575de760bfd4

ubuntu开启ssh

最小化安装开启SSH是否会使屏幕共享失效,不会。最小安装导致没有屏幕共享

sudo apt-get install openssh-server

ubuntu开启屏幕共享

sudo apt-get update
sudo apt-get install dconf-editor
org->gnome->desktop->remote access->require encrytion 关闭

docker下的dhcpd服务器

目标,对大部分设备网关为主路由,本人设备网关为旁路由

sudo -s
docker pull networkboot/dhcpd
mkdir /data
docker run -it --init --net host -v /data:/data networkboot/dhcpd eth0

其中eth0为网络端口,通过ifconfig查看,我的是ens160
运行前在/data目录下建dhcpd.conf
参考配置文件https://fossies.org/linux/dhcp/server/dhcpd.conf.example
本人只用了subnet和host,分别指定
option domain-name-serversoption routers

l2tp

ikuai直接配置可用
客户端使用l2tp/ipsec psk
android可直接配置使用。
windows10 配置l2tp的坑,遇到远程服务器未响应错误。居然是注册表配置问题。。。
参考:l2tp修复文章

你可能感兴趣的:(入坑软路由和虚拟化 - 家庭虚拟化及软路由安装配置日志)