eNSP 不同的VLAN之间的通信 单臂路由 学习笔记 2023-8-29

单臂路由方式,实现,不同VLAN的主机的通信,主机A,可访问主机B

配置 R1

<Huawei>system-view 
[Huawei]sysname R1
[R1]
[R1]
[R1]int e0/0/0.1
[R1-Ethernet0/0/0.1]dot1q termination vid 10
[R1-Ethernet0/0/0.1]ip address 192.168.1.254 24
[R1-Ethernet0/0/0.1]arp broadcast enable
[R1-Ethernet0/0/0.1]dis this
#
interface Ethernet0/0/0.1
 dot1q termination vid 10
 ip address 192.168.1.254 255.255.255.0
 arp broadcast enable
#
return
[R1-Ethernet0/0/0.1]quit
[R1]
[R1]
[R1]int e0/0/0.2
[R1-Ethernet0/0/0.2]dot1q termination vid 20
[R1-Ethernet0/0/0.2]ip address 192.168.2.254 24
[R1-Ethernet0/0/0.2]arp broadcast enable
[R1-Ethernet0/0/0.2]
[R1-Ethernet0/0/0.2]dis this
#
interface Ethernet0/0/0.2
 dot1q termination vid 20
 ip address 192.168.2.254 255.255.255.0
 arp broadcast enable
