diff --git a/7_dhcp/2dns.png b/7_dhcp/2dns.png new file mode 100644 index 0000000..2009014 Binary files /dev/null and b/7_dhcp/2dns.png differ diff --git a/7_dhcp/2ip.png b/7_dhcp/2ip.png new file mode 100644 index 0000000..39a3e03 Binary files /dev/null and b/7_dhcp/2ip.png differ diff --git a/7_dhcp/2ip_en.png b/7_dhcp/2ip_en.png new file mode 100644 index 0000000..f58274d Binary files /dev/null and b/7_dhcp/2ip_en.png differ diff --git a/7_dhcp/2ip_un.png b/7_dhcp/2ip_un.png new file mode 100644 index 0000000..d7ded0f Binary files /dev/null and b/7_dhcp/2ip_un.png differ diff --git a/7_dhcp/3ip.jpg b/7_dhcp/3ip.jpg new file mode 100644 index 0000000..373919e Binary files /dev/null and b/7_dhcp/3ip.jpg differ diff --git a/7_dhcp/3ip.png b/7_dhcp/3ip.png new file mode 100644 index 0000000..b72b894 Binary files /dev/null and b/7_dhcp/3ip.png differ diff --git a/7_dhcp/DHCP.jpg b/7_dhcp/DHCP.jpg new file mode 100644 index 0000000..ec0b3cc Binary files /dev/null and b/7_dhcp/DHCP.jpg differ diff --git a/7_dhcp/DHCP_relay.png b/7_dhcp/DHCP_relay.png new file mode 100644 index 0000000..858a427 Binary files /dev/null and b/7_dhcp/DHCP_relay.png differ diff --git a/7_dhcp/DNS_hierarchy.png b/7_dhcp/DNS_hierarchy.png new file mode 100644 index 0000000..ee3e2e7 Binary files /dev/null and b/7_dhcp/DNS_hierarchy.png differ diff --git a/7_dhcp/DNS_resolution.png b/7_dhcp/DNS_resolution.png new file mode 100644 index 0000000..b94e55e Binary files /dev/null and b/7_dhcp/DNS_resolution.png differ diff --git a/7_dhcp/ar2dhcpcfg.png b/7_dhcp/ar2dhcpcfg.png new file mode 100644 index 0000000..87916d1 Binary files /dev/null and b/7_dhcp/ar2dhcpcfg.png differ diff --git a/7_dhcp/ar2dhcpcfg2.png b/7_dhcp/ar2dhcpcfg2.png new file mode 100644 index 0000000..3d8dd45 Binary files /dev/null and b/7_dhcp/ar2dhcpcfg2.png differ diff --git a/7_dhcp/ar2enable.png b/7_dhcp/ar2enable.png new file mode 100644 index 0000000..081742a Binary files /dev/null and b/7_dhcp/ar2enable.png differ diff --git a/7_dhcp/ar2ip.png b/7_dhcp/ar2ip.png new file mode 100644 index 0000000..877bce0 Binary files /dev/null and b/7_dhcp/ar2ip.png differ diff --git a/7_dhcp/ar2rip.png b/7_dhcp/ar2rip.png new file mode 100644 index 0000000..0861521 Binary files /dev/null and b/7_dhcp/ar2rip.png differ diff --git a/7_dhcp/ar3ip1.png b/7_dhcp/ar3ip1.png new file mode 100644 index 0000000..d3c3e12 Binary files /dev/null and b/7_dhcp/ar3ip1.png differ diff --git a/7_dhcp/ar3ip2.png b/7_dhcp/ar3ip2.png new file mode 100644 index 0000000..598ce5f Binary files /dev/null and b/7_dhcp/ar3ip2.png differ diff --git a/7_dhcp/ar3ip3.png b/7_dhcp/ar3ip3.png new file mode 100644 index 0000000..afbe297 Binary files /dev/null and b/7_dhcp/ar3ip3.png differ diff --git a/7_dhcp/ar3relay.png b/7_dhcp/ar3relay.png new file mode 100644 index 0000000..0217b1e Binary files /dev/null and b/7_dhcp/ar3relay.png differ diff --git a/7_dhcp/ar3relay2.png b/7_dhcp/ar3relay2.png new file mode 100644 index 0000000..d60a5d0 Binary files /dev/null and b/7_dhcp/ar3relay2.png differ diff --git a/7_dhcp/ar3rip.png b/7_dhcp/ar3rip.png new file mode 100644 index 0000000..f5332cc Binary files /dev/null and b/7_dhcp/ar3rip.png differ diff --git a/7_dhcp/dhcp.pdf b/7_dhcp/dhcp.pdf new file mode 100644 index 0000000..c47be1d Binary files /dev/null and b/7_dhcp/dhcp.pdf differ diff --git a/7_dhcp/dhcp.typ b/7_dhcp/dhcp.typ new file mode 100644 index 0000000..ef18aa8 --- /dev/null +++ b/7_dhcp/dhcp.typ @@ -0,0 +1,231 @@ +#import "labtemplate.typ": * +#show: nudtlabpaper.with(title: "DHCP与DNS配置", + author: "程景愉", + id: "202302723005", + training_type: "无军籍", + grade: "2023", + major: "网络工程", + department: "计算机学院", + advisor: "张军", + jobtitle: "工程师", + lab: "306-707", + date: "2025.09.28", + header_str: "《网络工程》实验报告", +) +#set page(header: [ + #set par(spacing: 6pt) + #align(center)[#text(size: 11pt)[《网络工程》实验报告]] + #v(-0.3em) + #line(length: 100%, stroke: (thickness: 1pt)) +],) + + #show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + #it.body + ] + +#outline(title: "目录",depth: 3, indent: 1em) +#pagebreak() +#outline( + title: [图目录], + target: figure.where(kind: image), +) + + #show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + #counter(heading).display() + // #h(0.5em) + #it.body + ] +#set enum(indent: 0.5em,body-indent: 0.5em,) +#pagebreak() + += 实验目的 +#para[ + 本实验旨在配置DHCP服务器,以确保客户端能够自动获取合法的IP地址、网关和DNS服务器信息,避免受到非法DHCP服务器的干扰。同时,通过配置DNS服务器,实现IP地址与主机名称的有效映射,从而提升网络管理的便捷性和安全性。 +] += 实验原理 +== DHCP +#para[ + DHCP,即动态主机配置协议(Dynamic Host Configuration Protocol),是一种网络管理协议,它允许主机从DHCP服务器动态获取IP地址,实现“即插即用”的网络连接方式。这一特性使得网络管理更加便捷,用户无需手动配置IP地址,即可快速接入网络,享受无缝的网络体验。 +] +=== DHCP工作原理 +#para[ + 假定DHCP 客户端进程监听的是 68 端口号,DHCP 服务端进程监听的是 67 端口号,主机通过下面介绍的4个步骤来获取到IP。 + #figure(image("DHCP.jpg",format:"png",width: 44%),caption:"DHCP工作原理") + + *DHCP发现:* + 客户端首先发起 DHCP 发现报文(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道 DHCP 服务器的地址,所以使用的是 UDP 广播通信,其使用的广播目的地址是 255.255.255.255(端口 67)并且使用 0.0.0.0(端口 68)作为源 IP 地址。DHCP 客户端将该 IP 数据报传递给链路层,链路层然后将帧广播到所有的网络中设备。 + + + *DHCP提供:* + DHCP 服务器收到 DHCP 发现报文时,用 DHCP 提供报文(DHCP OFFER) 向客户端做出响应。该报文仍然使用 IP 广播地址 255.255.255.255,该报文信息携带服务器提供可租约的 IP 地址、子网掩码、默认网关、DNS 服务器以及 IP 地址租用期。 + + + *DHCP请求:* + 客户端收到一个或多个服务器的 DHCP 提供报文后,从中选择一个服务器,并向选中的服务器发送 DHCP 请求报文(DHCP REQUEST进行响应,回显配置的参数。 + + *DHCP确认:* + 最后,服务端用 DHCP ACK 报文对 DHCP 请求报文进行响应,应答所要求的参数。一旦客户端收到 DHCP ACK 后,交互便完成了,并且客户端能够在租用期内使用 DHCP 服务器分配的 IP 地址。 +] + +=== DHCP续约 +#para[ + 在租用期内,客户端可以选择续约,即向 DHCP 服务器发送 DHCP REQUEST 报文,以延长租用期: + - 服务器如果同意继续租用,则用 DHCP ACK 报文进行应答,客户端就会延长租期。 + - 服务器如果不同意继续租用,则用 DHCP NACK 报文,客户端就要停止使用租约的 IP 地址。 +] +=== DHCP中继代理 +#para[ + DHCP 交互中,全程都是使用 UDP 广播通信。如果 DHCP 服务器和客户端不在同一个局域网内,加之路由器不会转发广播包,那么每个网络都需要配置一个 DHCP 服务器。为了解决这一问题,引入了 DHCP 中继代理。有了 DHCP 中继代理以后,对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。如@dhcp_relay 所示: + #figure(image("DHCP_relay.png",format:"png",width: 52%),caption:"DHCP中继代理工作原理") +- DHCP 客户端会向 DHCP 中继代理发送 DHCP 请求包,而 DHCP 中继代理在收到这个广播包以后,再以单播的形式发给 DHCP 服务器。 +- 服务器端收到该包以后再向 DHCP 中继代理返回应答,并由 DHCP 中继代理将此包广播给 DHCP 客户端。 +因此,DHCP 服务器即使不在同一个链路上也可以实现统一分配和管理 IP 地址。 + +] +== DNS +#para[ + DNS,即域名系统(Domain Name System),是互联网中的一种命名系统,用于将域名与IP地址相互映射。在互联网中,每个主机都有一个唯一的IP地址,但是IP地址不便于人们记忆,因此需要一个更易记的域名来代替。DNS系统通过将域名映射到IP地址,实现了域名与IP地址之间的转换,使得用户可以通过域名访问互联网上的各种服务。 +] +=== 域名的层级关系 +#para[ + 在DNS系统中,域名采用句点(.)进行分隔,例如www.server.com,句点用于标识不同层级之间的界限。域名的层级结构从右至左依次递增,右侧的层级高于左侧。这种命名方式源于域名的发明者为外国人,其思维方式与中国人有所不同。在描述地理位置时,外国人习惯从小范围到大范围依次描述(如XX街道 XX区 XX市 XX省),而中国人则倾向于从大范围到小范围(如XX省 XX市 XX区 XX街道)。 + + 在域名体系中,根域位于最顶层,其下为顶级域(如com),再往下为二级域(如server.com)。这种层级关系类似于树状结构,具体表现为: + #figure(image("DNS_hierarchy.png",format:"png",width: 50%),caption:"域名的层级关系") + - 根DNS服务器 + + - 顶级域DNS服务器(如com) + + - 权威DNS服务器(如server.com) + + 根域的DNS服务器信息被存储在互联网中的所有DNS服务器中。这一机制确保了任何DNS服务器都能够定位并访问根域DNS服务器。因此,客户端只需能够连接到任意一台DNS服务器,即可通过该服务器找到根域DNS服务器,并沿着层级结构逐步查询,最终定位到目标DNS服务器。 +] +=== 域名解析的工作流程 +#para[ + 浏览器在进行域名解析时,首先会检查自身的缓存,若未找到对应的IP地址,则会查询操作系统的缓存。如果仍未找到,浏览器会进一步检查本机的hosts文件。若在这些地方均未找到目标域名的IP地址,浏览器将向本地DNS服务器发起查询请求。查询过程如下: + #figure(image("DNS_resolution.png",format:"png",width: 100%),caption:"域名解析的工作流程") + 1. 客户端首先发送一个DNS请求,询问www.server.com的IP地址,并将请求发送至本地DNS服务器(即客户端TCP/IP设置中指定的DNS服务器地址)。本地DNS服务器接收到请求后,会先在其缓存中查找是否存在www.server.com的记录。若缓存中存在该记录,则直接返回对应的IP地址;若不存在,本地DNS服务器将向根域名服务器发起查询。 + + 2. 根域名服务器是DNS层次结构中的最高层级,虽然它不直接解析域名,但能够指示查询方向。根域名服务器接收到本地DNS的请求后,发现域名后缀为.com,因此回应:“www.server.com的域名由.com区域管理,你可以向.com顶级域名服务器查询。”随后,根域名服务器提供.com顶级域名服务器的地址。 + + 3. 本地DNS服务器根据根域名服务器提供的地址,向.com顶级域名服务器发起请求,询问www.server.com的IP地址。顶级域名服务器接收到请求后,回应:“www.server.com的域名由server.com区域的权威DNS服务器管理,你可以向该服务器查询。”同时,顶级域名服务器提供server.com权威DNS服务器的地址。 + + 4. 本地DNS服务器根据顶级域名服务器提供的地址,向server.com的权威DNS服务器发起请求,询问www.server.com的IP地址。权威DNS服务器是域名解析结果的最终来源,负责管理该域名的解析。权威DNS服务器查询后,将对应的IP地址(如X.X.X.X)返回给本地DNS服务器。 + + 5. 最后,本地DNS服务器将查询到的IP地址返回给客户端,客户端据此与目标服务器建立连接。 + + + 整个DNS域名解析过程类似于日常生活中向他人问路的过程,通过层层指引最终找到目标地址。 +] += 实验环境 +== 实验背景 +#para[ + 网工系的学生正在学习DHCP与DNS技术,需要通过实验验证DHCP服务器的配置和工作原理,以及DNS服务器的配置和域名解析过程。为此,需要搭建一个简单的网络拓扑,包括两台路由器和两台PC,通过配置DHCP服务器和DNS服务器,实现客户端自动获取IP地址和域名解析的功能。 +] +== 实验设备 +#para[ +#align(center)[#table( + columns: (auto, auto,auto), + rows:(1.5em,1.5em,2.8em), + inset: 10pt, + align: horizon+center, + table.header( + [*设备名称*], [*设备型号*], [*设备数量*] + ), + "路由器", "华为AR6120-S", "2", + "PC", "联想启天M410\nWindows 10", "2", +)] + +] += 实验步骤及结果 +== 实验拓扑 +#para[ + 按实验背景,绘制拓扑图如下: + #figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 44%),caption: "实验拓扑图") +] +== 按照拓扑图接线 +#para[ + 按照拓扑图接线。 + #figure(image("机柜背面连线.jpg",format: "jpg",fit:"stretch",width: 40%),caption: "机柜接线图") +] +== 配置基本网络 +=== 配置PC +#para[ + 配置PC1、PC2为“自动获得IP地址”、“自动获得DNS服务器地址”。 +] +=== 配置路由器IP地址 +#para[ + 按照拓扑图配置路由器的IP地址。 +1. 配置AR2路由器: + - 接口 `GE 0/0/0` 连接到 `AR3`,IP地址为 `192.168.60.2`。 + - 接口 `GE 0/0/1` 连接到 `PC3`,IP地址为 `192.168.30.2`。 +#figure(image("ar2ip.png",format: "png",fit:"stretch",width: 60%),caption: "配置AR2的IP地址") + +2. 配置AR3路由器: + - 接口 `GE 0/0/0` 连接到 `AR2`,IP地址为 `192.168.30.2/24`。 + - 接口 `GE 0/0/1` 连接到 `PC1`,IP地址为 `192.168.3.1/24`。 + - 接口 `GE 0/0/2` 连接到 `PC2`,IP地址为 `192.168.2.1/24`。 +#figure(table( + columns: (auto), + rows:(auto,auto,auto), + inset: 10pt, + align: horizon+center, + figure(image("ar3ip1.png",format: "png",fit:"stretch",width: 80%),), + figure(image("ar3ip2.png",format: "png",fit:"stretch",width: 80%),), + figure(image("ar3ip3.png",format: "png",fit:"stretch",width: 80%),), + stroke: none, + ),caption: "配置AR3的IP地址",kind: image) +] +=== 配置RIP协议使互通 +#para[ + 本次实验使用RIP协议,配置路由器使得各个网络互通: + #figure(image("ar2rip.png",format: "png",fit:"stretch",width: 40%),caption: "在AR2上配置RIP协议") + #figure(image("ar3rip.png",format: "png",fit:"stretch",width: 40%),caption: "在AR3上配置RIP协议") +] +== 配置DHCP服务器 +#para[ + 配置AR2为DHCP服务器。首先使能DHCP服务并创建地址池: + #figure(image("ar2enable.png",format: "png",fit:"stretch",width: 55%),caption: "使能DHCP服务并创建地址池") + 然后配置DHCP服务器的参数:网关、DNS服务器等。 + #figure(image("ar2dhcpcfg.png",format: "png",fit:"stretch",width: 70%),caption: "配置DHCP服务器的参数") + 给第二个网段创建地址池,并配置参数: + #figure(image("ar2dhcpcfg2.png",format: "png",fit:"stretch",width: 70%),caption: "配置另一个网段的参数") +] +== 配置DHCP中继 +#para[ + 配置AR3为DHCP中继代理,将DHCP请求转发到DHCP服务器。为此,进入两个与PC相连的接口,配置中继模式和DHCP服务器地址: + #figure(image("ar3relay.png",format: "png",fit:"stretch",width: 53%),caption: "配置DHCP中继代理") + #figure(image("ar3relay2.png",format: "png",fit:"stretch",width: 53%),caption: "在另一个接口配置DHCP中继代理") +] +== 验证DHCP服务器配置 +#para[ + 在PC1、PC2上查看IP地址、网关、DNS服务器等信息,验证DHCP服务器配置是否生效。 + #figure(image("2ip.png",format: "png",fit:"stretch",width: 70%),caption: "PC1的IP地址信息") + #figure(image("3ip.png",format: "png",fit:"stretch",width: 70%),caption: "PC2的IP地址信息") + #figure(image("2dns.png",format: "png",fit:"stretch",width: 70%),caption: "PC1的DNS服务器地址") + 其中,PC1的两张截图中先后IP地址不一致,这是因为后来为验证DNS服务器是否分配,补做了实验。图中显示,PC1、PC2分别获取到了合法的IP地址、网关和DNS服务器地址。 + #pagebreak() + 在AR2上查看DHCP地址分配情况: + #figure(image("disp2.png",format: "png",fit:"stretch",width: 70%),caption: "查看DHCP地址分配情况(3.0网段)") + 图中显示的已分配的IP地址`192.168.3.190`即是@pc1ip 中显示的PC1被分配到的IP地址。 + #pagebreak() + 另一个网段的也是如此: + #figure(image("disp1.png",format: "png",fit:"stretch",width: 70%),caption: "查看DHCP地址分配情况(2.0网段)") + 图中显示的已分配的IP地址`192.168.2.124`即是@pc2ip 中显示的PC2被分配到的IP地址。 + 以上结果表明,DHCP服务器配置成功,PC1、PC2能够自动获取合法的IP地址、网关和DNS服务器地址。 +] +#pagebreak() += 实验总结 +#para[ + 本次实验通过配置DHCP服务器和DNS服务器,实现了客户端自动获取IP地址和域名解析的功能。在实验过程中,我们了解了DHCP和DNS的工作原理,掌握了DHCP服务器和DNS服务器的配置方法,提升了网络管理的便捷性和安全性。 +] + +#pagebreak() +#show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + // #counter(heading).display() + // #h(0.5em) + #it.body +] +#bibliography("ref.yml",full: true,title: "参考文献",style:"gb-7714-2015-numeric") \ No newline at end of file diff --git a/7_dhcp/disp1.png b/7_dhcp/disp1.png new file mode 100644 index 0000000..f14eafd Binary files /dev/null and b/7_dhcp/disp1.png differ diff --git a/7_dhcp/disp2.png b/7_dhcp/disp2.png new file mode 100644 index 0000000..58db5b7 Binary files /dev/null and b/7_dhcp/disp2.png differ diff --git a/7_dhcp/labtemplate.typ b/7_dhcp/labtemplate.typ new file mode 100644 index 0000000..0bd3b4e --- /dev/null +++ b/7_dhcp/labtemplate.typ @@ -0,0 +1,153 @@ +#let times = "Times LT Pro" +#let times = "Times New Roman" +#let song = (times, "Noto Serif CJK SC") +#let hei = (times, "Noto Sans CJK SC") +#let kai = (times, "Noto Serif CJK SC") +#let xbsong = (times, "Noto Serif CJK SC") +#let fsong = (times, "Noto Serif CJK SC") +#let code = (times, "JetBrains Mono") +#let nudtlabpaper(title: "", + author: "", + id: "", + training_type:"", + grade: "", + major: "", + department: "", + advisor: "", + jobtitle: "", + lab: "", + date: "", + header_str: "", + body) = { + // Set the document's basic properties. + set document(author: author, title: title) + set page( + + margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm), + ) + + // Title row. + v(158pt) + align(center)[ + #block(text(weight: 700, size: 30pt, font: hei, tracking: 15pt, "网络工程")) + ] + align(center)[ + #block(text(weight: 700, size: 30pt, font: song, tracking: 15pt, "本科实验报告")) + ] + + v(103pt) + pad( + left: 1em, + right: 1em, + grid( + columns: (80pt, 1fr), + rows: (17pt, auto), + text(weight: 700, size: 16pt, font: song, "实验名称:"), + align(center, text(weight: "regular", size: 16pt, font: song, title)), + text(""), + line(length: 100%) + ) + // #block(text(weight: 700, 1.75em, title)) + // underline(text(weight: 700, size: 16pt, font: song, title)) + ) + + // Author information. + + v(82.5pt) + + grid( + columns: (0.25fr, 0.25fr, 0.25fr, 0.25fr), + rows: (15pt, 8pt, 15pt, 8pt, 15pt, 8pt, 15pt, 8pt, 15pt), + text(size: 14pt, font: song, tracking: 10pt, "学员姓名"), + align(center, text(size: 14pt, font: song, author)), + text(size: 14pt, font: song, tracking: 54pt, "学号"), + align(center, text(size: 14pt, font: times, id)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 9pt, "培养类型"), + align(center, text(size: 14pt, font: song, training_type)), + text(size: 14pt, font: song, tracking: 54pt, "年级"), + align(center, text(size: 14pt, font: times, grade)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 54pt, "专业"), + align(center, text(size: 14pt, font: song, major)), + text(size: 14pt, font: song, tracking: 9pt, "所属学院"), + align(center, text(size: 14pt, font: song, department)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 9pt, "指导教员"), + align(center, text(size: 14pt, font: song, advisor)), + text(size: 14pt, font: song, tracking: 54pt, "职称"), + align(center, text(size: 14pt, font: song, jobtitle)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 20pt, "实验室"), + align(center, text(size: 14pt, font: song, lab)), + text(size: 14pt, font: song, tracking: 9pt, "实验时间"), + align(center, text(size: 14pt, font: song, date)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + ) + + v(50.5pt) + align(center, text(font: hei, size: 15pt, "国防科技大学教育训练部制")) + + pagebreak() + + set page( + margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm), + numbering: "i", + number-align: center, + ) + + v(14pt) + align(center)[ + #block(text(font: hei, size: 14pt, "《本科实验报告》填写说明")) + ] + + v(14pt) + text("") + par(first-line-indent: 2em, text(font: song, size: 12pt, "实验报告内容编排应符合以下要求:")) + + par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(1)采用A4(21cm×29.7cm)白色复印纸,单面黑字。上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字从1开始连续编排,封面不编页码。")) + + par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为4号,其余各级标题为小4号;标题序号第一级用“一、”、“二、”……,第二级用“(一)”、“(二)” ……,第三级用“1.”、“2.” ……,第四级用“(1)”、“(2)” ……,分别按序连续编排。")) + + par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(3)正文插图、表格中的文字字号均为5号。")) + + pagebreak() + + set page( + margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm), + numbering: "1", + number-align: center, + ) + + set heading(numbering: "1.1") + // set text(font: hei, lang: "zh") + + show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + #counter(heading).display() + // #h(0.5em) + #it.body + ] + // Main body. + set par(justify: true) + + body +} + +#let para(t) = par(first-line-indent: 2em, text(font: song, size: 10.5pt, t)) \ No newline at end of file diff --git a/7_dhcp/pc1ip.jpg b/7_dhcp/pc1ip.jpg new file mode 100644 index 0000000..ec5cfc4 Binary files /dev/null and b/7_dhcp/pc1ip.jpg differ diff --git a/7_dhcp/ref.yml b/7_dhcp/ref.yml new file mode 100644 index 0000000..f7c8f3e --- /dev/null +++ b/7_dhcp/ref.yml @@ -0,0 +1,29 @@ +dnsRelayConfigurationGuide: + type: Web + title: 举例:配置DNS中继 - NetEngine AR6700V-L V600R024C00 配置指南-IP地址与服务配置 + author: 华为 + date: 2023-12-08 + url: + value: https://support.huawei.com/enterprise/zh/doc/EDOC1100412517/deb5da6 + abstract: 本文档提供了NetEngine AR6700V-L设备V600R024C00版本中配置DNS中继的详细步骤和配置指南。 + language: zh-Hans + +dhcpConfigurationMethodsSummary: + type: Web + title: DHCP的三种配置方式总结_dhcp select global-CSDN博客 + author: Duncelhy + date: 2020-08-04 + url: + value: https://blog.csdn.net/Duncelhy/article/details/107794965 + abstract: 文章总结了DHCP的三种配置方式,包括基本命令、global全局模式配置、interface配置方式和relay中继配置方式。 + language: zh-Hans + +huaweiDhcpRelayIntroductionAndExampleConfiguration: + type: Web + title: 华为---DHCP中继代理简介及示例配置_华为dhcp中继-CSDN博客 + author: 义一 + date: 2023-10-26 + url: + value: https://blog.csdn.net/lehe99/article/details/134012429 + abstract: 文章介绍了DHCP中继代理的基本概念、工作过程以及在华为设备上的示例配置。 + language: zh-Hans \ No newline at end of file diff --git a/7_dhcp/实验拓扑.png b/7_dhcp/实验拓扑.png new file mode 100644 index 0000000..3cc0664 Binary files /dev/null and b/7_dhcp/实验拓扑.png differ diff --git a/7_dhcp/机柜背面连线.jpg b/7_dhcp/机柜背面连线.jpg new file mode 100644 index 0000000..3bf81d7 Binary files /dev/null and b/7_dhcp/机柜背面连线.jpg differ diff --git a/8_acl/001接口.jpg b/8_acl/001接口.jpg new file mode 100644 index 0000000..7b1c764 Binary files /dev/null and b/8_acl/001接口.jpg differ diff --git a/8_acl/002接口.jpg b/8_acl/002接口.jpg new file mode 100644 index 0000000..8f51ce3 Binary files /dev/null and b/8_acl/002接口.jpg differ diff --git a/8_acl/003接口.jpg b/8_acl/003接口.jpg new file mode 100644 index 0000000..268ba51 Binary files /dev/null and b/8_acl/003接口.jpg differ diff --git a/8_acl/PC2-IP.jpg b/8_acl/PC2-IP.jpg new file mode 100644 index 0000000..b797121 Binary files /dev/null and b/8_acl/PC2-IP.jpg differ diff --git a/8_acl/PC3-IP.jpg b/8_acl/PC3-IP.jpg new file mode 100644 index 0000000..36b84c4 Binary files /dev/null and b/8_acl/PC3-IP.jpg differ diff --git a/8_acl/acl.html b/8_acl/acl.html new file mode 100644 index 0000000..e5c1217 --- /dev/null +++ b/8_acl/acl.html @@ -0,0 +1,123 @@ + + acl + + + + + + + + + + + + + +
+ +

