96 vSystem

news2024/12/21 5:51:03

vSystem系统

1 技术背景

网络虚拟化旨在构建出一套与网络底层物理拓扑相互独立的逻辑网络环境,提供给不同需求的用户使用。基于这种思想,诞生出了 VLAN 技术和 VPN 技术。近年来, 随着以 VMMVirtual Machine Monitor,虚拟机监视器) 为代表的虚拟化技术在 X86 服务器领域的广泛应用,用户对虚拟化下沉网络设备层的需求也越来越迫切。当前,快速发展的业务需求与灵活多变的组织架构要求企业自身的网络环境必须具备高度的灵活性和可维护性,常见场景如下:

  1. · 场景一: 某公司急需开展一项新的业务, 需要为其单独部署一套新的网络环境, 而重新购买和部署新的网络设备,不仅会增加建设成本,还会延长业务上线时间。
  2. · 场景二: 某大型企业内部包含大量业务部门,有着复杂的网络划分和隔离需求。传统防火墙通过安全域和安全策略对网络进行管控。面对如此复杂的内部网络环境,以上方式往往会导致策略配置异常复杂,给管理员带来巨大的维护负担。
  3. · 场景三:某服务商为各类企业提供云计算服务,这些企业的业务规模及其对业务安全的需求各有不同,需要云计算网关能够为不同客户提供不同的安全防护服务,定制不同的安全防护策略。

vSystem 技术即是针对上述场景中用户所面对的众多问题而诞生的解决方案。

如图 1 所示, vSystem 是一种网络设备虚拟化技术,能将一台物理设备虚拟为多台相互独立的逻辑设备(即 vSystem)。 vSystem 具有以下优点:

  • vSystem 可有效利用设备硬件资源,单一设备可为多个组织提供相互独立的服务,节省能耗和管理成本。
  • vSystem 可由统一的根系统管理员或相互独立的 vSystem 管理员进行管理,责任清晰、管理灵活。
  • 每个 vSystem 拥有独立的业务配置和路由表项,地址空间重叠的用户仍然可以正常通信。
  • 每个 vSystem 拥有固定的接口、 VLAN 资源以及其它资源限制,业务繁忙的 vSystem 不会对其它 vSystem 造成影响。
  • 每个 vSystem 之间的流量相互隔离,安全性高。在需要的时候, vSystem 之间也可以进行安全互访。
  • vSystem 消耗设备资源少,适合大规模部署

2 技术实现

vSystem 技术可以实现将物理设备虚拟成数百台甚至更多的逻辑设备,并让所有的逻辑设备以与物理设备相同的方式对外服务。物理设备本身又称为根系统,可被视作缺省 vSystem 被虚拟出来的 vSystem 可被视作非缺省 vSystem(下面如无特殊说明,出现的 vSystem 均指非缺省vSystem)。 在用户看来,一个非缺省 vSystem 与根系统无异。为实现海量 vSystem 的构建, vSystem 技术在如下几个方面取得了突破。

2.1 管理虚拟化

vSystem 技术为所有非缺省 vSystem 创建了独立的管理接口,包括命令行(CLI)界面、 Web 界面和 NETCONF 接口。这些接口的展现形式和使用方式与物理设备本身的接口完全一致,用户在使用这些接口时,不用进行额外的操作, 这样就保证了 vSystem 的配置通用性和可维护性

2.2 管理角色虚拟化

如图 2 所示, vSystem 技术通过两级管理体制实现了灵活的管理角色授权和清晰的管理权责划分。管理体制下包含如下两级管理角色:

  1. 根系统管理员(即设备管理员): 根系统管理员负责创建 vSystem,为 vSystem 分配资源,以及创建 vSystem 管理员;
  2. vSystem 管理员: vSystem 管理员负责 vSystem 内的配置和管理。 vSystem 管理员的管理权限被严格限制在本 vSystem 内,不能登录到其他 vSystem 上进行查看和配置。

图2 vSystem 管理角色示意

