当前位置: 首页 > news >正文

路由器防火墙配置(14)

实验目的
通过本实验,理解路由器的防火墙工作原理,掌握路由器的防火墙功能配置方法,主要包括网络地址转换功能和数据包过滤功能的配置。

培养根据具体环境与实际需求进行网络地址转换及数据包过滤的能力。    

预备知识
网络地址转换

网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,广泛应用于各种类型Internet接入和各种类型的网络中。NAT不仅完美解决了lP地址不足的问题,而且还能够有效避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

NAT的实现方式有三种,静态转换StaticNat、动态转换DynamicNat和端口多路复用PAT。

1)静态NAT

静态NAT是将内部网络的私有IP地址转换为公有IP地址,IP地址对固定不变,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如WWW、FTP)的访问。

2)动态NAT

动态转换是将内部网络的私有IP地址转换为公用IP地址时,IP地址对不确定,是随机的,所有被授权访问Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

3)端口PAT

端口多路复用是改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,PortAddressTranslation),采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自Internet的攻击。目前网络中应用最多的就是端口多路复用方式。

访问控制列表

访问控制列表(Access Control List,简称为 ACL),它使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。ACL 分很多种,不同场合应用不同种类的 ACL。

1)标准 ACL

标准 ACL 最简单,是通过使用 IP 包中的源 IP 地址进行过滤,表号范围 1-99 或 1300-1999;

2)扩展 ACL

扩展 ACL 比标准 ACL 具有更多的匹配项,功能更加强大和细化,可以针对包括协议类型、源地址、目的地址、源端口、目的端口、TCP 连接建立等进行过滤,表号范围 100-199 或 2000-2699;

3)命名 ACL

以列表名称代替列表编号来定义 ACL,同样包括标准和扩展两种列表。


在访问控制列表的学习中,要注意以下两个术语。

1)通配符掩码

一个 32 比特位的数字字符串,它规定了当一个 IP 地址与其他的 IP 地址进行比较时,该 IP 地址中哪些位应该被忽略。通配符掩码中的“1”表示忽略 IP 地址中对应的位,而“0”则表示该位必须匹配。两种特殊的通配符掩码是“255.255.255.255”和“0.0.0.0”,前者等价于关键字“any”,而后者等价于关键字“host”;

2)Inbound 和outbound

当在接口上应用访问控制列表时,用户要指明访问控制列表是应用于流入数据还是流出数据。

Inbound表示应用于流入数据。

Outbound表示应用于流出数据。

总之,ACL 的应用非常广泛,它可以实现如下的功能:

拒绝或允许流入(或流出)的数据流通过特定的接口;

为 DDR 应用定义感兴趣的数据流;

过滤路由更新的内容;

控制对虚拟终端的访问;

提供流量控制。

思科IOS使用

思科IOS是思科研发的网络操作系统软件,思科的交换机/路由器都安装了IOS软件。通过在IOS下的进行配置操作,可以管理和配置思科的网络设备,构建的各种网络。

通常,配置思科交换机/路由器有两种方法:

1)控制台(Console )  

可以直接对交换机进行配置;

2)远程登录(Telnet)

通过TELNET程序对已经设置了IP的交换机进行远程配置,一般在通过控制台配置好交换机的IP后才可以进行。

在IOS中,有几种模式:用户模式、特权模式、全局模式、端口模式。它们之间呈现出递进关系:用户模式->特权模式->全局模式->端口模式。

1)用户模式

在控制台或/telnet方式进入交换机/路由器,首先进入的就是用户模式,在用户模式下用户将受到极大的限制,只能用来查看一些统计信息。其提示符为:

Switch>

2)特权模式

在用户模式下输入enable(可简写为en)命令就可以进入特权模式,用户在该模式下可以查看并修改Cisco设备的配置。其提示符变为:

Switch>en

Switch#

3)全局配置模式

在特权模式下输入config terminal(可简写conf t)命令即可,用户在该模式下可修改交换机的全局配置,如修改主机名。提示符也有相应变化:

Switch#conf t (中间包含空格)

Switch(config)#

4)接口模式

在全局配置模式下输入interface fastethernet 0/1(可简写int f0/1)就可以进入到接口模式,在这个模式下所做的配置都是针对f0/1这个接口所设定的。如设定IP等。注意提示符的变化:

Switch(config)#int f0/1

Switch(config-if)#



Packet Tracer

Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。可以学习IOS的配置、锻炼故障排查能力。