什么是ACL?如何使用ACL? - 华为

+

什么是ACL?

+

访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
+ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。

+

为什么使用ACL?

+

ACL作为一个过滤器,设备通过应用ACL来阻止和允许特定流量的流入和流出,如果没有它,任何流量都会自由流入和流出,使得网络容易受到攻击。
+如下图所示,为保证财务数据安全,企业在路由设备上应用ACL可以阻止内网内部研发部门主机对财务服务器的访问,同时允许总裁办公室访问财务服务器。为了保护企业内网的安全,在路由设备上应用ACL可以封堵网络病毒常用的端口,防止Internet上的恶意流量入侵。
+img

+

ACL可以做什么?

+

借助ACL,可以实现以下功能:

+
    +
  • 提供安全访问:企业重要服务器资源被随意访问,企业机密信息容易泄露,造成安全隐患。使用ACL可以指定用户访问特定的服务器、网络与服务,从而避免随意访问的情况。
  • +
  • 防止网络攻击:Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。使用ACL可以封堵高危端口,从而达成为外网流量的阻塞。
  • +
  • 提高网络带宽利用率:网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。使用ACL实现对网络流量的精确识别和控制,限制部分网络流量从而保障主要业务的质量。
  • +
+

ACL的组成

+

ACL的每一条规则都会允许或者阻止特定的流量,在定义一条合理的ACL规则之前,需要了解其基本组成。