拥有大量分支机构的企业能够凭借此技术实现如下管理场景:

  1. 公司总部的根系统管理员创建和初始化分支机构 vSystem,并为分支机构的 vSystem 管理员分配或取消权限。
  2. 分支机构的 vSystem 管理员负责本部门范围内的业务配置和设备管理。 如有必要,公司总部的根系统管理员也能对分支机构的业务、设备和管理进行干预。根系统管理员

2.3 资源虚拟化

2.3.1 接口资源虚拟化

根系统管理员可以将物理设备上的三层接口和 VLAN 资源按需分配给 vSystem。当不同 vSystem 的使用需求出现变化时,根系统管理员可以重新分配和协调这些资源,实现资源利用最大化。

vSystem 基于独占模式使用三层接口和 VLAN 资源,一旦三层接口或 VLAN 被分配给某个 vSystem,其他 vSystem 就不可使用该三层接口或VLAN(及其关联的 VLAN 接口)。未被分配给非缺省 vSystem 的所有资源属于缺省 vSystem

2.3.2 非接口资源虚拟化

与三层接口和 VLAN 资源不同,其他诸如安全策略、会话和吞吐量等资源以共享方式供所有 vSystem 使用。 vSystem 可根据自身业务的运行状况,对表项和带宽资源进行灵活申请。

为避免因某个 vSystem 占用了过多资源, 而使其他 vSystem 上的业务无法正常运行,根系统管理员可以针对每个 vSystem 中的不同资源分别配置其可被使用的上限。当某 vSystem 的资源使用量(包括安全策略规则数、会话新建速率、会话并发数和吞吐量)达到指定上限,该 vSystem将不能继续申请更多的资源,这就保证了其他 vSystem 上的业务能够正常运行,互不影响。

2.3.3 资源回收

对于接口资源,其回收需要由根系统管理员进行手工处理;对于表项和带宽资源,当某 vSystem 的资源使用量下降后, 其释放的资源可以由其他 vSystem 在其上限内自由使用。一旦根系统管理员删除了某个 vSystem,该 vSystem 所占据的所有资源将被释放,资源可以被分配给其他 vSystem 继续使用

2.4 业务虚拟化

2.4.1 业务隔离

vSystem 技术通过一种特殊的方式实现了不同虚拟化实例下的业务隔离。其核心是在创建 vSystem 时同时创建一个同名 VPN 实例,并将二者进行绑定。此 vSystem 的业务流量被严格限制在与其绑定的 VPN 实例内。这样一来,设备将不同 vSystem 的业务报文视为不同 VPN 实例下的报文,仅需要为每个业务启动一个进程,便可以支持所有 vSystem 上该业务的运行。

2.4.2 配置隔离

不同 vSystem 的配置信息能够相互独立、互不干涉, vSystem 重启后, 其配置信息能够准确无误地还原。vSystem 使用与业务隔离类似的思路进行配置隔离。具体来看, 设备仅维护一个配置文件, 供所有 vSystem 使用。 不同 vSystem 的配置被保存在文件的不同区段中,一个 vSystem 运行时不能越界获取其他 vSystem 的配置。 物理设备重启后, 将按照区段分别恢复各个 vSystem 的配置信息。根系统管理员可以查看和导出所有 vSystem 的配置信息,而 vSystem 管理员仅能查看和导出本 vSystem 的配置信息。

2.4.3 日志隔离

每个 vSystem 在运行过程中,各自独立生成和输出日志信息,日志信息注明了输出该日志的 vSystem 的 ID。用户进行业务部署后,可以选择将多个 vSystem 的日志信息分别输出到不同的日志服务器中;也可以选择将它们输出到同一台日志服务器中, 而不用担心会出现混淆。

2.5 vSystem 转发机制

2.5.1 二层转发

二层网络环境下,企业的不同分支机构使用 VLAN 进行网络划分。通过将不同 VLAN 分配给不同分支机构的 vSystem,不同分支机构内的报文会被转发至各自分支机构的 vSystem 进行处理。具体来看,设备收到报文后,会根据报文帧头部的 VLAN Tag 确定报文所属的 VLAN,再根据 VLAN 与 vSystem 的绑定关系,将报文引入相应的 vSystem。报文进入 vSystem 后,根据该 vSystem 的 MAC 地址表查询到出接口,确定报文出入接口的域间关系,再根据其自身配置的安全策略对报文进行安全检测和安全控制。