本实验的所有操作,都是基于Packet Tracer环境下进行的。

实验步骤一
任务描述:使用Packet Tracer构建网络拓扑 

使用Packet Tracer构建如下所示网络:



说明:

1)本网络拓扑为多层网络架构:内层网络、中层网络、外层网络、Internet网络。其边界的主要标志是路由器。

2)内层网络为连接在路由器Router0的G0/0和G0/1端口的网络,有两个网络段:192.168.1.0/24和192.168.2.0/24;网络出口为Router0的G0/2端口,与中层Router1相连。

3)中层网络为连接在路由器Router1的G0/0端口的网络,网络段为10.1.1.0/24;网络出口为Router1的G0/1端口,与外层Router2相连。

4)外层网络为连接在路由器Router2的G0/0端口的网络,网络段为12.1.1.0/30;网络出口为Router2的G0/1端口,与外部网络(如Internet网络)相连。

5)图示PC1与PC2为内层网络所接主机,server0为Internet网络所接服务器。

6)各网络中网络设备的端口及IP、主机和服务器的IP见图中左边列表。



实验步骤如下:

1、运行Packet Tracer

登录到实验机后,在桌面上有一个Packet Tracer图标,双击该图标运行Packet Tracer软件。界面如下:



界面主要部分说明:

1)界面中间大空白部分,为设计拓扑图工作区;

2)界面左下角,为设备种类选择区;

3)界面中下角,为设备型号区,与设备类型相关;



2、向网络拓扑中添加物理设备(包括路由器、主机、服务器等)

在软件界面下,通过拖拽的方式,将路由器、主机、服务器等拖到工作界面下,按拓扑图所示位置摆放。并按拓扑图中要求修改各设备的名称。



注:

1)添加设备方式为,首先选中所要选的“设备种类”,再到“设备型号“中选择具体的设备,拖拽到工作区即可)。

2)路由器的型号选择2911,其他所有设备型号都选择“Generic”(即通用设备)。



3、设置设备之间的物理连接

点击下左图的连线图标(见红框标注),可以看到有各种连线,见下右图。



选择右图中红框所示连线类型,即交叉线。

注:

关于网络设备的定义和设备间连接方式一般规律:

1)两类设备定义:DTE类设备和DCE类设备。

DTE 类设备:PC、路由器、交换机uplink口、HUB级联口;

DCE 类设备:交换机普通口、HUB普通口;

2)同类设备间相连使用交叉线方式;异类设备间相连使用直通线方式。

 

4、设置各物理设备的IP地址

1)pc0设置IP地址:双击pc0设备图标出现如下界面:

点击IP Configuration红框配置IP地址(按前面拓扑图所规定IP地址进行设置)。

其他的pc机和server都可以按照上述方式配置。

2)配置路由器接口及IP

双击路由器Router1图标,出现路由器详情界面,点击“CLI”菜单,即出现路由器的“用户模式”。此时可进入“特权模式”,并进行相关配置,见下图:

其他接口也按照这种方式配置。同样,按这种方式配置好Router0和Router2。

5、配置路由

1)配置R0的路由:

R0(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

2)配置R1的路由:

R1(config)#router eigrp 1

R1(config-router)#network 10.1.1.0 0.0.0.255

R1(config-router)#network 12.1.1.0 0.0.0.3

R1(config-router)#no auto-summary

3)配置R2的路由:

R2(config)#router eigrp 1

R2(config-router)#no auto-summary

R2(config-router)#network 12.1.1.0 0.0.0.3

R2(config-router)#network 58.20.127.0 0.0.0.3

6、测试

1)在路由器R1上分别ping 与之相邻的R0和R2的IP地址,能ping通了说明配置好了。


2)在R0上分别ping两台pc机。


3)在R2上ping Server0。


注意:如果在测试环节中有任何一步测试不成功,必须先把问题解决才能做后面的实验(后面实验步骤都将以本任务成功完成为前提),解决的办法是,仔细查看每台设备的IP地址配置、以及路由器的路由设置。

实验步骤二
任务描述:NAT设置


本任务包括三个子任务:

子任务一:静态NAT配置;

子任务二:动态NAT配置;

子任务三:PAT配置。

注:

1、本任务的前提,是已经完成了实验步骤一的实验操作且结果正确。 

2、为了方便大家实验,在做实验时可以打开桌面上的NAT&&ACL文件夹,里面有对应实验的的pkt文件。


静态NAT

本子任务将实现内网IP与外网IP的静态NAT。包含两个映射:

1)内网IP为192.168.1.1映射到外网IP为10.1.1.10。

2)内网IP为192.168.2.1映射到外网IP为10.1.1.20。

拓扑和路由设置(即完成步骤一)。


实验步骤如下:

1、打开桌面NAT&&ACL文件夹中的“静态nat.pkt”文件,加载初始化网络环境;

2、在R0上配置静态NAT

//配置静态nat映射

R0(config)#ip nat inside source static 192.168.1.1 10.1.1.10

R0(config)#ip nat inside source static 192.168.2.1 10.1.1.20  

//配置nat内部接口

R0(config)#int g0/0

R0(config-if)#ip nat inside

R0(config-if)#int g0/1

R0(config-if)#ip nat inside

//配置nat外部接口

R0(config-if)#int g0/2

R0(config-if)#ip nat outside

3、测试

1)在R0上,打开debug,查看地址翻译的过程:

R0#debug ip nat

在pc0或者pc1上ping 58.20.127.1 (Server0的地址),此时路由器将输出如下内容:


2)在R0上查看NAT映射表

R0#show ip nat translations

可以看到静态时映射表一直存在,表明了内部全局地址和内部局部地址的对应关系。如下图:

说明:

内部局部(inside local)地址:在内部网络使用的地址;

内部全局(inside global)地址:用来代替一个或多个本地 IP 地址的、对外的、向 NIC 注册过的地址;

外部局部(outside local)地址:一个外部主机相对于内部网络所用的 IP 地址。不一定是合法的地址;

外部全局(outside global)地址:外部网络主机的合法 IP 地址。


动态NAT配置

本子任务将实现内网IP与外网IP的动态NAT。其中:

1)内网需要映射的IP有两个:192.168.1.1和192.168.2.1。

2)外网可以用于映射的IP段:10.1.1.10至10.1.1.15。

 

前提:完成网络拓扑和路由设置(即完成步骤一)。

实验步骤如下:

1、打开桌面NAT&&ACL文件夹中的“动态nat.pkt”文件,加载初始化网络环境;

2、在路由器R0上配置动态NAT。

//配置动态nat转换的地址池

R0(config)#ip nat pool natPoolName 10.1.1.10 10.1.1.15 netmask 255.255.255.0

//配置动态的nat映射,以及访问控制

R0(config)#ip nat inside source list 1 pool natPoolName

//访问控制列表1,允许全部访问

R0(config)#access-list 1 permit any

R0(config)#int g0/0

R0(config-if)#ip nat inside

R0(config-if)#int g0/1

R0(config-if)#ip nat inside

R0(config-if)#int g0/2

R0(config-if)#ip nat outside

3、测试,在R0上,打开debug,查看地址翻译的过程:

可以看到动态映射关系只有在发起访问时存在,内网192.168.1.1映射到了10.1.1.10,而192.168.2.1则映射到了10.1.1.11。如下图:


端口PAT

本子任务将实现内网到外网的PAT转换。

前提:完成网络拓扑和路由设置(即完成步骤一)。

实验步骤如下:

1、打开桌面NAT&&ACL文件夹中的“PAT.pkt”文件,加载初始化网络环境;

2、在R0路由器上配置PAT

//配置pat,以及访问控制

R0(config)#ip nat inside source list 1 interface gigabitEthernet 0/2 overload

// 访问控制列表1,允许全部访问

R0(config)#access-list 1 permit any

R0(config)#int g0/0

R0(config-if)#ip nat inside

R0(config-if)#int g0/1

R0(config-if)#ip nat inside

R0(config-if)#int g0/2

R0(config-if)#ip nat outside

3、测试。

1)在R0上,打开debug,查看地址翻译的过程

R0#debug ip nat

在pc0或者pc1上ping 58.20.127.1 (Server0的地址),此时路由器将输出如下内容:


2)在R0上查看NAT映射表

R0#show ip nat translations

可以看到静态时映射表一直存在,表明了内部全局地址和内部局部地址的对应关系。大体如下图:



上图可见,内部IP经PAT转换后,使用同一个IP的不同端口。

实验步骤三
任务描述:使用访问控制列表进行数据包过滤

本任务将使用ACL完成数据包过滤,实验拓扑图:


说明:拓扑图与本实验的步骤一相同。

本任务包括三个子任务:

子任务一:标准ACL;

子任务二:扩展ACL;

子任务三:命名ACL。

准备工作:构建网络拓扑图