#
return
[R1-Ethernet0/0/0.2]quit
[R1]
[R1]
[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 7        Routes : 7        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
    192.168.1.0/24  Direct  0    0           D   192.168.1.254   Ethernet0/0/0.1
  192.168.1.100/32  Direct  0    0           D   192.168.1.100   Ethernet0/0/0.1
  192.168.1.254/32  Direct  0    0           D   127.0.0.1       Ethernet0/0/0.1
    192.168.2.0/24  Direct  0    0           D   192.168.2.254   Ethernet0/0/0.2
  192.168.2.254/32  Direct  0    0           D   127.0.0.1       Ethernet0/0/0.2

[R1]

配置 SW1

<Huawei>system-view 
[Huawei]sysname SW1
[SW1]vlan batch 10 20
[SW1]
[SW1]int e0/0/2	
[SW1-Ethernet0/0/2]port link-type access 
[SW1-Ethernet0/0/2]port default vlan 10
[SW1-Ethernet0/0/2]
[SW1-Ethernet0/0/2]int e0/0/3
[SW1-Ethernet0/0/3]port link-type access 
[SW1-Ethernet0/0/3]port default vlan 20
[SW1-Ethernet0/0/3]
[SW1-Ethernet0/0/3]int e0/0/1
[SW1-Ethernet0/0/1]port link-type trunk	
[SW1-Ethernet0/0/1]port trunk allow-pass vlan 10 20
[SW1-Ethernet0/0/1]
[SW1-Ethernet0/0/1]quit
[SW1]

配置 PC-A

配置 PC-B

测试

从PCA 和 PCB,能互相ping通。

出局为,多socks5,带认证,住宅代理,负载均衡配置 2023-08-22

段落1、需求描述

购买了多个住宅代理,每个住宅代理,因为购买自不同的商家,认证的用户名/密码都是不同的,且不知道哪个代理节点会有突发故障,为了增加稳定行,通过负载均衡的方式,将节点汇聚,实现一个超稳定的出局链路。

段落2、工具描述

因为认证信息不同的因素,工具需要支持不同的认证信息,这里,使用的是gost工具,符合这样专业化的需求。

官方项目地址:https://github.com/ginuerzh/gost

文档: https://v2.gost.run/en/load-balancing/

段落3、配置样例

配置一个入向是透明socks5协议,出向是多socks5带认证住宅的链

NOTE:使用版本 gost-2.11.5 这样的最新版本,肯定功能都是支持的

定义一个配置文件,里面包含很多个住宅代理

# FILENAME: outbound_peers.txt

# strategy - (2.6+) Specify node selection strategy, round for round-robin, random for random selection, fifo for top-down selection, the default is round
# strategy for node selecting
# 参数-负载均衡模式 可选 round random fifo
strategy  random

# max_fails - (2.8.1+) The maximum number of failed connections for a specified node, When the number of failed connections with a node exceeds this set value, the node will be marked as a Dead node, Dead node will not be selected to use. default value is 1.
# 参数-最大失败次数(判定节点失效的所需的次数),默认值为1,一般事不过三,设置为3,相对好一点
max_fails  3

# fail_timeout - (2.8.1+) Specify the dead node's timeout period. When a node is marked as a dead node, it will not be selected within this set time interval. After this set time interval, it will participate in node selection again.
# 参数-超时节点的复活延迟,单位秒数,设置为一个相对有效的秒数即可, 15s 20s这样
fail_timeout  15s

# 参数-热加载的周期,单位秒数
# period for live reloading
reload  10s

# 参数-节点的信息
# peers
peer    socks5://706de:A3421F14F1dFDF4F@xx.xx.xx.xx:27906
peer    socks5://f5c5a:3d8145Cb72c4FbD8@yy.yy.yy.yy:23018
peer    socks5://feae8:cEA28B2e21AfD54f@zz.zz.zz.zz:17294

/usr/bin/gost -L=socks5://127.0.0.1:51111 -F=socks5://?peer=/root/outbound_peers.txt

验证

curl -v -x socks5://127.0.0.1:51111 https://ifconfig.co/json

段落4、后记

目前,gost的负载均衡策略,工作模式,还是单薄,并没有其他几个工具那么丰富,胜在其有支持不同用户名/密码的功能,希望它能继续更新,支持ip_hash这样的模式。

000138. 出局为,多socks5,带认证,住宅代理,负载均衡配置 2023-08-27
本期博客地址 https://dasmz.com/?p=3428
本期视频地址 https://youtu.be/jOyeUd0Kyzs

YouTube:

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

华为eNSP 软件安装,及启动问题排查 2023-07-27

段落0、前言

本博客记录华为eNSP在虚拟机系统Windows7环境中的安装,配置,及出现连续井号“######…”问题的排查处理方式。

初始编写本篇章,2023-07-27

更新篇章,2023-08-01,增加了安装过程及部分截图

段落1、软件下载

# sha1sum 
478758d58b1e494a0e871c17c8aed5c4ca936346  eNSP_SetupV100R003C00SPC100.exe
bf74d7cc410b2db228d9272d4aa35d3ac5fd2063  VirtualBox-5.2.30-130521-Win.exe
e2516fcd1573e70334c8f50bee5241cdfdf48a00  WinPcap_4_1_3.exe
0df4616b8c1fe802496642445274dd68515b50b5  Wireshark-win64-3.4.8.exe

段落2、安装

华为eNSP上面的版本包,已经比较久了,相对Windows 10/11系统而言,已经属于偏旧的应用了,比较推荐安装在Windows 7 系统上,会有相对而言比较好的兼容性。

如果是如我一样,在PVE虚拟化环境中安装,务必让虚拟化环境开启 虚拟化嵌套功能,保证虚拟机中的VirtualBox可以正常工作。

PVE7系列已经默认开启了虚拟化嵌套。

安装顺序,推荐为 VirtualBox、Wireshark、WinPcap、eNSP

其中,在VirtualBox安装之后,可以检测一下用它能不能正常创建并安装一台虚拟机,确保VirtualBox虚拟化套件可以正常工作。

在确保VirtualBox、Wireshark、WinPcap都已经正常安装了之后,即可安装eNSP。

安装之后,创建一个模板,拖台AR路由器,可以正常开机使用,出现<huawei>标签,就OKay了。

段落3、出现连续井号的故障问题描述

eNSP安装好了之后,添加交换机,启动,可以正常显示,添加路由器,启动,出现无限的”#######…..”,非常离奇的Bug。

这种要么是防火墙,要么是VirtualBox虚拟化没有正常工作。

段落4、检查及修复,防火墙的规则

可选,简单粗暴的方式,完全关闭防火墙,但是这个不安全。

所以,可选到eNSP安装目录下,把几个exe文件,都找出来,添加防火墙的允许放行。

确保,查找出来的程序,都在Windows Defender防火墙,允许的应用,把eNSP相关的程序,全部在[专用][公用]两个域里,全部勾上允许。

段落5、检查及修复,eNSP属性,兼容性运行程序

如果是Windows 10/11的系统,右击桌面上的eNSP图标,选择属性,选择兼容性,以兼容模式运行这个程序选择[Windows 7]

开启程序的时候,最好用右击鼠标,选择[以管理员身份运行]

段落6、检查及修复,Internet选项

检查系统的Internet选项,选择[连接],选择局域网(LAN)设置,确保代理服务器,没有勾。

段落7、检查及修复,VirtualBox的网络

检查系统,以太网,VirtualBox Host-Only Network,右击属性

IPv4的属性,设置为静态的IP地址,192.168.56.1 255.255.255.0 ,网关,DNS留空

属性,网络,安装,添加协议,可靠多播协议。

Oracle VM VirtualBox管理,选择,主机网络管理器,关闭VirtualBox Host-Only网络的DHCP服务器

段落8、检查及修复,重建性能计数器设置

管理员身份运行CMD,Windows7/10/11,执行如下的命令

lodctr /R

段落9、检查及修复,如果是虚拟机系统,检查参数是否是host

如果是想要把eNSP安装在虚拟机的Windows系统里面,需要检查虚拟机的CPU参数是host

操作演示视频

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

Proxmox VE,虚机VM备份,导入导出操作 2023-07-10

段落1、需求描述

目前PVE环境是用两块国产,不同品牌的SSD做的ZFS 1,虽然开灵车有快乐,开2个灵车有双倍的快乐,但是为了数据着想,还是准备每个月备份一次虚机,这样,即便发生比较大的故障,数据理论上,还是有一份。

段落2、备份VM,导出VM镜像

对于虚机,准备就进行整机VM的备份,首先是查看虚机的磁盘在哪个路径

root@server:~# pvesm path local-zfs:vm-102-disk-0
/dev/zvol/rpool/data/vm-102-disk-0
root@server:~# 

执行备份操作,这里写入的路径可以是外挂的USB存储,或者其他存储,或本地空闲磁盘,务必注意,写入的路径,有足够的磁盘空间。

root@server:~# qemu-img convert -f raw /dev/zvol/rpool/data/vm-102-disk-0 -O qcow2 /backupvolumn/backup_Linux_server.20230710.qcow2

// 参数释义
-f 来自于 格式,路径
-O 输出到 格式,路径.格式
/backupvolumn  保存路径,你们自定义,我这里放了一个500G的磁盘分区。

root@server:~# sha1sum /backupvolumn/backup_Linux_server.20230710.qcow2 
// 可选,哈希校验,用于传输文件后,校验文件完整性

段落3、恢复VM,导入VM镜像

创建一个同等配置的虚机VM文件,其中磁盘,可以删除,不必选择。创建好,不开机。

使用如下的命令,把虚机导入到迁移后的环境

qm importdisk 101 /media/usb/backup_Linux_server.20230710.qcow2 local-lvm # 导入虚机VM

// 参数释义
101 刚刚创建的虚拟机VM的 VMID数值
/media/usb/backup_Linux_server.20230710.qcow2 是一个可读文件的路径及文件,读取导入前,确保移动后的文件哈系一致。
local-lvm / local-zfs,看你自己存储的路径名称。

导入操作速度一般依赖磁盘的读写I/O能力,完成后,先不点开机启动。
先选择 虚拟机VM的,
选择硬件Hardware,选择刚刚导入的磁盘,选择 添加。
选择选项Options,选择启动顺序 Boot Order,拖动新加磁盘到最上方。

即可,开机VM,美滋滋,完成。

操作演示视频

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

霞鹜文楷 字体,开源可商用字体介绍 2023-07-03

段落1、字体背景描述

An open-source Chinese font derived from Fontworks’ Klee One. 一款开源中文字体,基于 FONTWORKS 出品字体 Klee One 衍生。

官方地址https://github.com/lxgw/LxgwWenKai

段落2、字体下载

在Github下载区,可以下载到该字体,https://github.com/lxgw/LxgwWenKai/releases 在本文编写的2023-07-03,该字体发布最新版本日期是 2023-05-30版本。

其中BOLD,LIGHT,REGULAR,表示“字重”

  • LIGHT:细
  • REGULAR:常规
  • BOLD:粗

下载这三个即可

LXGWWenKai-Bold.ttf、LXGWWenKai-Light.ttf、LXGWWenKai-Regular.ttf

段落3、Windows 10,安装字体

右键单击所需字体,并单击“安装”,或者直接将其TTF文件复制到 C:\Windows\Fonts 文件夹中。

信任字体来源,可单击“是”,新字体将显示在 Word 中的字体列表中。

段落4、Ubuntu Desktop 20.04 LTS,安装字体

针对喜欢图形化界面操作的人,推荐 font-manager
# apt update
# apt install font-manager   // 安装 font-manager
$ // 普通用户,打开 font-manager
$ // 普通用户,在 font-manager 中,点击+,添加一个新字体
$ // 普通用户,使用 font-manager ,字体存档在 ~/.local/share/fonts/

针对喜欢命令行的人,推荐直接如下,针对某用户生效
$ mkdir ~/.fonts
$ cd ~/Downloads/
$ cp LXGWWenKai-Bold.ttf LXGWWenKai-Light.ttf LXGWWenKai-Regular.ttf ~/.fonts/


如果要整个系统生效
# cp LXGWWenKai-Bold.ttf LXGWWenKai-Light.ttf LXGWWenKai-Regular.ttf /usr/local/share/fonts/

段落5、在电脑Chrome谷歌浏览器中,使用霞鹜文楷 字体

在 设置,外观Appearance,自定义字体Customize fonts,标准字体Standard font,中选择 “LXGW WenKai”

重启浏览器,就是漂亮的霞鹜文楷 字体了。

段落6、特别提醒

该字体,在本地生效,如果你在Word文档、PPT文档、Excel表格中使用该字体,在其他电脑上,可能无法正常显示,因为,其他电脑默认没有安装本字体,务必注意,传统文档,建议还是用微软雅黑,黑体,宋体,这样的Windows常规字体,保证最大程度的兼容性。

操作演示视频

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

附录2、字体的许可和授权信息

许可

  • 这款字体无论是个人还是企业都可以自由商用,无需付费,也无需知会或者标明原作者。 (但如果告知,我会很感激。)
  • 这款字体可以自由传播、分享,或者将字体安装于系统、软件或APP中也是允许的,可以与任何软件捆绑再分发以及/或一并销售。
  • 这款字体可以自由修改、改造,制作衍生字体。修改或改造后的字体也必须同样以 SIL OFL 公开。

限制

  • 在制作衍生字体时,字体名称不可使用原有字体的「保留名称」。
  • 这款字体不能用于违法行为,如因使用这款字体产生纠纷或法律诉讼,作者不承担任何责任。
  • 根据 SIL Open Font License 1.1 的规定, 禁止单独出售字体文件(OTF/TTF文件)的行为。

Wormhole,一款在线文件分享工具,最大支持到10GB超大单文件 2023-6-8

Wormhole(虫洞),在线方式的私密文件分享工具

官网: https://wormhole.app/

  • 免费,页面简洁,无广告
  • 支持视频文件在线预览
  • 最大支持到10GB超大单文件
  • 端到端加密共享文件
  • 国内地区网络可用(截止本文撰写时间 2023-6-8,以实际为准)
  • 支持设置文件分享链接的超时时间,默认是24小时或者100次下载后,自动删除文件。
  • 文件分享链接支持以QR二维码方式进行共享,这样方便手机扫描。
  • 使用它,几乎没有什么时间上的学习成本

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

SpaceSniffer工具,Windows下磁盘空间占用查看工具 2023-6-7

SpaceSniffer是一款免费软件和便携式工具应用程序,让您了解文件夹和文件在磁盘上的结构。一款运行于 Windows下的磁盘空间占用查看工具。通过使用树形图可视化布局,您可以立即感受到设备上放置大文件夹和文件的位置。

支持的Windows系统版本: WinXP/Vista/Win7/Win8/Win8.1/

因为时代的变化,大容量的磁盘越来越多,该类软件的使用频率已然降低,且官方许久不更新,对于新版本的Windows有一定的兼容性问题,在Win10/win11上,使用效果已经不是太佳了

官网:http://www.uderzo.it/main_products/space_sniffer/

下载页面:http://www.uderzo.it/main_products/space_sniffer/download.html

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

N5105,ALL IN ONE 主机,PVE下VM卡死,故障处理,方式方法,记录 2023-05-04

一、需求描述

如前两篇博客记录的,我购买了一个N5105主机,配置了PVE虚拟化,安装了一些VM虚拟机,主要为Debian 11系统的VM,运行了几天,发现了一个很严重的问题。

那就是,VM虚拟机,会出现卡死的现象,具体表现为,在整体资源使用率不高的情况下,虚拟机VM,无法SSH连接登录,此时从PVE后台VM的Console页面观察,login:后面的光标不再跳动,部分时候,Console页面,出现cpu类型的错误提示页面

二、问题分析

这样就很尴尬了,这个不知道是设备散热问题,还是设备的CPU通道的性能问题,对于自己而言,这个稳定性,就有很大的问题了,低功耗设备不堪大用呀,下次一定买桌面级CPU的设备玩,不玩低功耗的了。

后续查了一下谷歌,好像,这个是一个N5105的普遍现象,属于已知的Bug存在,网络的处理办法,就是更新Microcode,PVE的Linux核,这个好像即便更新了,也作用不大。也有说,必须换成Windows平台做虚拟底层才行。

我这里已经部署了PVE,也不想大折腾了,下次换桌面CPU的设备就是了,就这样吧,这个小破玩具。

这个现象,不知道有没有朋友遇到过类似的故障场景,有更好处理办法的,有的话,务必留言告诉我。

三、处理办法(我自己的处理方式,临时)

临时处理方式也简单,对于,跑在这台N5105设备上的VM,我对其要求只要10分钟内,能自愈恢复即可,那即便它VM卡死,只要一旦发现其出现卡死的情况,需要对其进行强制关机,开机一下即可。

每个VM卡死,人工点击 虚机的硬关机、启动,终究是不行的,我这里使用Python设置定时轮询检测任务,配置定时的检测,逻辑为一旦出现3次无法登录该VM(每次间隔几十秒),即进行VM强制重启的操作。

三、执行处理,含代码部分 * 开源

https://github.com/fdmove/PublicCodex/blob/main/vm_status_command_monitor.py

为了简化操作,我这里,使用了SSH的私钥登录Debian 11虚机,这样,代码就简化了,不必使用SSH用户名/密码的方式。

需要使用字典,静态化定义VM的 IP、SSH端口、SSH超时时间秒数、PVE内的VMID几个参数

检测的时间间隔,为20秒

检测逻辑为,私钥SSH登录VM,执行 echo OK命令,能返回OK字符串,即可认为虚机VM是正常的,其他或异常就认为VM卡死了

代码没什么的,非常简单,配置一个轮循的定时任务即可,我配置的是8分钟执行一次VM状态的检测工作。

配置在PVE宿主机内的cron任务如下:

#  SSH ECHO 方式
*/8 * * * * /usr/bin/python3 /root/sh/vm_status_command_monitor.py  > /root/sh/Log_vm_status_command_monitor.log

这样,配置下来,发现也就没什么了,基本,即便VM卡死,在上面的代码帮助下,VM也能10分钟~20分钟内恢复,也算是一个不错的临时的解决办法。

四、后续1官方社区,给到的处理办法(推荐)

更新于 2023-05-05

根据proxmox社区的话题讨论,对于N5105虚拟化,可选升级到5.19内核,会稳定一点

https://forum.proxmox.com/threads/opt-in-linux-5-19-kernel-for-proxmox-ve-7-x-available.115090/

升级操作

apt update
apt install pve-kernel-5.19
reboot

也就死马当作活马医,升级内核试试看了,升级后的版本如下(更新时间 2023-05-05),升级后,把我的监控脚本,暂时停掉或者设置一个长间隔时间运行,观察看看。

root@pve:~# uname -a
Linux pve 5.19.17-2-pve #1 SMP PREEMPT_DYNAMIC PVE 5.19.17-2 (Sat, 28 Jan 2023 16:40:25  x86_64 GNU/Linux
root@pve:~# 

升级后,第四天了,VM虚机基本非常平稳的运行着,只有1台VM有点问题。相比之前,已经稳定非常多了。

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

Intel N5105 四口小主机 网卡直通 2023-04-10

一、需求描述

Intel N5105 主机有四个2.5G的网口,需要把其中2个直通给VM虚机使用,如下是配置PCI网口直通的简单操作步骤。

二、物理网口直通

开启PCI直通功能,方便PVE的物理网口直通

如果是使用的GRUB引导,当前N5105,是Intel的CPU,10nm工艺,4核心4线程,2.0GHz,最大支持内存16GB@2933 MHz,

1、主板的虚拟化功能开启

"Intel Virtualization Technology"  -> enabled
"Memory Remap Feature"  -> Intel VT-d / IOMMU  
/// 看主板,有的描述不一样,如果到后面,发现不能直通,再返回检查主板BIOS里,是不是某个VT-d/IOMMU功能选项未开启

/// 我这里买的这款,主板默认是开启的,也就不需要设置了

2、如果PVE是使用的GRUB,修改配置文件 /etc/default/grub

/// If you are using GRUB
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

/// Then save the changes and update grub
update-grub

3、加载必要的模块,修改,/etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/// Note that in the 5.4 based kernels some of those modules are already built into the kernel directly. 5.4版本的内核,有的模块已经加载了,不过,为了保险期间,这几个可添加一下

4、重启设备

reboot

5、检查状态

dmesg | grep -e DMAR -e IOMMU

/// There should be a line that looks like "DMAR: IOMMU enabled". If there is no output, something is wrong. 如果显示 DMAR: IOMMU enabled,则表示开启成功,如果有其他提示,估计就是报错了。

参考 PVE官方指导 https://pve.proxmox.com/wiki/PCI_Passthrough

后续就可以通过添加PCI直通的方式,将网口直通给小主机内的VM,一般建议关机状态添加直通,添加完成后,可以在VM里lspci看到,也可以通过ip 命令匹配MAC地址,找到对应的直通的口是哪一个。

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

N5105,折腾笔记,2.5Gbps 局域网 2023-05-18

段落1、需求描述

基于前面讲过的N5105设备,由于它四个LAN口都是2.5Gbps的,向下可以自适应到千兆,故而,用它作为软路由,或者ALL IN ONE,可以让局域网环境成为全2.5G的高速环境

段落2、PVE场景下,2.5G实现

N5105宿主机安装Proxmox VE 7.4版本(这个是写本文的时间,最新的稳定版本了),配置它自身的网络。

主要功能就是,

1、建立一个网口汇聚,包含网口2、3、4,名为bond0,工作在负载轮循模式

2、建立一个虚机网桥vmbr0,设置一个私网的地址,桥接到bond0,网关设置为在路由虚拟机的虚拟网卡上

root@pve:/etc/network# cat interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp1s0 inet manual

iface enp2s0 inet manual

iface enp3s0 inet manual

iface enp4s0 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves enp2s0 enp3s0 enp4s0
        bond-miimon 100
        bond-mode balance-rr

auto vmbr0
iface vmbr0 inet static
	address 10.25.50.75/24
	gateway 10.25.50.1
	bridge-ports bond0
	bridge-stp off
	bridge-fd 0

root@pve:/etc/network# 

× 因为,我就下联一个普通的路由器,普通路由器,我暂时没有买2.5G WAN口的款式,日常bond0也就一个口Active,速率向下适配到千兆,流下贫穷的眼泪。

root@pve:/etc/network# cat  /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.19.17-2-pve

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: enp2s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 60:be:b4:08:fd:72
Slave queue ID: 0

Slave Interface: enp3s0
MII Status: up
Speed: 1000 Mbps  <-- 因为接的普通千兆路由器发射WIFI信号,故而这个2.5G口工作在千兆速率
Duplex: full
Link Failure Count: 1
Permanent HW addr: 60:be:b4:08:fd:73
Slave queue ID: 0

Slave Interface: enp4s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 60:be:b4:08:fd:74
Slave queue ID: 0
root@pve:/etc/network# 

段落3、PVE场景下,添加 OpenWRT路由 VM

安装一个OpenWRT或者爱快的路由VM系统,其实非常简单,这里以OpenWRT示例,就在PVE的shell环境下,创建一个虚机(不含硬盘),通常规格来说2核心2GB内存10GB磁盘,足够OpenWRT使用,确保VMID无误,使用如下命令,进行创建磁盘的过程

参数 102,需要修改为,你自己OpenWRT的VMID

参数 /var/lib/vz/template/iso/openwrt-22.03.4-x86-generic-generic-squashfs-combined.img,是在上传img镜像到PVE时候,可以看到的上传路径

参数 local-lvm,一般就是默认的,后续VM的磁盘,可以迁移。

qm importdisk 102 /var/lib/vz/template/iso/openwrt-22.03.4-x86-generic-generic-squashfs-combined.img local-lvm

在OpenWRT虚机VM,硬件界面,选择刚刚生成的硬盘,加载,一般,我喜欢把它容量增加一点,点击该硬盘,磁盘操作,增加容量到11GB。

在OpenWRT虚机VM,选项界面,开机自启动(开启),引导顺序(选择刚刚扩容好的那个磁盘scsi0)

在OpenWRT虚机VM,硬件界面,添加网卡直通,选择添加,选择PCI设备,选中要直通的网口

完成上面的设置后,就可以开机这台OpenWRT了。

在OpenWRT虚机VM,控制台页面

修改LAN的地址段,这个有了,这个VLAN网关就有了,如有必要passwd命令,修改一下系统的密码,不使用默认密码,养成一个安全的好习惯。

/etc/config/network  -->  LAN --> option ipaddr '10.25.50.1'

这里,设置网卡时候,需要注意的是,如有eth0,eth1两个OpenWRT内部网卡名称,一个是桥接vmbr0的虚拟网卡,一个是直通网口,可以通过MAC地址区分哪个是哪个。

我下图设置的,LAN是走的桥接vmbr0的 eth0 ,上联的WAN走的直通口,工作在拨号PPPoE还是DHCP,就看你自己实际情况了。

至此,这个网络就算OK了,其他虚机,只要虚拟网卡桥接到vmbr0这个即可。

段落4、架构示意图

大致的架构拓扑示意图,可根据实际需要修改功能





附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