如图 3 所示,

内网 Host A Host B Host E Host F 位于 VLAN 100 内,

内网 Host C Host D Host G Host H 位于 VLAN 200 内。通过将

VLAN 100 分配给 vSystem vsys1

VLAN 200 分配给 vSystem vsys2

可实现将 Host A(或 Host B)与 Host E(或 Host F) 之间互访的流量交由 vsys1 处理,以及将 Host C(或 Host D)与 Host G(或 Host H) 之间互访的流量交由 vsys2 处理。图3 vSystem 支持二层转发示意图

2.5.2 三层转发

三层网络环境下, 企业的不同分支机构被划分为不同的网段, 通过将设备连接不同分支机构网络的接口分配给该部门的 vSystem 来自不同分支机构的报文就会被送入各自部门的 vSystem 进行路由查找、安全策略处理和报文转发等操作。

如图 4 所示,分支机构 A 和 B 业务相互独立,彼此有不同的安全防护需求,需为机构 A B 各自创建一个 vSystem 作为安全网关。为使分支机构网络 A 和网络 B 内的 Host 能够访问 Internet需要将设备连接网络 A 的接口 GE1/0/1 分配给 vSystem vsys1,将设备连接网络 B 的接口GE 1/0/2 分配给 vSystem vsys2。此外,还需要在 vSystem vsys1 vsys2 中分别配置访问外网的路由和相应的安全策略。

2.5.3 vSystem 互访

2.5.3.1 vSystem 虚拟接口

如图 5 所示,跨越多个 vSystem 的通信可通过 vSystem 虚拟接口进行。

  1. 每个 vSystem 拥有一个 vSystem 虚拟接口,该接口始终为 UP 状态。vSystem 虚拟接口必须配置 IP 地址并加入安全域中,否则无法正常工作。
  2. vSystem 虚拟接口的格式为“vSys-interface+接口号”,其中接口号与该 vSystem 的 ID 相同,如根系统下的 vSystem 虚拟接口为 vSys-interface1(根系统的 ID 为 1,其他非缺省 vSystem 的 ID 根据其创建顺序依次递增)。
  3. 任意两个 vSystem 虚拟接口间存在一条虚拟链路,可在 vSystem 中配置指向另一个 vSystem 上的 vSystem 虚拟接口的路由,来实现对该vSystem 内用户的访问。

在真实网络部署中,根据组网环境的不同, vSystem 互访可分为两种情况:

  • 非缺省 vSystem 与根系统之间的互访
  • 以及非缺省 vSystem 之间的互访。

2.5.3.2 非缺省 vSystem 与根系统之间的互访

在如图 6 所示的场景中,根系统管理员在 Device 上创建了一个 vSystem vsys1,并将接口 GE1/0/1 分配给 vsys1(接口 GE1/0/2 仍归根系统所有)。 vSys-interface1 和 vSys-interface2 分别是根系统和 vsys1 的 vSystem 虚拟接口。 vsys1 内的 Host A 若想与根系统内的 Host B 互访,需要在 vsys1 和根系统内配置两条去程路由和回程路由:

· 去程路由:在 vsys1 内配置一条目的地址为 2.2.2.2/32,出接口为 vSys-interface1,下一跳为 0.0.0.0 的静态路由;在根系统内配置一条目的地址为 2.2.2.0/24,出接口为 GE1/0/2,下一跳为 1.1.1.1(此为与接口 GE1/0/2 同链路的对端接口的 IP 地址)的静态路由。

· 回程路由:在根系统内配置一条目的地址为 10.1.1.0/24,出接口为 vSys-interface2,下一跳为 0.0.0.0 的静态路由;在 vsys1 内配置一条目的地址为 10.1.1.0/24,出接口为 GE1/0/1,下一跳为 10.1.2.1(此为与接口 GE1/0/1 同链路的对端接口的 IP 地址)的静态路由。此外,还需要分别在 vsys1 和根系统内配置安全域和安全策略:

· 安全域配置:需将接口 GE1/0/1 添加进 vsys1 的 Trust 安全域,将接口 vSys-interface2 添加进 vsys1 的 Untrust 安全域;将接口 GE1/0/2添加进根系统的 Untrust 安全域,将接口 vSys-interface1 添加进根系统的 Trust 安全域

· 安全策略配置:需在 vsys1 和根系统中分别创建允许 Trust 安全域中的 Host A 访问 Untrust 安全域中的 Host B 的安全策略;需在 vsys1 和根系统中分别创建允许 Untrust 安全域中的 Host B 访问 Trust 安全域中的 Host A 的安全策略。

Host A 主动访问 Host B 的报文处理流程如下。(Host B 主动访问 Host A 的报文处理流程与之类似)

(1) Host A 主动向 Host B 发起连接。

(2) 首包到达Device后, Device基于接口分流, 将报文送入vSystem vsys1。 vsys1按照防火墙转发流程对报文进行处理,包括匹配黑名单、查找路由、 NAT、匹配安全策略等等。如果 vsys1 不允许转发报文,则丢弃报文,流程结束;如果 vsys1 允许转发报文,则将报文通过vSys-interface2 与 vSys-interface1 之间的虚拟链路送入根系统中处理,并为该条连接在 vsys1 中建立会话。

(3) 根系统的 vSystem 虚拟接口 vSys-interface1 收到报文后,根系统按照同样的防火墙转发流程对报文再次进行处理。如果根系统不允许转发报文,则丢弃报文,流程结束;如果根系统允许转发报文,则将报文发往 Host B,并为该条连接在根系统中建立会话。

(4) 报文经过路由转发后,到达 Host B。当来自 Host B 的响应报文到达 Device 后, Device 按照类似流程将响应报文发往 Host A

2.5.3.3 非缺省 vSystem 之间的互访

Host A 主动访问 Host B 的报文处理流程如下。(Host B 主动访问 Host A 的报文处理流程与之类似) (1) Host A 主动向 Host B 发起连接。(2) 首包到达 Device 后, Device 基于接口分流,将报文送入 vSystem vsys1。 vsys1 按照防火墙转发流程对报文进行处理,包括匹配黑名单、查找路由、 NAT、匹配安全策略等等。 如果 vsys1 不允许转发报文,则丢弃报文,流程结束;如果 vsys1 允许转发报文,则将报文通过vSys-interface2 与 vSys-interface3 之间的虚拟链路送入 vsys2 中处理,并为该条连接在 vsys1 中建立会话。(3) vsys2 的虚拟接口 vSys-interface3 收到报文后, vsys2 按照同样的防火墙转发流程对报文再次进行处理。如果 vsys2 不允许转发报文,则丢弃报文,流程结束;如果 vsys2 允许转发报文,则将报文发往 Host B,并为这条连接在 vsys2 中建立会话。(4) 报文经过路由转发后,到达 Host B。 当来自 Host B 的响应报文到达 Device 后, Device 按照类似流程将响应报文发往 Host A。

3 经典组网架构

    1. 大中型企业组网

如图 8 所示, 某企业将内部网络按部门划分为多个区域,每个区域都有访问 Internet 的需求。 为了给每个部门提供可定制的安全网关服务,可以在企业出口网关设备 Device 上为每个区域分别创建一个 vSystem,并将其作为该区域的安全网关。当区域内的用户访问 Internet 时,访问报文将依次经过该区域网关 vSystem 和根系统的处理,最终通过根系统的公网接口转发至 Internet。

3.2 云安网关

如图 9 所示,位于公网的租户 A 和 B 在云计算中心租用了服务器,云计算中心需要对租户 A 和 B 部署的云资产提供独立的安全防护。为此,可以在云计算中心的出口网关设备 Device 上为租户 A 和 B 分别创建一个 vSystem 作为安全网关。当租户访问其部署的云资产时,访问报文将依次经过根系统和该租户所对应的 vSystem 的处理,最终通过 vSystem 的私网接口转发至云网络

配置指导

1 创建vSystem

<Device-Fw>system-view   //进入到系统视图