本实现各子任务前,先把网络拓扑图构建好,包括网络设备、接口及IP地址,参见前面的步骤一:使用Packet Tracer构建网络拓扑图。

注:只需把网络拓扑图、接口及IP地址做好,不要配置路由。



标准ACL

通过标准ACL实现如下要求:

192.168.1.0/24网段不能访问Server0

192.168.2.0/24网段可以访问Server0

只允许Server0可以telnet R1



前提:完成了网络拓扑构建(即准备工作)。

实验步骤如下:

1、打开桌面NAT&&ACL文件夹中的“标准acl.pkt”文件,加载初始化网络环境;

2、配置ACL

//拒绝192.168.1.0/24网段的主机接入

R1(config)#access-list 1 deny 192.168.1.0 0.0.0.255

R1(config)#access-list 1 permit any

//将访问控制列表应用与接口

R1(config)#int g0/0

R1(config-if)#ip access-group 1 in

//允许主机58.20.127.1接入

R1(config)#access-list 2 permit host 58.20.127.1

R1(config)#line vty 0 4

R1(config-line)#password cisco

R1(config-line)#login

//应用访问控制列表2

R1(config-line)#access-class 2 in

3、实验测试,达到如下效果即表明实验成功。

1)在pc0上ping Server0(58.20.127.1)

2)在pc1上ping Server0(58.20.127.1)

3)在pc1上telnet R1

4)在Server0上telnet R1

扩展ACL

通过扩展ACL实现如下要求:

实现192.168.1.0/24网段访问Server0的www和ftp;

实现192.168.2.0/24网段访问Server0的ftp

禁止ping Server0


前提:完成了网络拓扑构建(即准备工作)。

实验步骤如下:

1、打开桌面NAT&&ACL文件夹中的“扩展acl.pkt”文件,加载初始化网络环境;

2、配置路由器R0

R0(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

R0(config)#ip nat inside source list 100 interface GigabitEthernet0/2 overload

R0(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 host 58.20.127.1 eq www

R0(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 host 58.20.127.1 eq ftp

R0(config)#access-list 100 permit tcp 192.168.2.0 0.0.0.255 host 58.20.127.1 eq ftp

R0(config)#access-list 100 permit icmp any any

R0(config)#int g0/0

R0(config-if)#ip nat inside

R0(config-if)#int g0/1

R0(config-if)#ip nat inside

R0(config-if)#int g0/2

R0(config-if)#ip nat outside

3、配置路由器R2

R2(config)#access-list 100 deny icmp any host 58.20.127.1

R2(config)#access-list 100 permit udp any host 58.20.127.1

R2(config)#access-list 100 permit tcp any host 58.20.127.1

R2(config)#access-list 100 permit eigrp any any

R2(config)#interface g0/0

R2(config-if)#ip access-group 100 in

4、实验测试

1)在pc0和pc1上分别ping Server0(58.20.127.1)


2)在pc0和pc1上分别ftp登陆Server0


3)在pc0上访问Server0的web服务,允许访问。

4)在pc1上访问Server0 的web服务,不允许访问(请求超时)。


命名ACL

本子任务包括两个部分:标准命名ACL和扩展命名ACL。

标准命名ACL

实现效果:

实现192.168.1.0/24网段(pc0所在网段)访问互联网(Server0)。

实现192.168.2.0/24网段(pc1所在网段)禁止访问互联网(Server0)。


前提:完成了网络拓扑构建(即准备工作)。

实验步骤:

1、打开桌面NAT&&ACL文件夹中的“标准命名acl.pkt”文件,加载初始化网络环境;

2、配置路由器R0