+
    +
  • ACL标识:使用数字或者名称来标识ACL。 +
      +
    • 使用数字标识ACL:不同的类型的ACL使用不同的数字进行标识。关于每类ACL编号的详细介绍,请参见 ACL的分类。
    • +
    • 使用名称标识ACL:可以使用字符来标识ACL,就像用域名代替IP地址一样,更加方便记忆。
    • +
    +
  • +
  • 规则:即描述匹配条件的判断语句。 +
      +
    • 规则编号:用于标识ACL规则,所有规则均按照规则编号从小到大进行排序。
    • +
    • 动作:包括permit/deny两种动作,表示设备对所匹配的数据包接受或者丢弃。
    • +
    • 匹配项:ACL定义了极其丰富的匹配项。包括生效时间段、IP协议( ICMP、TCP、UDP等)、源/目的地址以及相应的端口号(21、23、80等)。
    • +
    +
  • +
+

ACL的分类

+

随着ACL技术的发展,其种类越来越丰富,根据其不同的规则和使用场景,常用的可分为以下几类:

+

基本ACL

+

基本ACL规则只包含源IP地址,对设备的CPU消耗较少,可用于简单的部署,但是使用场景有限,不能提供强大的安全保障。

+

高级ACL

+

相较于基本ACL,高级ACL提供更高的扩展性,可以对流量进行更精细的匹配。通过配置高级ACL,可以阻止特定主机或者整个网段的源或者目标。除此之外,还可以使用协议信息(IP、 ICMP、TCP、UDP)去过滤相应的流量。

+

二层ACL

+

在公司的内部网络中,想对特定的终端进行访问权限控制,这时就需要二层ACL。使用二层ACL,可以根据源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息对流量进行管控。

+

用户ACL

+

由于企业内部同部门的工作人员的终端不在同一个网段难以管理,需要将其纳入一个用户组,并对其用户组进行访问权限管理,这时候就需要用户ACL。用户ACL在高级ACL的基础上增加了用户组的配置项,可以实现对不同用户组的流量管控。

+

如何使用ACL?

+

使用步骤

+

ACL的使用分为两个步骤:

+
    +
  1. 设置相应的ACL规则。
    +为ACL设置相关规则的时候,需要了解入口流量与出口流量,如下图所示:入口流量指的是进入设备(以路由器为例)接口的流量(无论来源是外部Internet还是内部网络),同理,出口流量指的是从设备接口流出的流量。
  2. +
+

img

+

入口流量与出口流量

+

当外部Internet访问内部网络时,通过路由器接口2的入口流量,其源IP地址为外部的公网IP;而当内部网络需要访问外部网络时,通过路由器的接口1的入口流量,其源IP地址则为内网的IP。

+
    +
  1. 将ACL应用在相应的设备接口的特定方向(in/out)上。
    +规则设置完成后,需要将ACL应用在设备的接口上才能正常工作。因为所有的路由和转发决策都是由设备的硬件做出的,所以ACL语句可以更快地执行。
  2. +
+

匹配机制

+

设备使用ACL的匹配机制如下图所示。

+

img

+

ACL的匹配机制

+

ACL规则的匹配遵循”一旦命中即停止匹配”的机制。当ACL处理数据包时,一旦数据包与某条ACL规则匹配,就会停止匹配,设备根据该条匹配的语句内容决定允许或者拒绝该数据包。如果数据包内容与ACL语句不匹配,那么将依次使用ACL列表中的下一条语句去匹配数据包直到列表的末尾。一般在ACL的列表末尾会有一条隐式的拒绝所有的语句,所以数据包与所有的规则都不匹配的情况下会被直接拒绝。此时设备不会将此数据包流入或流出接口,而是直接将其丢弃。

+

ACL的应用场景

+

在NAT中使用ACL

+

通过NAT的端口映射可使得外网访问内部网络。考虑到内部的网络安全,不可能允许所有的外部用户访问内部网络,这时可以设置ACL规则并应用在企业路由器上,使得特定的外网用户可以访问内部网络。

+

img

+

在NAT中使用ACL

+

如上图所示,当公网主机想建立与内网主机的通信时,其发向内部网络主机的流量经过 NAT 设备时,设备利用ACL对流量进行过滤,阻断了PC4对PC2的访问,同时允许PC3对PC1的访问。