System View: return to User View with Ctrl+Z.

[Device-Fw]vsys  vsys4  //创建vSystem 名字是 vsys4

[Device-Fw-vsys-4-vsys4]description  vsys4  //设置的配置是 vsys4

2 vSystem分配接口

[Device-Fw-vsys-4-vsys4]allocate  interface  GigabitEthernet  1/0/1  //vSystem 分配接口为 int G1/0/1

3 vSystem 分配 VLAN

[Device-Fw-vsys-4-vsys4]allocate  vlan  10   // vSystem 分配 VLAN

4 限制 vSystem 安全策略规则总数

[Device-Fw-vsys-4-vsys4]capability  security-policy-rule maximum  4  //限制 vSystem 安全策略规则数量为4

5 限制 vSystem 会话新建速率

[Device-Fw-vsys-4-vsys4]capability  session  rate  90   //限制 vSystem 会话新建速率

6 限制 vSystem 入方向吞吐量

[Device-Fw-vsys-4-vsys4]capability throughput { kbps | pps } threshold

7 (可选) 开启 vSystem 入方向吞吐量告警功能并设置告警阈值。

vsys-capability throughput alarm enable alarm-thres

缺省情况下, vSystem 入方向吞吐量告警功能处于关闭状态。

8  (可选)开启 vSystem 入方向吞吐量限速丢包日志功能。

vsys-capability throughput drop-logging enable

缺省情况下, vSystem 入方向吞吐量限速丢包日志功能处于关闭状态

9 配置保存

[Device-Fw]save vsys  ?

  STRING<1-31>  Name of the vSystem

  vsys1         Vsys ID 2

  vsys2         Vsys ID 3

  vsys4         Vsys ID 4

  vsys5         Vsys ID 5

[Device-Fw]save vsys  vs

[Device-Fw]save vsys  vsys4

The current configuration flash:/startup.cfg will be written to the device. Are you sure? [Y/N]:y

flash:/startup.cfg exists, overwrite? [Y/N]:y

Validating file. Please wait...

Saved the current configuration to mainboard device successfully.

10  访问管理

[Device-Fw]switchto  vsys  vsys5

<Device-Fw-vsys5>

11 配置vSystem虚拟接口

(1) 进入系统视图。

system-view

(2) 进入 vSystem 虚拟接口视图。

interface vsys-interface interface-number

(3) (可选)设置接口的描述信息

description text

(4) (可选)恢复接口的缺省配置

Defaul

12  维护手册

配置案例

组网需求

LAN 1192.168.1.0/24 网段)、 LAN 2192.168.2.0/24 网段)、 LAN 3192.168.3.0/24 网段)、LAN 4192.168.4.0/24 网段)、 LAN 5192.168.5.0/24 网段)分别属于公司 A、公司 B、公司 C,公司D,公司E。现需要对各公司的网络进行独立的安全防护。

  1. 将接口 GigabitEthernet1/0/1 GigabitEthernet1/0/6 分配给 A 公司
  2. 将接口 GigabitEthernet1/0/2 GigabitEthernet1/0/7 分配给 B 公司
  3. 将接口 GigabitEthernet1/0/3 GigabitEthernet1/0/8 分配给 C公司
  4. 将接口 GigabitEthernet1/0/4 GigabitEthernet1/0/9 分配给 D 公司
  1. 将接口 GigabitEthernet1/0/5 GigabitEthernet1/0/10 分配给 E 公司

#

 version 7.1.064, Alpha 7164

#

 sysname vSystem-FW

#

context Admin id 1

#

vsys vsys1 id 2

 description vsys1-A

 allocate interface GigabitEthernet1/0/1

 allocate interface GigabitEthernet1/0/6

 allocate vlan 10

#

vsys vsys2 id 3

 description vsys2-B

 allocate interface GigabitEthernet1/0/2

 allocate interface GigabitEthernet1/0/7

 allocate vlan 20

#

vsys vsys3 id 4

 description vsys-C

 allocate interface GigabitEthernet1/0/3

 allocate interface GigabitEthernet1/0/8

 allocate vlan 30

#