R0(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

R0(config)#ip nat inside source list stand interface gigabitEthernet 0/2 overload

R0(config)#ip access-list standard stand

R0(config-std-nacl)#permit 192.168.1.0 0.0.0.255

R0(config-std-nacl)#deny 192.168.2.0 0.0.0.255

R0(config)#interface g0/0

R0(config-if)#ip nat inside

R0(config-if)#int g0/1

R0(config-if)#ip nat inside

R0(config-if)#int g0/2

R0(config-if)#ip nat outside

3、实验测试

在pc0、pc1上ping Server0,测试连通性。


扩展命名ACL

实现效果:

实现192.168.1.0/24网段(pc0所在网段)访问互联网Server0的www;

实现192.168.2.0/24网段(pc1所在网段)访问互联网Server0的ftp;

禁止icmp数据包通过


前提:完成了网络拓扑构建(即准备工作)。

实验步骤:

1、打开桌面NAT&&ACL文件夹中的“扩展命名acl.pkt”文件,加载初始化网络环境;

2、配置路由器R0

R0(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

R0(config)#ip nat inside source list exte interface gigabitEthernet 0/2 overload

R0(config)#ip access-list extended exte

R0(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 host 58.20.127.1 eq www

R0(config-ext-nacl)#permit tcp 192.168.2.0 0.0.0.255 host 58.20.127.1 eq ftp

R0(config-ext-nacl)#deny icmp any any

R0(config)#int g0/0

R0(config-if)#ip nat inside

R0(config-if)#int g0/1

R0(config-if)#ip nat inside

R0(config-if)#int g0/2

R0(config-if)#ip nat outside

3、实验测试

在pc0(192.168.1.1)和pc1(192.168.2.1)上测试分别测试,都不能ping通Server0,但pc1可以用ftp登陆,pc0不能。


pc0可以访问web,pc1不能访问web。

相关文章:

路由器防火墙配置(14)

实验目的 通过本实验,理解路由器的防火墙工作原理,掌握路由器的防火墙功能配置方法,主要包括网络地址转换功能和数据包过滤功能的配置。 培养根据具体环境与实际需求进行网络地址转换及数据包过滤的能力。 预备知识网络地址转换 网络地址转…...

灰狼算法优化VMD对时序信号分析python

VMD算法变分模态分解(VMD)算法是一种根据变分方程计算,将信号分析过程转换成求解变分方程的过程,具体分析过程可见前面写的另外一篇博客VMD,这里不多介绍。 VMD算法在进行信号分析时,将一段时序信号分解成不同频段的几个子信号,但其分解效果的好坏由其两个参数影响较大—…...

微服务架构中的多级缓存设计还有人不懂?

今天我们来聊聊缓存这个话题,看看在微服务环境下如何设计有效的多级缓存架构。主要涉及三方面内容: Web 应用的客户端缓存;应用层静态资源缓存;服务层多级缓存。 首先,咱们先讲解微服务架构的多级缓存设计。 微服务…...

【图神经网络 医学/药物/目标/分子/(结构/相互作用)预测】用于药物-目标相互作用预测的元集合(Metapath)异构图神经网络(MHGNN)

May the immensity of the universe, guide us to meet again. 我个人觉得这篇Paper很好。哈哈! 本次学习的Paper于2023年1月15日索引于 Web of Science,是比较新的。 作者:中国天津,南开大学计算机科学学院。 本篇Paper的研究方向(类别/分类):生物化学 & 分子生物学…...

《Java核心技术》笔记——第六章

文章目录CH6.接口、lambda表达式与内部类1.接口基本2.常用接口3.lambda表达式4.内部类5.服务加载器与代理前章: 第三章~第五章的学习笔记CH6.接口、lambda表达式与内部类 1.接口基本 接口基本——interface声明,方法无需指明public(默认都是…...

假设检验的基本思想

假设检验 首先了解参数估计,比如有服从正态分布的数据集X∼N(μ,σ2)X\sim N(\mu,\sigma^{2})X∼N(μ,σ2),我们希望根据样本x1,...xnx_{1},...x_{n}x1​,...xn​估计出参数μ,σ\mu,\sigmaμ,σ,这些参数可以是一个具体值,也可以…...

c语言机试练习

1.打印日期 给出年分m和一年中的第n天&#xff0c;算出第n天是几月几号。 输入描述&#xff1a; 输入包括两个整数y(1<y<3000)&#xff0c;n(1<n<366)。 输出描述&#xff1a; 可能有多组测试数据&#xff0c;对于每组数据&#xff0c; 按 yyyy-mm-dd的格式将输入中…...

Python的PyQt框架的使用-资源文件夹的使用

Python的PyQt框架的使用-资源文件夹的使用一、前言二、Qt Designer加载资源文件三、资源文件的转换一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;小伙伴们&#xff0c;让我们一起来学习Python的PyQt框架的使用。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三…...

如何遍历HashMap

文章目录1.Iterator EntrySet2.Iterator keySet3.forEach EntrySet4.forEach keySet5.lambda6.Streams API单线程7.Streams API 多线程1.Iterator EntrySet Iterator<Map.Entry<Integer,String>> iteratormap.entrySet().iterator; while(iterator.hasNext()){Map…...

11技术太卷我学APEX-数据加载

11技术太卷我学APEX-数据加载 0 所谓的数据加载 就是导入数据到数据库表中&#xff0c;本示例就采用Excel导入数据到《技术太卷我学APEX》的apex_learn表。表结构大概是这样的 CREATE TABLE "APEX_LEARN" ( "P_ID" NUMBER(17,0) NOT NULL ENABLE, &quo…...

JVM记录

一、JVM体系结构&#xff1a; 类装载器ClassLoader&#xff1a;用来装载.class文件执行引擎&#xff1a;执行字节码&#xff0c;或者执行本地方法运行时数据区&#xff1a;方法区、堆、Java栈、程序计数器、本地方法栈1、方法区&#xff1a; 也称“永久代”&#xff0c;“非堆”…...

盘点机器学习实战中最频繁使用的AutoML工具库

在日常的Kaggle比赛和工作中&#xff0c;经常会遇到AutoML工具。本文总结了常见的AutoML库&#xff0c;可供大家选择。 LightAutoML 项目链接&#xff1a;https://github.com/sberbank-ai-lab/LightAutoML 推荐指数&#xff1a;⭐⭐⭐ LightAutoML是基于Python环境下的结构…...

50-Jenkins-Lockable Resources插件实现资源锁定

Lockable Resources插件实现资源锁定前言安装插件使用插件资源配置Pipeline中使用前言 用来阻止多个构建在同一时间试图使用同一个资源。这里的资源可能是一个节点、一个代理节点、一组节点或代理节点的集合&#xff0c;或者仅仅是一个用于上锁的名字。如果指定的资源没有在全…...

测试员,如果未来5年你不想失业……你得学会自动化测试

工作中总会遇到各种各样的无常&#xff0c;这边测试工具的工作你刚刚接手&#xff0c;那边又临时紧急插播一个接口测试任务&#xff0c;这对于测试老鸟来说已然是常态&#xff0c;但对新手来说却是个挑战。 不得不承认&#xff0c;工作就是在无限的变化和挑战中不断的磨炼我们…...

腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理

腾讯开源的 hel&#xff0c;提供了一种运行时引入远程模块的能力&#xff0c;模块部署在 CDN&#xff0c;远程模块发布后&#xff0c;不需要重新构建发布&#xff0c;就能生效。 个人觉得它的实现原理非常的不错&#xff0c;因此分享给大家。 远程模块可以作为微模块&#xf…...

【运动控制】CNC三轴小线段路径规划

CNC三轴小线段路径规划 文章目录CNC三轴小线段路径规划一、项目说明二、具体实现1、速度规划2、小线段插补3、运动学逆解刀轴插补点4、差分处理得到实际的速度和加速度5、加速度滑动平均6、实现的效果如图所示三、Reference写在前面&#xff0c;本文是作为一个练手小项目的总结…...

渗透测试之DNS域名信息探测实验

渗透测试之DNS域名信息探测实验实验目的一、实验原理1.1 域名1.2 .域名的构成1.3 域名的基本类型1.4 域名级别二、实验环境2.1 操作机器三、实验步骤1. 使用sp查询域名信息2. 进行探测实验实验目的 掌握使用nslookup进行DNS域名信息探测的原理和方式了解子域名查询网站 一、实…...

ASE140N04-ASEMI低压MOS管ASE140N04

编辑-Z ASE140N04在TO-220F封装里的静态漏极源导通电阻&#xff08;RDS(ON)&#xff09;为4mΩ&#xff0c;是一款N沟道低压MOS管。ASE140N04的最大脉冲正向电流ISM为400A&#xff0c;零栅极电压漏极电流(IDSS)为1uA&#xff0c;其工作时耐温度范围为-55~175摄氏度。ASE140N04…...

Qt——QLineEdit

QLineEdit是一个单行文本编辑控件。 使用者可以通过很多函数&#xff0c;输入和编辑单行文本&#xff0c;比如撤销、恢复、剪切、粘贴以及拖放等。 通过改变QLineEdit的 echoMode() &#xff0c;可以设置其属性&#xff0c;比如以密码的形式输入。 文本的长度可以由 maxLength(…...

前端-HTML-zxst

HTML HTML是超文本标记语言&#xff08;HyperText Mark-up Language&#xff09; CSS是层叠样式表&#xff08;Cascading Style Sheets&#xff09; JS&#xff0c;即JavaScript是一种具有函数优先的轻量级&#xff0c;解释型或即时编译型的编程语言 <!--doctype标签声明…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...