+

在防火墙中使用ACL

+

防火墙用在内外网络边缘处,防止外部网络对内部网络的入侵,也可以用来保护网络内部大型服务器和重要的资源(如数据)。由于ACL直接在设备的转发硬件中配置,在防火墙中配置ACL在保护网络安全的同时不会影响服务器的性能。

+

img

+

在防火墙中使用ACL

+

如上图所示,在防火墙上配置ACL只允许外部特定主机PC A访问内部网络中的数据中心,并禁止其他外部主机的访问。

+

在QoS中使用ACL限制用户互访

+

ACL应用在QoS的流策略中,可以实现不同网段用户之间访问权限的限制,从而避免用户之间随意访问形成安全隐患。

+

img

+

使用ACL限制不同网段用户的互访

+

如上图所示,某公司为财务部和市场部规划了两个网段的IP地址。为了避免两个部门之间相互访问造成公司机密的泄露,可以在两个部门连接Router的接口的入方向上应用绑定了ACL的流策略,从而禁止两个部门的互访。

+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/8_acl/acl.md b/8_acl/acl.md new file mode 100644 index 0000000..5b192f8 --- /dev/null +++ b/8_acl/acl.md @@ -0,0 +1,112 @@ +# 什么是ACL?如何使用ACL? - 华为 + +## 什么是ACL? +访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。 +ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。 + +## 为什么使用ACL? + +ACL作为一个过滤器,设备通过应用ACL来阻止和允许特定流量的流入和流出,如果没有它,任何流量都会自由流入和流出,使得网络容易受到攻击。 +如下图所示,为保证财务数据安全,企业在路由设备上应用ACL可以阻止内网内部研发部门主机对财务服务器的访问,同时允许总裁办公室访问财务服务器。为了保护企业内网的安全,在路由设备上应用ACL可以封堵网络病毒常用的端口,防止Internet上的恶意流量入侵。 +![img](https://download.huawei.com/mdl/image/download?uuid=ed136e6e7b1a4fc19114768646780078) + +ACL可以做什么? + +借助ACL,可以实现以下功能: + +- 提供安全访问:企业重要服务器资源被随意访问,企业机密信息容易泄露,造成安全隐患。使用ACL可以指定用户访问特定的服务器、网络与服务,从而避免随意访问的情况。 +- 防止网络攻击:Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。使用ACL可以封堵高危端口,从而达成为外网流量的阻塞。 +- 提高网络带宽利用率:网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。使用ACL实现对网络流量的精确识别和控制,限制部分网络流量从而保障主要业务的质量。 + +## ACL的组成 + +ACL的每一条规则都会允许或者阻止特定的流量,在定义一条合理的ACL规则之前,需要了解其基本组成。 + +- **ACL标识**:使用数字或者名称来标识ACL。 + - 使用数字标识ACL:不同的类型的ACL使用不同的数字进行标识。关于每类ACL编号的详细介绍,请参见 ACL的分类。 + - 使用名称标识ACL:可以使用字符来标识ACL,就像用域名代替IP地址一样,更加方便记忆。 +- **规则**:即描述匹配条件的判断语句。 + - **规则编号**:用于标识ACL规则,所有规则均按照规则编号从小到大进行排序。 + - **动作**:包括permit/deny两种动作,表示设备对所匹配的数据包接受或者丢弃。 + - **匹配项**:ACL定义了极其丰富的匹配项。包括生效时间段、IP协议( ICMP、TCP、UDP等)、源/目的地址以及相应的端口号(21、23、80等)。 + +## ACL的分类 + +随着ACL技术的发展,其种类越来越丰富,根据其不同的规则和使用场景,常用的可分为以下几类: + +### 基本ACL + +基本ACL规则只包含源IP地址,对设备的CPU消耗较少,可用于简单的部署,但是使用场景有限,不能提供强大的安全保障。 + +### 高级ACL + +相较于基本ACL,高级ACL提供更高的扩展性,可以对流量进行更精细的匹配。通过配置高级ACL,可以阻止特定主机或者整个网段的源或者目标。除此之外,还可以使用协议信息(IP、 ICMP、TCP、UDP)去过滤相应的流量。 + +### 二层ACL + +在公司的内部网络中,想对特定的终端进行访问权限控制,这时就需要二层ACL。使用二层ACL,可以根据源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息对流量进行管控。 + +### 用户ACL + +由于企业内部同部门的工作人员的终端不在同一个网段难以管理,需要将其纳入一个用户组,并对其用户组进行访问权限管理,这时候就需要用户ACL。用户ACL在高级ACL的基础上增加了用户组的配置项,可以实现对不同用户组的流量管控。 + + +## 如何使用ACL? + +### 使用步骤 + +ACL的使用分为两个步骤: + +1. 设置相应的ACL规则。 + 为ACL设置相关规则的时候,需要了解入口流量与出口流量,如下图所示:入口流量指的是进入设备(以路由器为例)接口的流量(无论来源是外部Internet还是内部网络),同理,出口流量指的是从设备接口流出的流量。 + +![img](https://download.huawei.com/mdl/image/download?uuid=018f5f9d9a67476c966e64ec8d80b784) + +入口流量与出口流量 + +当外部Internet访问内部网络时,通过路由器接口2的入口流量,其源IP地址为外部的公网IP;而当内部网络需要访问外部网络时,通过路由器的接口1的入口流量,其源IP地址则为内网的IP。 + +2. 将ACL应用在相应的设备接口的特定方向(in/out)上。 + 规则设置完成后,需要将ACL应用在设备的接口上才能正常工作。因为所有的路由和转发决策都是由设备的硬件做出的,所以ACL语句可以更快地执行。 + +### 匹配机制 + +设备使用ACL的匹配机制如下图所示。 + +![img](https://download.huawei.com/mdl/image/download?uuid=6eccf9843bb24fe5965548936bf2abdf) + +ACL的匹配机制 + +ACL规则的匹配遵循”一旦命中即停止匹配”的机制。当ACL处理数据包时,一旦数据包与某条ACL规则匹配,就会停止匹配,设备根据该条匹配的语句内容决定允许或者拒绝该数据包。如果数据包内容与ACL语句不匹配,那么将依次使用ACL列表中的下一条语句去匹配数据包直到列表的末尾。一般在ACL的列表末尾会有一条隐式的拒绝所有的语句,所以数据包与所有的规则都不匹配的情况下会被直接拒绝。此时设备不会将此数据包流入或流出接口,而是直接将其丢弃。 + +## ACL的应用场景 + +### 在NAT中使用ACL + +通过NAT的端口映射可使得外网访问内部网络。考虑到内部的网络安全,不可能允许所有的外部用户访问内部网络,这时可以设置ACL规则并应用在企业路由器上,使得特定的外网用户可以访问内部网络。 + +![img](https://download.huawei.com/mdl/image/download?uuid=ea5831d3c218458099fcb50ccf8efcc5) + +在NAT中使用ACL + +如上图所示,当公网主机想建立与内网主机的通信时,其发向内部网络主机的流量经过 NAT 设备时,设备利用ACL对流量进行过滤,阻断了PC4对PC2的访问,同时允许PC3对PC1的访问。 + +### 在防火墙中使用ACL + +防火墙用在内外网络边缘处,防止外部网络对内部网络的入侵,也可以用来保护网络内部大型服务器和重要的资源(如数据)。由于ACL直接在设备的转发硬件中配置,在防火墙中配置ACL在保护网络安全的同时不会影响服务器的性能。 + +![img](https://download.huawei.com/mdl/image/download?uuid=18fcc117a9034e048e8d8f58a82f904b) + +在防火墙中使用ACL + +如上图所示,在防火墙上配置ACL只允许外部特定主机PC A访问内部网络中的数据中心,并禁止其他外部主机的访问。 + +### 在QoS中使用ACL限制用户互访 + +ACL应用在QoS的流策略中,可以实现不同网段用户之间访问权限的限制,从而避免用户之间随意访问形成安全隐患。 + +![img](https://download.huawei.com/mdl/image/download?uuid=4a3ec05a24454398b07a0ccfb8878de0) + +使用ACL限制不同网段用户的互访 + +如上图所示,某公司为财务部和市场部规划了两个网段的IP地址。为了避免两个部门之间相互访问造成公司机密的泄露,可以在两个部门连接Router的接口的入方向上应用绑定了ACL的流策略,从而禁止两个部门的互访。 diff --git a/8_acl/acl.pdf b/8_acl/acl.pdf new file mode 100644 index 0000000..b622e94 Binary files /dev/null and b/8_acl/acl.pdf differ diff --git a/8_acl/acl.typ b/8_acl/acl.typ new file mode 100644 index 0000000..35a9dda --- /dev/null +++ b/8_acl/acl.typ @@ -0,0 +1,315 @@ +#import "labtemplate.typ": * +#show: nudtlabpaper.with(title: "防火墙ACL配置", + author: "程景愉", + id: "202302723005", + training_type: "无军籍", + grade: "2023", + major: "网络工程", + department: "计算机学院", + advisor: "张军", + jobtitle: "工程师", + lab: "306-707", + date: "2025.09.28", + header_str: "《网络工程》实验报告", +) +#set page(header: [ + #set par(spacing: 6pt) + #align(center)[#text(size: 11pt)[《网络工程》实验报告]] + #v(-0.3em) + #line(length: 100%, stroke: (thickness: 1pt)) +],) + + #show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + #it.body + ] + +#outline(title: "目录",depth: 3, indent: 1em) +#pagebreak() +#outline( + title: [图目录], + target: figure.where(kind: image), +) + + #show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + #counter(heading).display() + // #h(0.5em) + #it.body + ] +#set enum(indent: 0.5em,body-indent: 0.5em,) +#pagebreak() + += 实验目的 +#para[ + 本实验旨在通过配置ACL,实现对网络流量的精确识别和控制,提高网络的安全性和稳定性。通过配置防火墙,实现对内外网络的访问控制,保护内部网络免受外部威胁。 +] += 实验原理 +== ACL +=== ACL概述 +#para[ + 访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。 + ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。 +] + +=== ACL的作用 +#para[ + ACL作为一个过滤器,设备通过应用ACL来阻止和允许特定流量的流入和流出,如果没有它,任何流量都会自由流入和流出,使得网络容易受到攻击。 + + 如@figure1 所示,为保证财务数据安全,企业在路由设备上应用ACL可以阻止内网内部研发部门主机对财务服务器的访问,同时允许总裁办公室访问财务服务器。为了保护企业内网的安全,在路由设备上应用ACL可以封堵网络病毒常用的端口,防止Internet上的恶意流量入侵。 + #figure( + image("download1.png",fit:"stretch",width: 55%), + caption: [ACL应用示例] + ) +] + +=== ACL的功能 +#para[ + 借助ACL,可以实现以下功能: + + - 提供安全访问:企业重要服务器资源被随意访问,企业机密信息容易泄露,造成安全隐患。使用ACL可以指定用户访问特定的服务器、网络与服务,从而避免随意访问的情况。 + - 防止网络攻击:Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。使用ACL可以封堵高危端口,从而达成为外网流量的阻塞。 + - 提高网络带宽利用率:网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。使用ACL实现对网络流量的精确识别和控制,限制部分网络流量从而保障主要业务的质量。 +] + +=== ACL的组成 +#para[ + ACL的每一条规则都会允许或者阻止特定的流量,在定义一条合理的ACL规则之前,需要了解其基本组成。 + + - ACL标识:使用数字或者名称来标识ACL。 + - 使用数字标识ACL:不同的类型的ACL使用不同的数字进行标识。关于每类ACL编号的详细介绍,请参见 ACL的分类。 + - 使用名称标识ACL:可以使用字符来标识ACL,就像用域名代替IP地址一样,更加方便记忆。 + - 规则:即描述匹配条件的判断语句。 + - 规则编号:用于标识ACL规则,所有规则均按照规则编号从小到大进行排序。 + - 动作:包括permit/deny两种动作,表示设备对所匹配的数据包接受或者丢弃。 + - 匹配项:ACL定义了极其丰富的匹配项。包括生效时间段、IP协议( ICMP、TCP、UDP等)、源/目的地址以及相应的端口号(21、23、80等)。 +] + +=== ACL的分类 +#para[ + 随着ACL技术的发展,其种类越来越丰富,根据其不同的规则和使用场景,常用的可分为以下几类: + + 基本ACL:基本ACL规则只包含源IP地址,对设备的CPU消耗较少,可用于简单的部署,但是使用场景有限,不能提供强大的安全保障。 + + 高级ACL:相较于基本ACL,高级ACL提供更高的扩展性,可以对流量进行更精细的匹配。通过配置高级ACL,可以阻止特定主机或者整个网段的源或者目标。除此之外,还可以使用协议信息(IP、 ICMP、TCP、UDP)去过滤相应的流量。 + + 二层ACL:在公司的内部网络中,想对特定的终端进行访问权限控制,这时就需要二层ACL。使用二层ACL,可以根据源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息对流量进行管控。 + + 用户ACL:由于企业内部同部门的工作人员的终端不在同一个网段难以管理,需要将其纳入一个用户组,并对其用户组进行访问权限管理,这时候就需要用户ACL。用户ACL在高级ACL的基础上增加了用户组的配置项,可以实现对不同用户组的流量管控。 + + 时间ACL:在某些特定的时间段内,对特定的流量进行管控,这时就需要时间ACL。时间ACL在高级ACL的基础上增加了时间段的配置项,可以实现对不同时间段的流量管控。 +] +=== ACL的使用步骤 +#para[ + ACL的使用分为两个步骤。 + + 设置相应的ACL规则:为ACL设置相关规则的时候,需要了解入口流量与出口流量,如@figure2 所示:入口流量指的是进入设备(以路由器为例)接口的流量(无论来源是外部Internet还是内部网络),同理,出口流量指的是从设备接口流出的流量。#figure( + image("download2.png",fit:"stretch",width: 60%), + caption: [入口流量与出口流量] + ) 当外部Internet访问内部网络时,通过路由器接口2的入口流量,其源IP地址为外部的公网IP;而当内部网络需要访问外部网络时,通过路由器的接口1的入口流量,其源IP地址则为内网的IP。 + + 应用ACL规则:规则设置完成后,需要将ACL应用在设备的接口上才能正常工作。因为所有的路由和转发决策都是由设备的硬件做出的,所以ACL语句可以更快地执行。 +] +=== ACL的匹配机制 +#para[ + 设备使用ACL的匹配机制如@figure3 所示。 + + #figure( + image("download3.png",fit:"stretch",width: 70%), + caption: [ACL的匹配机制] + ) + + ACL规则的匹配遵循”一旦命中即停止匹配”的机制。当ACL处理数据包时,一旦数据包与某条ACL规则匹配,就会停止匹配,设备根据该条匹配的语句内容决定允许或者拒绝该数据包。如果数据包内容与ACL语句不匹配,那么将依次使用ACL列表中的下一条语句去匹配数据包直到列表的末尾。一般在ACL的列表末尾会有一条隐式的拒绝所有的语句,所以数据包与所有的规则都不匹配的情况下会被直接拒绝。此时设备不会将此数据包流入或流出接口,而是直接将其丢弃。 +] + +=== ACL的应用场景 +#para[ + ACL的应用场景包括以下几个方面: + + + + 在NAT中使用ACL:通过NAT的端口映射可使得外网访问内部网络。考虑到内部的网络安全,不可能允许所有的外部用户访问内部网络,这时可以设置ACL规则并应用在企业路由器上,使得特定的外网用户可以访问内部网络。 #figure( + image("download4.png",fit:"stretch",width: 60%), + caption: [在NAT中使用ACL] + )如@figure4 所示,当公网主机想建立与内网主机的通信时,其发向内部网络主机的流量经过 NAT 设备时,设备利用ACL对流量进行过滤,阻断了PC4对PC2的访问,同时允许PC3对PC1的访问。 + + 在防火墙中使用ACL:防火墙用在内外网络边缘处,防止外部网络对内部网络的入侵,也可以用来保护网络内部大型服务器和重要的资源(如数据)。由于ACL直接在设备的转发硬件中配置,在防火墙中配置ACL在保护网络安全的同时不会影响服务器的性能。 #figure( + image("download5.png",fit:"stretch",width: 60%), + caption: [在防火墙中使用ACL] + )如@figure5 所示,在防火墙上配置ACL只允许外部特定主机PC A访问内部网络中的数据中心,并禁止其他外部主机的访问。 + + 在QoS中使用ACL限制用户互访:ACL应用在QoS的流策略中,可以实现不同网段用户之间访问权限的限制,从而避免用户之间随意访问形成安全隐患。 #figure( + image("download6.png",fit:"stretch",width: 60%), + caption: [使用ACL限制不同网段用户的互访] + )如@figure6 所示,某公司为财务部和市场部规划了两个网段的IP地址。为了避免两个部门之间相互访问造成公司机密的泄露,可以在两个部门连接Router的接口的入方向上应用绑定了ACL的流策略,从而禁止两个部门的互访。 +] +== 防火墙 +=== 防火墙基本原理 +#para[ + 防火墙是一种网络安全设备,用于监控和控制进出网络的流量,基于预定义的安全规则来允许或阻止数据包的传输。它通常部署在网络边界,用于保护内部网络免受外部威胁。 +] + +=== 接口工作模式 +#para[ + 防火墙的接口可以工作在以下三种模式之一: + + 路由模式:当防火墙位于内部网络和外部网络之间时,可同时为设备与内部网络、外部网络相连的接口分别配置不同网段的 IP 地址。报文在三层区域的接口间进行转发时,根据报文的 IP 地址来查找路由表。此时设备表现为一个路由器。 + + 透明模式:接口无 IP 地址。在网络中像连接交换机一样连接防火墙。此时无需修改任何已有的 IP 配置,防火墙就像一个交换机一样工作,内部网络和外部网络必须处于同一个子网。报文在防火墙当中不仅进行二层的交换,还会对报文进行高层分析处理。 + + 混合模式:如果防火墙既存在工作在路由模式的接口(有的接口具有 IP 地址),又存在工作在透明模式的接口(有的接口无 IP 地址),则防火墙工作在混合模式下。这种工作模式基本上是透明模式和路由模式的混合,目前只用于透明模式下提供双机热备的特殊应用中,别的环境下不建议使用。 +] + +=== 安全区域 +#para[ + 安全区域(简称区域)是一个或多个接口的集合。区域是防火墙功能实现的基础,当数据报文在不同的区域之间传递时,将会触发安全策略进行检查。默认区域包括: + + Untrust:外网,不安全网络,安全级别是 5。 + + DMZ:停火区,安全级别是 50。 + + Trust:内网,安全网络,安全级别是 85。 + + Local:管理接口、运行动态路由协议,安全级别是 100。 + 安全级别越大,安全级别越高,不同安全域的级别不能相同。 +] + +=== 安全策略 +#para[ + 安全策略是防火墙的核心功能,用于控制不同区域之间的流量通信。默认情况下,所有区域间不能通信。安全策略的匹配条件和动作包括: + + 策略匹配条件:源安全域,目的安全域,源地址,目的地址,用户,服务,应用,时间段。 + + 策略动作:允许,禁止。 + + 内容安全(可选,策略动作为允许的时候执行):反病毒,攻击防御,URL 过滤,文件过滤,内容过滤,应用行为控制,邮件过滤。 +] +#pagebreak() +=== 安全策略工作流程 +#para[ + 安全策略的工作流程如下: + 1. 对收到的流量进行检测,检测出流量的属性,包括:源安全区域、目的安全区域、源地址/地区、目的地址/地区、用户、服务(源端口、目的端口、协议类型)、应用和时间段。 + 2. 如果所有条件(流量属性)都匹配,则此流量成功匹配安全策略。如果其中有一个条件不匹配,则继续匹配下一条安全策略。以此类推,如果所有安全策略都不匹配,则防火墙会执行缺省安全策略的动作(默认为禁止)。 + 3. 如果流量成功匹配一条安全策略,防火墙会执行此安全策略的动作。如果动作为禁止,则防火墙会阻断此流量。如果动作为允许,则防火墙会判断安全策略是否引用了安全配置文件。如果引用了安全配置文件,则继续进行步骤 4 的处理;如果没有引用安全配置文件,则允许此流量通过。 +] + += 实验环境 +== 实验背景 +#para[ + 本实验基于华为USG6303E-AC防火墙,通过配置ACL实现以下需求: + + Trust 区域在工作时间(周一到周五 09:00-21:00)禁止访问 untrust 区域的娱乐类应用。 + + 允许 trust 区域访问 untrust 区域的其余流量。 + + 允许任意区域访问 DMZ 区域的 http、https、ftp 服务(使用服务组)。 + 配置步骤包括: + 1. 给接口设置 IP 地址。 + 2. 将接口加入区域。 + 3. 定义时间段对象、服务对象。 + 4. 设置安全策略。 +] +== 实验设备 +#para[ +#align(center)[#table( + columns: (auto, auto,auto), + rows:(2em,2em,3em), + inset: 10pt, + align: horizon+center, + table.header( + [*设备名称*], [*设备型号*], [*设备数量*] + ), + "防火墙", "华为USG6303E-AC", "1", + "PC", "联想启天M410 + Windows 10", "3", +)] + 另有网线若干。 +] += 实验步骤及结果 +== 实验拓扑 +#para[ + 按实验背景,绘制拓扑图如下: + #figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 80%),caption: "实验拓扑图") +] +== 按照拓扑图接线 +#para[ + 按照拓扑图接线。 + #figure(image("机柜正面连线.png",format: "jpg",fit:"stretch",width: 60%),caption: "机柜接线图") +] +== 配置基本网络 +=== 配置PC +#para[ + - 配置PC1的IP地址为`192.168.1.1/24`,网关为`192.168.1.2`; + #figure(image("trust区域电脑IP地址配置.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "配置PC1的IP地址") + - 配置PC2(Server)的IP地址为`172.130.80.1/24`,网关为`172.130.80.2`; + #figure(image("PC2-IP.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "配置PC2的IP地址") + - 配置PC3的IP地址为`10.13.1.1/24`,网关为`10.13.1.2`; + #figure(image("PC3-IP.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "配置PC3的IP地址") + - 配置管理PC的IP地址为`192.168.0.2/24`,网关为`192.168.0.1`。 + #figure(image("管理PC.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "配置管理PC的IP地址") + 这样配置之后,PC1、PC2、PC3分别属于`trust`、`dmz`、`untrust`区域;管理PC用于通过MGMT网口管理防火墙。 +] +== 配置防火墙 +=== 配置防火墙接口 +#para[ + 通过“网络”-“接口”配置防火墙的接口IP地址和区域信息总览: + #figure(image("接口配置前.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "配置防火墙接口前") + - 配置防火墙的GE0/0/1接口IP地址为`192.168.1.2/24`,区域为`trust`; + #figure(image("001接口.jpg",format: "jpg",fit:"stretch",width: 99%),caption: "配置防火墙的GE0/0/1接口") + - 配置防火墙的GE0/0/2接口IP地址为`172.130.80.2/24`,区域为`dmz`; + #figure(image("002接口.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "配置防火墙的GE0/0/2接口") + - 配置防火墙的GE0/0/3接口IP地址为`10.13.1.2/24`,区域为`untrust`。 + #figure(image("003接口.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "配置防火墙的GE0/0/3接口") + 查看配置结果: + #figure(image("接口配置后.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "配置防火墙接口后") +] +=== 配置安全策略 +#para[ + 通过“策略”-“安全策略”配置安全策略: + - 配置`trust`区域到`untrust`区域的安全策略,在工作时间禁止访问`untrust`区域: + #figure(image("安全策略a.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "配置trust区域在工作时间禁止访问untrust区域") + - 配置`trust`区域到`untrust`区域的安全策略,允许访问其余流量: + #figure(image("安全策略b.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "配置trust到untrust的安全策略") + - 创建包含http、https、ftp服务的服务组: + #figure(image("安全策略-服务组.jpg",format: "jpg",fit:"stretch",width: 90%),caption: "创建服务组") + - 使用创建的服务组配置`trust`区域到`dmz`区域的安全策略: + #figure(image("安全策略c.jpg",format: "jpg",fit:"stretch",width: 90%),caption: "配置trust到dmz的安全策略") + - 使用创建的服务组配置`untrust`区域到`dmz`区域的安全策略: + #figure(image("安全策略c1.jpg",format: "jpg",fit:"stretch",width: 90%),caption: "配置untrust到dmz的安全策略") + 配置完成之后,查看总览: + #figure(image("安全策略总览.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "安全策略总览") +] +== 验证配置 +#para[ + 在“系统”-“配置”-“时钟配置”中查看防火墙系统时间: + #figure(image("允许时间段.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "修查看系统时间") + 时间为非工作时间(22点),在PC1上ping untrust区域的PC3,可以ping通。 + + 修改系统时间为工作时间: + #figure(image("禁止时间段.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "修改系统时间") + 时间为工作时间(10点),在PC1上ping untrust区域的PC3,无法ping通。 + + 下面是两次ping的结果,trust区域电脑在不同时段内可或不可访问untrust区域: + #figure(image("trust区域电脑在不同时段内可or不可访问untrust区域.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "ping结果") + + 下面是防火墙上针对上述策略的命中次数变化,注意最右侧的命中次数变化,可以看到ping发出的4个请求被防火墙拦截: + #figure(table( + columns: (auto), + rows:(auto,auto), + inset: 10pt, + align: horizon+center, + figure(image("不命中.png",format: "png",fit:"stretch",width: 100%),), + figure(image("命中.png",format: "png",fit:"stretch",width: 100%),), + stroke: none, + ),caption: "防火墙命中次数变化",kind: image) + 即策略配置无误。 +] += 实验总结 +== 内容总结 +#para[ + 本实验基于华为USG6303E-AC防火墩,通过配置ACL实现了以下需求: + + Trust 区域在工作时间(周一到周五 09:00-21:00)禁止访问 untrust 区域。 + + 允许 trust 区域访问 untrust 区域的其余流量。 + + 允许任意区域访问 DMZ 区域的 http、https、ftp 服务(使用服务组)。 + 通过配置ACL,实现了对不同区域之间的流量通信进行了控制,保障了网络的安全。 +] +== 心得感悟 +#para[ + 通过本次实验,我学会了如何配置ACL,实现了对不同区域之间的流量通信进行了控制,保障了网络的安全。在实验过程中,我对防火墙的接口配置、安全策略配置有了更深入的了解,提高了自己的实际操作能力。 +] + +#show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + // #counter(heading).display() + // #h(0.5em) + #it.body +] +#pagebreak() +#bibliography("ref.yml",full: true,title: "参考文献",style:"gb-7714-2015-numeric") + + +/* +根据这个网站的格式示范https://github.com/typst/hayagriva/blob/main/docs/file-format.md +为这个网页生成.yml文件 +https://blog.csdn.net/jxjdhdnd/article/details/138009187 +*/ \ No newline at end of file diff --git a/8_acl/download1.png b/8_acl/download1.png new file mode 100644 index 0000000..68c9fe2 Binary files /dev/null and b/8_acl/download1.png differ diff --git a/8_acl/download2.png b/8_acl/download2.png new file mode 100644 index 0000000..33ca623 Binary files /dev/null and b/8_acl/download2.png differ diff --git a/8_acl/download3.png b/8_acl/download3.png new file mode 100644 index 0000000..0daeff7 Binary files /dev/null and b/8_acl/download3.png differ diff --git a/8_acl/download4.png b/8_acl/download4.png new file mode 100644 index 0000000..226ad2a Binary files /dev/null and b/8_acl/download4.png differ diff --git a/8_acl/download5.png b/8_acl/download5.png new file mode 100644 index 0000000..402585f Binary files /dev/null and b/8_acl/download5.png differ diff --git a/8_acl/download6.png b/8_acl/download6.png new file mode 100644 index 0000000..8b17f6a Binary files /dev/null and b/8_acl/download6.png differ diff --git a/8_acl/labtemplate.typ b/8_acl/labtemplate.typ new file mode 100644 index 0000000..0bd3b4e --- /dev/null +++ b/8_acl/labtemplate.typ @@ -0,0 +1,153 @@ +#let times = "Times LT Pro" +#let times = "Times New Roman" +#let song = (times, "Noto Serif CJK SC") +#let hei = (times, "Noto Sans CJK SC") +#let kai = (times, "Noto Serif CJK SC") +#let xbsong = (times, "Noto Serif CJK SC") +#let fsong = (times, "Noto Serif CJK SC") +#let code = (times, "JetBrains Mono") +#let nudtlabpaper(title: "", + author: "", + id: "", + training_type:"", + grade: "", + major: "", + department: "", + advisor: "", + jobtitle: "", + lab: "", + date: "", + header_str: "", + body) = { + // Set the document's basic properties. + set document(author: author, title: title) + set page( + + margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm), + ) + + // Title row. + v(158pt) + align(center)[ + #block(text(weight: 700, size: 30pt, font: hei, tracking: 15pt, "网络工程")) + ] + align(center)[ + #block(text(weight: 700, size: 30pt, font: song, tracking: 15pt, "本科实验报告")) + ] + + v(103pt) + pad( + left: 1em, + right: 1em, + grid( + columns: (80pt, 1fr), + rows: (17pt, auto), + text(weight: 700, size: 16pt, font: song, "实验名称:"), + align(center, text(weight: "regular", size: 16pt, font: song, title)), + text(""), + line(length: 100%) + ) + // #block(text(weight: 700, 1.75em, title)) + // underline(text(weight: 700, size: 16pt, font: song, title)) + ) + + // Author information. + + v(82.5pt) + + grid( + columns: (0.25fr, 0.25fr, 0.25fr, 0.25fr), + rows: (15pt, 8pt, 15pt, 8pt, 15pt, 8pt, 15pt, 8pt, 15pt), + text(size: 14pt, font: song, tracking: 10pt, "学员姓名"), + align(center, text(size: 14pt, font: song, author)), + text(size: 14pt, font: song, tracking: 54pt, "学号"), + align(center, text(size: 14pt, font: times, id)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 9pt, "培养类型"), + align(center, text(size: 14pt, font: song, training_type)), + text(size: 14pt, font: song, tracking: 54pt, "年级"), + align(center, text(size: 14pt, font: times, grade)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 54pt, "专业"), + align(center, text(size: 14pt, font: song, major)), + text(size: 14pt, font: song, tracking: 9pt, "所属学院"), + align(center, text(size: 14pt, font: song, department)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 9pt, "指导教员"), + align(center, text(size: 14pt, font: song, advisor)), + text(size: 14pt, font: song, tracking: 54pt, "职称"), + align(center, text(size: 14pt, font: song, jobtitle)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + text(size: 14pt, font: song, tracking: 20pt, "实验室"), + align(center, text(size: 14pt, font: song, lab)), + text(size: 14pt, font: song, tracking: 9pt, "实验时间"), + align(center, text(size: 14pt, font: song, date)), + text(""), + line(length: 100%), + text(""), + line(length: 100%), + ) + + v(50.5pt) + align(center, text(font: hei, size: 15pt, "国防科技大学教育训练部制")) + + pagebreak() + + set page( + margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm), + numbering: "i", + number-align: center, + ) + + v(14pt) + align(center)[ + #block(text(font: hei, size: 14pt, "《本科实验报告》填写说明")) + ] + + v(14pt) + text("") + par(first-line-indent: 2em, text(font: song, size: 12pt, "实验报告内容编排应符合以下要求:")) + + par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(1)采用A4(21cm×29.7cm)白色复印纸,单面黑字。上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字从1开始连续编排,封面不编页码。")) + + par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为4号,其余各级标题为小4号;标题序号第一级用“一、”、“二、”……,第二级用“(一)”、“(二)” ……,第三级用“1.”、“2.” ……,第四级用“(1)”、“(2)” ……,分别按序连续编排。")) + + par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(3)正文插图、表格中的文字字号均为5号。")) + + pagebreak() + + set page( + margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm), + numbering: "1", + number-align: center, + ) + + set heading(numbering: "1.1") + // set text(font: hei, lang: "zh") + + show heading: it => box(width: 100%)[ + #v(0.50em) + #set text(font: hei) + #counter(heading).display() + // #h(0.5em) + #it.body + ] + // Main body. + set par(justify: true) + + body +} + +#let para(t) = par(first-line-indent: 2em, text(font: song, size: 10.5pt, t)) \ No newline at end of file diff --git a/8_acl/ref.yml b/8_acl/ref.yml new file mode 100644 index 0000000..664d007 --- /dev/null +++ b/8_acl/ref.yml @@ -0,0 +1,13 @@ +huawei_acl: + type: Web + title: 什么是ACL?如何使用ACL? + author: 华为 + date: 2024-12-29 + url: + value: https://info.support.huawei.com/info-finder/encyclopedia/zh/ACL.html + abstract: ACL作为一个过滤器,设备通过应用ACL来阻止和允许特定流量的流入和流出,如果没有它,任何流量都会自由流入和流出,使得网络容易受到攻击。 + genre: 技术文档 + publisher: + name: 华为 + location: 中国 + language: zh-Hans \ No newline at end of file diff --git a/8_acl/step0.jpg b/8_acl/step0.jpg new file mode 100644 index 0000000..27ea37e Binary files /dev/null and b/8_acl/step0.jpg differ diff --git a/8_acl/trust区域电脑IP地址配置.jpg b/8_acl/trust区域电脑IP地址配置.jpg new file mode 100644 index 0000000..1b9957c Binary files /dev/null and b/8_acl/trust区域电脑IP地址配置.jpg differ diff --git a/8_acl/trust区域电脑在不同时段内可or不可访问untrust区域.jpg b/8_acl/trust区域电脑在不同时段内可or不可访问untrust区域.jpg new file mode 100644 index 0000000..aa7b8ee Binary files /dev/null and b/8_acl/trust区域电脑在不同时段内可or不可访问untrust区域.jpg differ diff --git a/8_acl/不命中.png b/8_acl/不命中.png new file mode 100644 index 0000000..bbf56be Binary files /dev/null and b/8_acl/不命中.png differ diff --git a/8_acl/允许时间段.jpg b/8_acl/允许时间段.jpg new file mode 100644 index 0000000..c83efa4 Binary files /dev/null and b/8_acl/允许时间段.jpg differ diff --git a/8_acl/命中.png b/8_acl/命中.png new file mode 100644 index 0000000..cc13a58 Binary files /dev/null and b/8_acl/命中.png differ diff --git a/8_acl/命中次数0.jpg b/8_acl/命中次数0.jpg new file mode 100644 index 0000000..4c217d0 Binary files /dev/null and b/8_acl/命中次数0.jpg differ diff --git a/8_acl/命中次数4.jpg b/8_acl/命中次数4.jpg new file mode 100644 index 0000000..f202b1e Binary files /dev/null and b/8_acl/命中次数4.jpg differ diff --git a/8_acl/安全策略-服务组.jpg b/8_acl/安全策略-服务组.jpg new file mode 100644 index 0000000..e1665b2 Binary files /dev/null and b/8_acl/安全策略-服务组.jpg differ diff --git a/8_acl/安全策略a.jpg b/8_acl/安全策略a.jpg new file mode 100644 index 0000000..59dfa52 Binary files /dev/null and b/8_acl/安全策略a.jpg differ diff --git a/8_acl/安全策略b.jpg b/8_acl/安全策略b.jpg new file mode 100644 index 0000000..dbf62a3 Binary files /dev/null and b/8_acl/安全策略b.jpg differ diff --git a/8_acl/安全策略c.jpg b/8_acl/安全策略c.jpg new file mode 100644 index 0000000..ca67e91 Binary files /dev/null and b/8_acl/安全策略c.jpg differ diff --git a/8_acl/安全策略c1.jpg b/8_acl/安全策略c1.jpg new file mode 100644 index 0000000..8441bdf Binary files /dev/null and b/8_acl/安全策略c1.jpg differ diff --git a/8_acl/安全策略总览.jpg b/8_acl/安全策略总览.jpg new file mode 100644 index 0000000..f3ac7fd Binary files /dev/null and b/8_acl/安全策略总览.jpg differ diff --git a/8_acl/实验拓扑.png b/8_acl/实验拓扑.png new file mode 100644 index 0000000..955a375 Binary files /dev/null and b/8_acl/实验拓扑.png differ diff --git a/8_acl/接口配置前.jpg b/8_acl/接口配置前.jpg new file mode 100644 index 0000000..1a069de Binary files /dev/null and b/8_acl/接口配置前.jpg differ diff --git a/8_acl/接口配置后.jpg b/8_acl/接口配置后.jpg new file mode 100644 index 0000000..65df77a Binary files /dev/null and b/8_acl/接口配置后.jpg differ diff --git a/8_acl/机柜正面连线.png b/8_acl/机柜正面连线.png new file mode 100644 index 0000000..93fe589 Binary files /dev/null and b/8_acl/机柜正面连线.png differ diff --git a/8_acl/禁止时间段.jpg b/8_acl/禁止时间段.jpg new file mode 100644 index 0000000..fb92650 Binary files /dev/null and b/8_acl/禁止时间段.jpg differ diff --git a/8_acl/管理PC.jpg b/8_acl/管理PC.jpg new file mode 100644 index 0000000..dd7c618 Binary files /dev/null and b/8_acl/管理PC.jpg differ diff --git a/ne_acl_nat/{09F7BBAB-FE8A-4179-88B8-D0CE79A4FF2F}.png.jpg b/ne_acl_nat/{09F7BBAB-FE8A-4179-88B8-D0CE79A4FF2F}.png.jpg new file mode 100755 index 0000000..a6d33c0 Binary files /dev/null and b/ne_acl_nat/{09F7BBAB-FE8A-4179-88B8-D0CE79A4FF2F}.png.jpg differ diff --git a/ne_acl_nat/{0AFE7467-6812-4645-8928-8A41B7F76CA8}.png.jpg b/ne_acl_nat/{0AFE7467-6812-4645-8928-8A41B7F76CA8}.png.jpg new file mode 100755 index 0000000..fa74edb Binary files /dev/null and b/ne_acl_nat/{0AFE7467-6812-4645-8928-8A41B7F76CA8}.png.jpg differ diff --git a/ne_acl_nat/{0C799B49-5A2A-4489-93CE-52FCE4107EAF}.png.jpg b/ne_acl_nat/{0C799B49-5A2A-4489-93CE-52FCE4107EAF}.png.jpg new file mode 100755 index 0000000..df14938 Binary files /dev/null and b/ne_acl_nat/{0C799B49-5A2A-4489-93CE-52FCE4107EAF}.png.jpg differ diff --git a/ne_acl_nat/{3130B440-A45F-4F6A-963B-FC6842B129B4}.png.jpg b/ne_acl_nat/{3130B440-A45F-4F6A-963B-FC6842B129B4}.png.jpg new file mode 100755 index 0000000..0779dfb Binary files /dev/null and b/ne_acl_nat/{3130B440-A45F-4F6A-963B-FC6842B129B4}.png.jpg differ diff --git a/ne_acl_nat/{439099AA-C26B-402C-B703-DC5F33668F10}.png.jpg b/ne_acl_nat/{439099AA-C26B-402C-B703-DC5F33668F10}.png.jpg new file mode 100755 index 0000000..e133e27 Binary files /dev/null and b/ne_acl_nat/{439099AA-C26B-402C-B703-DC5F33668F10}.png.jpg differ diff --git a/ne_acl_nat/{4504E254-7D90-446F-B958-15E8ED53427E}.png.jpg b/ne_acl_nat/{4504E254-7D90-446F-B958-15E8ED53427E}.png.jpg new file mode 100755 index 0000000..bf06c62 Binary files /dev/null and b/ne_acl_nat/{4504E254-7D90-446F-B958-15E8ED53427E}.png.jpg differ diff --git a/ne_acl_nat/{48B60014-DC56-4E5D-81B5-724DEC074977}.png.jpg b/ne_acl_nat/{48B60014-DC56-4E5D-81B5-724DEC074977}.png.jpg new file mode 100755 index 0000000..aa85108 Binary files /dev/null and b/ne_acl_nat/{48B60014-DC56-4E5D-81B5-724DEC074977}.png.jpg differ diff --git a/ne_acl_nat/{66F53063-17C3-456F-ADDD-7C2B342A5CBC}.png.jpg b/ne_acl_nat/{66F53063-17C3-456F-ADDD-7C2B342A5CBC}.png.jpg new file mode 100755 index 0000000..f3b46d9 Binary files /dev/null and b/ne_acl_nat/{66F53063-17C3-456F-ADDD-7C2B342A5CBC}.png.jpg differ diff --git a/ne_acl_nat/{69983ABF-FEA5-40A8-8599-1314C5597006}.png.jpg b/ne_acl_nat/{69983ABF-FEA5-40A8-8599-1314C5597006}.png.jpg new file mode 100755 index 0000000..1921d98 Binary files /dev/null and b/ne_acl_nat/{69983ABF-FEA5-40A8-8599-1314C5597006}.png.jpg differ diff --git a/ne_acl_nat/{69FE1283-679C-41C2-9BE7-53325B8D8CB4}.png.jpg b/ne_acl_nat/{69FE1283-679C-41C2-9BE7-53325B8D8CB4}.png.jpg new file mode 100755 index 0000000..6069b85 Binary files /dev/null and b/ne_acl_nat/{69FE1283-679C-41C2-9BE7-53325B8D8CB4}.png.jpg differ diff --git a/ne_acl_nat/{6F677CA3-A24D-454A-AFB8-0D1586B964EA}.png.jpg b/ne_acl_nat/{6F677CA3-A24D-454A-AFB8-0D1586B964EA}.png.jpg new file mode 100755 index 0000000..e9780c8 Binary files /dev/null and b/ne_acl_nat/{6F677CA3-A24D-454A-AFB8-0D1586B964EA}.png.jpg differ diff --git a/ne_acl_nat/{756DA508-57C0-41DF-9876-089C03642C26}.png.jpg b/ne_acl_nat/{756DA508-57C0-41DF-9876-089C03642C26}.png.jpg new file mode 100755 index 0000000..6b93af2 Binary files /dev/null and b/ne_acl_nat/{756DA508-57C0-41DF-9876-089C03642C26}.png.jpg differ diff --git a/ne_acl_nat/{7A842A95-71A6-4D59-9544-C6EC54B57A7D}.png.jpg b/ne_acl_nat/{7A842A95-71A6-4D59-9544-C6EC54B57A7D}.png.jpg new file mode 100755 index 0000000..60bf267 Binary files /dev/null and b/ne_acl_nat/{7A842A95-71A6-4D59-9544-C6EC54B57A7D}.png.jpg differ diff --git a/ne_acl_nat/{7AEF09C2-EF80-4552-BBF0-49DB6BBD315E}.png.jpg b/ne_acl_nat/{7AEF09C2-EF80-4552-BBF0-49DB6BBD315E}.png.jpg new file mode 100755 index 0000000..017dd71 Binary files /dev/null and b/ne_acl_nat/{7AEF09C2-EF80-4552-BBF0-49DB6BBD315E}.png.jpg differ diff --git a/ne_acl_nat/{7D4C06EC-6661-43C1-AE25-C9A2240EBEC4}.png.jpg b/ne_acl_nat/{7D4C06EC-6661-43C1-AE25-C9A2240EBEC4}.png.jpg new file mode 100755 index 0000000..13d06ef Binary files /dev/null and b/ne_acl_nat/{7D4C06EC-6661-43C1-AE25-C9A2240EBEC4}.png.jpg differ diff --git a/ne_acl_nat/{8E86C573-A5B8-4E7E-B859-06FD094814B3}.png.jpg b/ne_acl_nat/{8E86C573-A5B8-4E7E-B859-06FD094814B3}.png.jpg new file mode 100755 index 0000000..ff908e5 Binary files /dev/null and b/ne_acl_nat/{8E86C573-A5B8-4E7E-B859-06FD094814B3}.png.jpg differ diff --git a/ne_acl_nat/{8FEF3873-D501-4AE9-BCE6-067D94E167C1}.png.jpg b/ne_acl_nat/{8FEF3873-D501-4AE9-BCE6-067D94E167C1}.png.jpg new file mode 100755 index 0000000..0ce315e Binary files /dev/null and b/ne_acl_nat/{8FEF3873-D501-4AE9-BCE6-067D94E167C1}.png.jpg differ diff --git a/ne_acl_nat/{9BFE446C-C0B1-4AA7-923E-F49E3C21EA2E}.png.jpg b/ne_acl_nat/{9BFE446C-C0B1-4AA7-923E-F49E3C21EA2E}.png.jpg new file mode 100755 index 0000000..be62b97 Binary files /dev/null and b/ne_acl_nat/{9BFE446C-C0B1-4AA7-923E-F49E3C21EA2E}.png.jpg differ diff --git a/ne_acl_nat/{9EA985AA-193F-4359-AEDC-9A9A1C84CB31}.png.jpg b/ne_acl_nat/{9EA985AA-193F-4359-AEDC-9A9A1C84CB31}.png.jpg new file mode 100755 index 0000000..50a1e73 Binary files /dev/null and b/ne_acl_nat/{9EA985AA-193F-4359-AEDC-9A9A1C84CB31}.png.jpg differ diff --git a/ne_acl_nat/{A7288A77-1151-4422-BD6E-D3A6535F176B}.png.jpg b/ne_acl_nat/{A7288A77-1151-4422-BD6E-D3A6535F176B}.png.jpg new file mode 100755 index 0000000..b4ef257 Binary files /dev/null and b/ne_acl_nat/{A7288A77-1151-4422-BD6E-D3A6535F176B}.png.jpg differ diff --git a/ne_acl_nat/{A792096C-F1E8-4ABB-9259-50632B05E535}.png.jpg b/ne_acl_nat/{A792096C-F1E8-4ABB-9259-50632B05E535}.png.jpg new file mode 100755 index 0000000..c55a37c Binary files /dev/null and b/ne_acl_nat/{A792096C-F1E8-4ABB-9259-50632B05E535}.png.jpg differ diff --git a/ne_acl_nat/{B655EDE8-1516-4132-B688-C3C2FD777E31}.png.jpg b/ne_acl_nat/{B655EDE8-1516-4132-B688-C3C2FD777E31}.png.jpg new file mode 100755 index 0000000..0e0cc17 Binary files /dev/null and b/ne_acl_nat/{B655EDE8-1516-4132-B688-C3C2FD777E31}.png.jpg differ diff --git a/ne_acl_nat/{BF2863A6-221D-4B63-939A-FB04E29DD40A}.png.jpg b/ne_acl_nat/{BF2863A6-221D-4B63-939A-FB04E29DD40A}.png.jpg new file mode 100755 index 0000000..731f7ec Binary files /dev/null and b/ne_acl_nat/{BF2863A6-221D-4B63-939A-FB04E29DD40A}.png.jpg differ diff --git a/ne_acl_nat/{C00E943E-5BFD-4D6F-AD06-8F0EA7F9D2A2}.png.jpg b/ne_acl_nat/{C00E943E-5BFD-4D6F-AD06-8F0EA7F9D2A2}.png.jpg new file mode 100755 index 0000000..6f8b49d Binary files /dev/null and b/ne_acl_nat/{C00E943E-5BFD-4D6F-AD06-8F0EA7F9D2A2}.png.jpg differ diff --git a/ne_acl_nat/{C72A0245-FEC1-460A-A3D5-8E003BB473EE}.png.jpg b/ne_acl_nat/{C72A0245-FEC1-460A-A3D5-8E003BB473EE}.png.jpg new file mode 100755 index 0000000..326dfd3 Binary files /dev/null and b/ne_acl_nat/{C72A0245-FEC1-460A-A3D5-8E003BB473EE}.png.jpg differ diff --git a/ne_acl_nat/{CA370B81-115A-48C1-B2B7-BD44E0875CDC}.png.jpg b/ne_acl_nat/{CA370B81-115A-48C1-B2B7-BD44E0875CDC}.png.jpg new file mode 100755 index 0000000..f85e126 Binary files /dev/null and b/ne_acl_nat/{CA370B81-115A-48C1-B2B7-BD44E0875CDC}.png.jpg differ diff --git a/ne_acl_nat/{E90E5823-8943-487D-B284-15304BE4776C}.png.jpg b/ne_acl_nat/{E90E5823-8943-487D-B284-15304BE4776C}.png.jpg new file mode 100755 index 0000000..b5ceda9 Binary files /dev/null and b/ne_acl_nat/{E90E5823-8943-487D-B284-15304BE4776C}.png.jpg differ diff --git a/ne_acl_nat/{FE584710-87E3-45CD-A6E3-312103276F42}.png.jpg b/ne_acl_nat/{FE584710-87E3-45CD-A6E3-312103276F42}.png.jpg new file mode 100755 index 0000000..d89d795 Binary files /dev/null and b/ne_acl_nat/{FE584710-87E3-45CD-A6E3-312103276F42}.png.jpg differ diff --git a/ne_dhcp/IMG_20251010_102423.jpg b/ne_dhcp/IMG_20251010_102423.jpg new file mode 100755 index 0000000..e1b78cb Binary files /dev/null and b/ne_dhcp/IMG_20251010_102423.jpg differ diff --git a/ne_dhcp/IMG_20251010_102430.jpg b/ne_dhcp/IMG_20251010_102430.jpg new file mode 100755 index 0000000..32dcc9f Binary files /dev/null and b/ne_dhcp/IMG_20251010_102430.jpg differ diff --git a/ne_dhcp/{10D24689-5F4B-4A41-998F-5580DFCFE9D7}.png.jpg b/ne_dhcp/{10D24689-5F4B-4A41-998F-5580DFCFE9D7}.png.jpg new file mode 100755 index 0000000..eac812c Binary files /dev/null and b/ne_dhcp/{10D24689-5F4B-4A41-998F-5580DFCFE9D7}.png.jpg differ diff --git a/ne_dhcp/{241B9AC7-925A-449D-8EFB-04DB24ED8AEB}.png.jpg b/ne_dhcp/{241B9AC7-925A-449D-8EFB-04DB24ED8AEB}.png.jpg new file mode 100755 index 0000000..272460b Binary files /dev/null and b/ne_dhcp/{241B9AC7-925A-449D-8EFB-04DB24ED8AEB}.png.jpg differ diff --git a/ne_dhcp/{255F93F9-1B4A-4C0C-BF2B-D4D7601BCB47}.png.jpg b/ne_dhcp/{255F93F9-1B4A-4C0C-BF2B-D4D7601BCB47}.png.jpg new file mode 100755 index 0000000..ed6d5a9 Binary files /dev/null and b/ne_dhcp/{255F93F9-1B4A-4C0C-BF2B-D4D7601BCB47}.png.jpg differ diff --git a/ne_dhcp/{2FC5EBAA-B270-4031-B114-C97C4DB71355}.png.jpg b/ne_dhcp/{2FC5EBAA-B270-4031-B114-C97C4DB71355}.png.jpg new file mode 100755 index 0000000..e544af4 Binary files /dev/null and b/ne_dhcp/{2FC5EBAA-B270-4031-B114-C97C4DB71355}.png.jpg differ diff --git a/ne_dhcp/{6250455B-0485-49C7-A1FC-4AEF126F7593}.png.jpg b/ne_dhcp/{6250455B-0485-49C7-A1FC-4AEF126F7593}.png.jpg new file mode 100755 index 0000000..c78e839 Binary files /dev/null and b/ne_dhcp/{6250455B-0485-49C7-A1FC-4AEF126F7593}.png.jpg differ diff --git a/ne_dhcp/{8AE71E4C-6CDE-46B5-B4D3-C16762D38AA8}.png.jpg b/ne_dhcp/{8AE71E4C-6CDE-46B5-B4D3-C16762D38AA8}.png.jpg new file mode 100755 index 0000000..c4debd5 Binary files /dev/null and b/ne_dhcp/{8AE71E4C-6CDE-46B5-B4D3-C16762D38AA8}.png.jpg differ diff --git a/ne_dhcp/{8B6278B3-5739-465D-9079-8AA1899E17DA}.png.jpg b/ne_dhcp/{8B6278B3-5739-465D-9079-8AA1899E17DA}.png.jpg new file mode 100755 index 0000000..a1bc179 Binary files /dev/null and b/ne_dhcp/{8B6278B3-5739-465D-9079-8AA1899E17DA}.png.jpg differ diff --git a/ne_dhcp/{90164F17-D0D5-4EEF-A08F-D77CE97CCFFE}.png.jpg b/ne_dhcp/{90164F17-D0D5-4EEF-A08F-D77CE97CCFFE}.png.jpg new file mode 100755 index 0000000..4f30ce1 Binary files /dev/null and b/ne_dhcp/{90164F17-D0D5-4EEF-A08F-D77CE97CCFFE}.png.jpg differ diff --git a/ne_dhcp/{964D2B5C-301F-4FB3-9FF4-7C13F61AFDE8}.png.jpg b/ne_dhcp/{964D2B5C-301F-4FB3-9FF4-7C13F61AFDE8}.png.jpg new file mode 100755 index 0000000..5bbe02a Binary files /dev/null and b/ne_dhcp/{964D2B5C-301F-4FB3-9FF4-7C13F61AFDE8}.png.jpg differ diff --git a/ne_dhcp/{A1D5EC2A-6E50-4DD2-9D6F-96C0721281A2}.png.jpg b/ne_dhcp/{A1D5EC2A-6E50-4DD2-9D6F-96C0721281A2}.png.jpg new file mode 100755 index 0000000..5724c24 Binary files /dev/null and b/ne_dhcp/{A1D5EC2A-6E50-4DD2-9D6F-96C0721281A2}.png.jpg differ diff --git a/ne_dhcp/{B9103176-E31D-4238-930B-612DBFE42CF8}.png.jpg b/ne_dhcp/{B9103176-E31D-4238-930B-612DBFE42CF8}.png.jpg new file mode 100755 index 0000000..e22c771 Binary files /dev/null and b/ne_dhcp/{B9103176-E31D-4238-930B-612DBFE42CF8}.png.jpg differ diff --git a/ne_dhcp/{F32CDA55-6842-4F47-A226-D550FB9625A0}.png.jpg b/ne_dhcp/{F32CDA55-6842-4F47-A226-D550FB9625A0}.png.jpg new file mode 100755 index 0000000..bc8a303 Binary files /dev/null and b/ne_dhcp/{F32CDA55-6842-4F47-A226-D550FB9625A0}.png.jpg differ diff --git a/ne_dhcp/{F6D79D0C-AD44-40AE-A135-F79B4C7EA185}.png.jpg b/ne_dhcp/{F6D79D0C-AD44-40AE-A135-F79B4C7EA185}.png.jpg new file mode 100755 index 0000000..c9403c2 Binary files /dev/null and b/ne_dhcp/{F6D79D0C-AD44-40AE-A135-F79B4C7EA185}.png.jpg differ