vsys vsys4 id 5

 description vsys4-D

 allocate interface GigabitEthernet1/0/4

 allocate interface GigabitEthernet1/0/9

 allocate vlan 40

#

vsys vsys5 id 6

 description vsys-E

 allocate interface GigabitEthernet1/0/5

 allocate interface GigabitEthernet1/0/10

 allocate vlan 50

#

 telnet server enable

#

 irf mac-address persistent timer

 irf auto-update enable

 undo irf link-delay

 irf member 1 priority 1

#

 xbar load-single

 password-recovery enable

 lpu-type f-series

#

vlan 1

#

vlan 10

#

vlan 20

#

vlan 30

#

vlan 40

#

vlan 50

#

interface NULL0

#

interface GigabitEthernet1/0/0

 port link-mode route

 combo enable copper

#

interface GigabitEthernet1/0/1

 port link-mode route

 combo enable copper

 ip address 192.168.1.251 255.255.255.0

#

interface GigabitEthernet1/0/2

 port link-mode route

 combo enable copper

 ip address 192.168.2.251 255.255.255.0

#

interface GigabitEthernet1/0/3

 port link-mode route

 combo enable copper

 ip address 192.168.3.251 255.255.255.0

#

interface GigabitEthernet1/0/4

 port link-mode route

 combo enable copper

 ip address 192.168.4.251 255.255.255.0

#

interface GigabitEthernet1/0/5

 port link-mode route

 combo enable copper

 ip address 192.168.5.251 255.255.255.0

#

interface GigabitEthernet1/0/6

 port link-mode route

 combo enable copper

#

interface vSys-interface1

#

interface vSys-interface2

#

interface vSys-interface3

#

interface vSys-interface4

#

interface vSys-interface5

#

interface vSys-interface6

#

security-zone name Local

#

security-zone name Trust

#

security-zone name DMZ

#

security-zone name Untrust

#

security-zone name Management

#

 scheduler logfile size 16

#

line class aux

 user-role network-operator

#

line class console

 user-role network-admin

#

line class tty

 user-role network-operator

#

line class vty

 user-role network-operator

#

local-user admin class manage

 password hash $h$6$UbIhNnPevyKUwfpm$LqR3+yg1IjNct39MkOR0H0iQXLkYB3jMqM4vbAeoXOhbabIIFnjJPEGR00YiYA1Sz4LiY3FmEdru2fOLMb1shQ==

 service-type telnet terminal http

 authorization-attribute user-role level-3

 authorization-attribute user-role network-admin

 authorization-attribute user-role network-operator

#

 ip http enable

 ip https enable

#

return

#

switchto vsys vsys1

#

interface GigabitEthernet1/0/1

 port link-mode route

 combo enable copper

 ip address 192.168.1.251 255.255.255.0

 manage ping inbound

 manage ping outbound

#

interface GigabitEthernet1/0/6

 port link-mode route

 combo enable copper

#

interface vSys-interface2

#

security-zone name Local

#

security-zone name Trust

#

security-zone name DMZ

#

security-zone name Untrust

#

security-zone name Management

#

domain system

#

 domain default enable system

return

#

switchto vsys vsys2

#

interface GigabitEthernet1/0/2

 port link-mode route

 combo enable copper

 ip address 192.168.2.251 255.255.255.0

#

interface GigabitEthernet1/0/7

 port link-mode route

 combo enable copper

#

interface vSys-interface3

#

security-zone name Local

#

security-zone name Trust

#

security-zone name DMZ

#

security-zone name Untrust

#

security-zone name Management

#

domain system

#

 domain default enable system

return

#

switchto vsys vsys3

#

interface GigabitEthernet1/0/3

 port link-mode route

 combo enable copper

 ip address 192.168.3.251 255.255.255.0

#

interface GigabitEthernet1/0/8

 port link-mode route

 combo enable copper

#

interface vSys-interface4

#

security-zone name Local

#

security-zone name Trust

#

security-zone name DMZ

#

security-zone name Untrust

#

security-zone name Management

#

domain system

#

 domain default enable system

return

#

switchto vsys vsys4

#

interface GigabitEthernet1/0/4

 port link-mode route

 combo enable copper

 ip address 192.168.4.251 255.255.255.0

#

interface GigabitEthernet1/0/9

 port link-mode route

 combo enable copper

#

interface vSys-interface5

#

security-zone name Local

#

security-zone name Trust

#

security-zone name DMZ

#

security-zone name Untrust

#

security-zone name Management

#

domain system

#

 domain default enable system

return

#

switchto vsys vsys5

#

interface GigabitEthernet1/0/5

 port link-mode route

 combo enable copper

 ip address 192.168.5.251 255.255.255.0

#

interface GigabitEthernet1/0/10

 port link-mode route

 combo enable copper

#

interface vSys-interface6

#

security-zone name Local

#

security-zone name Trust

#

security-zone name DMZ

#

security-zone name Untrust

#

security-zone name Management

#

domain system

#

 domain default enable system

Return

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码软件搭建自学的第一天——熟悉PyQt

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 学习计划第 1 步&#xff1a;环境搭建1.1 安装 Python1.2 安装 PyQt安装命令&#xff1a;验证安装&#xff1a; 第 2 步&#xff1a;PyQt 基础知识2.1 创建第一个窗…

【mac 终端美化】oh my zsh

快捷的mac终端美化方法。 以下是效果图&#xff0c;比较朴素&#xff0c;但是相比默认方案会好看一些&#xff0c;也能明显查看输入的命令&#xff0c;不会和输出混在一起。 下载主题 访问网址&#xff1a;https://iterm2colorschemes.com/&#xff0c;下载网页的压缩包并解…

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备 一、前提条件 确保路由器硬件支持&#xff1a; OpenWrt 路由器需要足够的存储空间和 CPU 性能来运行 Tailscale。确保设备架构支持 Tailscale 二进制文件&#xff0c;例…

【笔记】深度学习模型评估指标

推荐链接&#xff1a; &#xff08;0&#xff09;多分类器的评价指标 &#xff08;1&#xff09;泛化误差的评价方法&#xff1a;【机器学习】模型评估与选择&#xff08;留出法、交叉验证法、查全率、查准率、偏差、方差&#xff09; &#xff08;2&#xff09;机器学习&…

Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表

文章目录 Linux性能监控命令_nmon 安装与使用安装解压创建nmono目录解压到nmono目录当中切换到sources目录下解压 配置环境变量创建软链接到 /usr/bin/ 目录下打开 配置文件 配置环境变量在底部增加如下注册 使用使用说明监控监控CPU监控内存监控磁盘监控网络监控文件系统 后台…

串口通信控制LED灯

做这个东西的目的是锻炼一下自己的编程能力以及系统思维能力 首先&#xff0c;清楚自己要干什么&#xff0c;正点原子大家应该都看过&#xff0c;系统框图是一个比较重要的东西&#xff0c;引导我们去设计和思考。 下面先给出系统框图&#xff1a; 模块划分好后&#xff0c;结构…

WPF+MVVM案例实战与特效(四十五)- 打造优雅交互:ListBox 的高级定制与行为触发(侧边菜单交互面板)

文章目录 1、引言2、案例效果3、案例实现1、依赖安装2、文件创建3、代码实现1、依赖引用与上下文2、个性化视觉效果:自定义 ItemContainerStyle3、页面样式与布局完整代码4、ViewModel 逻辑实现5、子界面代码:3、实现效果4、源代码获取5、总结1、引言 在WPF应用程序开发中,…

分享两个爬虫练习网站+一个python游戏网站

目录 第一个网站第二个Python游戏网站 第一个网站 网站一 第二个 网站二 Python游戏网站 网站三

空天地遥感数据识别与计算--数据分析如何助力农林牧渔、城市发展、地质灾害监测等行业革新

在科技飞速发展的时代&#xff0c;遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究&#xff0c;空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而&#xff0c;对于许多专业人士而言&#xff0c;如何高效地处…

C++中的进程虚拟内存布局

进程虚拟内存布局 进程虚拟内存布局&#xff1a; .text&#xff08;代码段&#xff09;&#xff1a;存放的是程序源代码编译后的机器指令&#xff0c;是只读的。 .rodata&#xff08;只读数据段&#xff09;&#xff1a;存放的是程序中的只读数据&#xff0c;一般是程序里面的…

鸿蒙开发-ArkTS 创建自定义组件

在 ArkTS 中创建自定义组件是一个相对简单但功能强大的过程。以下是如何在 ArkTS 中创建和使用自定义组件的详细步骤&#xff1a; 一、定义自定义组件 使用Component注解&#xff1a;为了注册一个组件&#xff0c;使其能够在其他文件中被引用&#xff0c;你需要使用Component…

计算机网络B重修班-期末复习

[TOC] (计算机网络B重修班-期末复习&#xff09; 一、单选 &#xff08;20题&#xff0c;1分/题&#xff0c;共20分&#xff09; 二、判断 &#xff08;10题&#xff0c;1分/题&#xff0c;共10分&#xff09; 三、填空 &#xff08;10题&#xff0c;1分/题&#xff0c;共10…

SSH连接成功,但VSCode连接不成功

环境 在实验室PC上连接服务器234 解决方案&#xff1a;在VSCode中重新添加远程主机 删除旧的VSCode Server 在远程主机上&#xff0c;VSCode会安装一个‘vscode-server’服务来支持远程开发&#xff0c;有时旧的‘vscode-server’文件可能会导致问题&#xff0c;删除旧的&am…

揭开 Choerodon UI 拖拽功能的神秘面纱

01 引言 系统的交互方式主要由点击、选择等组成。为了提升 HZERO 系统的用户体验、减少部分操作步骤&#xff0c;组件库集成了卓越的拖拽功能&#xff0c;让用户可以更高效流畅的操作系统。 例如&#xff1a;表格支持多行拖拽排序、跨表数据调整、个性化调整列顺序&#xff1…

面试题整理9----谈谈对k8s的理解1

谈谈对k8s的理解 1. Kubernetes 概念 1.1 Kubernetes是什么 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统&#xff0c;其服务、支持和工具的…

Elasticsearch:什么是信息检索?

信息检索定义 信息检索 (IR) 是一种有助于从大量非结构化或半结构化数据中有效、高效地检索相关信息的过程。信息&#xff08;IR&#xff09;检索系统有助于搜索、定位和呈现与用户的搜索查询或信息需求相匹配的信息。 作为信息访问的主要形式&#xff0c;信息检索是每天使用…

【深度学习】 零基础介绍卷积神经网络(CNN)

CNN学习 零基础介绍写个CNN最简单的代码一. 概述二. 搭建CNN1. 输入层2. 卷积层3. 激活层4. 池化层5. 全连接层6. 网络搭建小结7. 损失函数8. 梯度下降9. 反向传播10. 模型评估与正则化11. 尝试搭建自己的第一个CNN 三. 经典CNN结构四. 猫狗识别项目实践1. Paddle实现版本&…

flutter 使用dio 请求go语言后台数据接口展示瀑布流图片

添加依赖 dependencies:flutter:sdk: flutterdio: ^5.0.0 # 请检查最新版本flutter_staggered_grid_view: ^0.4.0 添加网络权限 <uses-permission android:name"android.permission.INTERNET" /> go后端代码 图片存放目录 // main.go package mainimport (&q…

ZYNQ初识2(zynq_7010)基于vivado,从PL端调用PS端的时钟

由于需要进行一些FPGA的简单开发&#xff0c;但板载PL端没有焊接晶振&#xff0c;所以需要从PS端借用时钟到PL端使用。 首先新建项目&#xff0c;根据自己的板载选择芯片&#xff0c;我的板载芯片是zynq_7010。 一路next&#xff0c;在自己的vivado的工作文档新建文件夹并给自…

Go语言启动独立进程

文章目录 问题解决方案1. **将 npc.exe 启动为独立的进程**2. **修改 exec.Command 函数**示例代码解释为什么这样有效注意 问题 在你当前的代码中&#xff0c;调用 exec.Command("XXX.exe") 启动 XXX.exe 程序时&#xff0c;这个程序是由 Go 程序直接启动的。如果 …