端口聚合(又称为链路聚合),将交换机上的多个端口在物理上连接起来,在逻辑上捆绑在一起,形成一个拥有较大宽带的端口,可以实现负载分担,并提供冗余链路。
端口聚合使用的是EtherChannel特性,在交换机到交换机之间提供冗余的高速的连接方式。将两个设备之间多条FastEthernet或GigabitEthernet物理链路捆在一起组成一条设备间逻辑链路,从而增强带宽,提供冗余。
两台交换机到计算机的速率都是100M,SW1和SW2之间虽有两条100M的物理通道相连,可由于生成树的原因,只有100M可用,交换机之间的链路很容易形成瓶颈,使用端口聚合技术,把两个100M链路聚合成一个200M的逻辑链路,当一条链路出现故障,另一条链路会继续工作。
汇聚组内的端口号必须连续,但对起始端口无特殊要求。在一个端口汇聚组中,端口号最小的作为主端口,其他的作为成员端口。同一个汇聚组中成员端口的链路类型与主端口的链路类型保持一致,即如果主端口为Trunk端口,则成员端口也为Trunk端口;如主端口的链路类型改为Access端口,则成员端口的链路类型也变为Access端口。
所有参加聚合的端口都必须工作在全双工模式下,且工作速率相同才能进行聚合。并且聚合功能需要在链路两端同时配置方能生效。
一般指将多个VLAN通道合成一个通道,共享一个链路(它可以是一个物理链路,也可是一个逻辑链路链路聚合或端口聚合的口),即前面说的,这个口成为中继端口。这个口必须是TRUNK类型。vlan端口聚合解决的是二层交换机与路由器互联时的问题
生成树协议STP(Spanning Tree Protocol)将环形网络修剪成为一个无环的树型网络,避免报文在环形网络中的增生和无限循环。在一个复杂的网络环境中,难免会出现环路。由于冗余备份的需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份,这样都有可能会导致环路产生。环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起MAC地址表震荡导致MAC地址表项被破坏。为了破除环路,可以采用数据链路层协议STP,运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。
根桥:树形网络结构必须有树根,于是STP/RSTP引入了根桥(Root Bridge)概念。对于一个STP/RSTP网络,根桥有且只有一个,它是整个网络的逻辑中心,但不一定是物理中心。但是根据网络拓扑的变化,根桥可能改变。
BID(Bridge ID):桥ID。在STP网络中,桥ID最小的设备会被选举为根桥。
PID(Port ID):端口ID
路径开销(RPC):路径开销是STP/RSTP协议用于选择链路的参考值。STP/RSTP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。根设备的端口的路径开销都为0。在一个STP/RSTP网络中,某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的开销。
PC(port cost):PC的计算需要依据端口带宽来计算。
根端口(RP):即去往根桥路径最近的端口。根端口负责向根桥方向转发数据,根端口同时还负责接收上游设备的BPDU报文和用户流量转发。根端口的选择标准是依据根路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。在一个运行STP/RSTP协议的设备上根端口有且只有一个,而且根桥上没有根端口。
指定端口(DP):对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口。根桥的所有端口都是指定端口。在环网的每一网段都会选举出一个指定端口,在一个网段上拥有指定端口的交换设备被称作该网段的指定桥。
替代端口(AP):由于学习到其它设备发送的配置BPDU报文而阻塞的端口,作为根端口的备份端口,提供了从指定桥到根的另一条可切换路径。
1. Forwarding(转发):端口既转发用户流量也处理BPDU报文。 只有根端口或指定端口才能进入Forwarding状态。
2. Learning (学习): 设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。过渡状态,增加Learning状态防止临时环路。
3. Listening(监听): 确定端口角色,将选举出根桥、根端口和指定端口。过渡状态。(15s)
4. Blocking(阻塞): 端口仅仅接收并处理BPDU报文,不转发用户流量阻塞端口的最终状态。
5. Disabled(禁用): 端口既不处理BPDU报文,也不转发用户流量。 端口状态为Down。
静态路由:是指用户或网络管理员手工配置的路由信息。当网络拓扑结构或链路状态发生改变时,需要网络管理员手工配置静态路由信息。
默认路由:是一种特殊的静态路由,当路由表中与数据包目的地址没有匹配的表项时,数据包将根据默认路由条目进行转发。默认路由在某些时候是非常有效的,例如在末梢网络中,默认路由可以大大简化路由器的配置,减轻网络管理员的工作负担。
动态RIP:RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法,使用“跳数”(即metric)来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内。
动态OSPF:OSPF(Open Shortest Path First)开放式最短路径优先是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。
DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞,例如,用户可以允许E-mail通信流量被路由,拒绝所有的 Telnet通信流量等。
工作原理:ACL使用包过滤技术,在路由器上读取OSI七层模型的第3层和第4层包头中的信息。如源地址,目标地址,源端口,目标端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。
ACl是一组规则的集合,它应用在路由器的某个接口上。对路由器接口而言,访问控制列表有两个方向。
出:已经过路由器的处理,正离开路由器的数据包。
入:已到达路由器接口的数据包。将被路由器处理。
如果对路由器的某接口应用了ACL,那么路由器对数据包应用该组规则进行顺序匹配,使用匹配即停止的,不匹配则使用默认规则的方式来过滤数据包。
NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共 IP地址紧缺的问题。通过这种方法,可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部网络,所有内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。
无线局域网WLAN是一种利用无线技术实现主机等终端设备灵活介入以太网的技术,它使得网络的构建和终端的移动更加方便灵活。WLAN不仅可以作为有线局域网的补充和延伸,而且还可以与有线网络互为备份
瘦AP(FITAP):
本身并不能进行配置,需要一台专门的设备(无线控制器)进行集中控制管理配置。“控制器+瘦AP+路由器架构”一般用于无线网覆盖,因为在AP数量众多的时候,只通过控制器来管理配置,会简化很大的工作量.
DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
分配IP地址是PC连接网络第一个要进行的工作。大致流程为PC寻找DHCP服务器,并申请分配一个IP地址,DHCP服务器收到后,告知PC的IP地址。如下图
AAA服务器是认证服务器,存储用户信息(包括用户名称、密码和各种属性),在用户请求访问网络时,提供认证功能。AAA服务器通常同网络访问控制、网关服务器、数据库以及用户信息目录等协同工作。同AAA服务器协作的网络连接服务器接口是“远程身份验证拨入用户服务 (RADIUS)”。
AAA即
此次实验,选用Ubuntu下的freeradius作为认证服务器,mysql作为服务器存储用户信息
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
将FTP客户端和服务器端之间的“沟通”分为4个阶段:
1.启动FTP
客户通过FTP客户端软件,发起FTP交互式命令,告诉服务器,服务器上的FTP服务会接收到这个命令,并解析发来命令,然后发出回复信息,客户端对服务器说:“我想和你聊会天,可以吗?”2.建立控制连接
客户端TCP层会根据服务器的IP地址,向服务器提供FTP服务的21端口发出主动建立连接的请求,服务器接收到请求后,经过三次握手,客户端与服务器端就建立了一个TCP连接,就好比是我们在A地和B地之间传输货物,首先应该建立一条运送货物的通道。这个TCP连接称为控制连接,用户发出的FTP命令和服务器的回应都是依靠该连接来传送的,在用户退出前一直存在。3.建立数据连接,并进行文件传输
到目前为止,客户端和服务器端已经建立了聊天的通道,聊天过程中,对方觉得很投机,想互赠礼物(将客户端和服务器端进行文件的传输比喻为互赠礼物)怎么办,这个时候我们就需要一条通道来进行礼物的传输(将数据连接比喻为数据连接),那么是如何赠送礼物的?
(1)客户端通过控制连接发送一个上传文件的命令,会自己分配一个临时的TCP端口号。
(2)客户端通过控制连接向服务器发送一个命令告诉服务器自己的IP地址和临时端口号,然后发送一条上传文件的命令。(就好客户端要赠送礼物给服务器时,不只发送一个送礼物的命令,在这之前还要发送一条自我介绍的命令,即IP地址和端口号,来告诉服务器和他聊天的是哪一个客户)
(3)服务器接收到客户端的IP地址和临时端口号后,以这个IP地址和端口号为目标,使用服务器上的20端口(数据端口),向客户端发出主动建立连接的请求。
(4)客户端收到请求后,通过三次握手后就与服务器之间建立了另外一条TCP连接数据连接(好比礼物传输的通道)。
(5)客户端在自己的文件系统中选择要上传(赠送礼物)的文件。
(6)客户端将文件写入到文件传输的进程中(即网络流中)。
(7)文件传输完成后,由服务器主动关闭该数据的连接。4.关闭FTP
当用户退出FTP时,客户端发送退出命令,之后控制连接被关闭,FTP服务结束。
FTP连接过程使用TCP协议连接,并且会建立多个TCP连接。
域名系统(DNS,Domain Name System)是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
通常人们浏览网页时不会直接访问目标页面的IP地址,而是其域名,这是因为IP地址为数字的组合,不便于人们记忆,而域名由字母数字组成(不区分大小写),便于使用。DNS协议的作用就是将域名和IP地址相互映射。
DNS服务概述:
DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与ip地址的解析服务。
分为四个域
根域: “ . ” (全球有13台根服务器,10台美国,英,日,瑞士各一台)
顶级域:.com(商业机构) .cn(中国) .edu(教育) .gov(政府) .mil(军事) .net(网络) .org(非营利) .int(国际) in-addr.arpa(反向域)特殊
二级域:如.baidu.com等等
子域:比如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是(顶级域.com)的子域。
两种查询方式
递归查询
迭代查询
一般情况PC客户端到本地DNS服务器为递归查询,DNS服务器之间是迭代查询。
MUA(Mail User Agent)接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信;
MTA(Mail Transfer Agent) 通过SMTP协议发送、转发邮件;
MDA(Mail Deliver Agent)将MTA接收到的邮件保存到磁盘或指定地方,通常会进行垃圾邮件及病毒扫描;
MRA(Mail Receive Agent)负责实现IMAP与POP3协议,与MUA进行交互;
SMTP(Simple Mail Transfer Protocol)传输发送邮件所使用的标准协议;
IMAP(Internet Message Access Protocol)接收邮件使用的标准协议之一;
POP3(Post Office Protocol 3) 接收邮件使用的标准协议之一。
邮件服务器基本都由MTA,MDA,MRA 组成。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9nHQZYx-1592997150861)(https://i.loli.net/2020/06/20/XtB4W2uLZ36G5iA.jpg)]
SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。
SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。
NMP被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。如下图,
对于网络管理,我们面对的数据是设备的配置、参数、状态等信息,面对的操作是读取和设置;同时,因为网络设备众多,为了能及时得到设备的重要状态,还要求设备能主动地汇报重要状态,这就是报警功能。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UQi2mhTZ-1592997150873)(https://i.loli.net/2020/06/20/K5LFbP6aNpD2ECs.jpg)]
在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP代理(Agent)),代理实现设备与管理站的SNMP通信。
管理站与代理端通过MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向代理申请MIB中定义的数据,代理识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。
SNMP网络架构由三部分组成:NMS(网络管理站)、Agent(代理)、MIB(管理信息库)
NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。可以是一台专门用来进行网络管理的服务器,也可以指某个设备中之中管理功能的一个应用程序。
NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态
Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据,并响应NMS的请求,把管理数据汇报给发送请求的NMS。
Aent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。
任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB就是被管理对象的集合。它定义了被管理对象的一系列的属性:对象的名称、对象的访问权限和对象的数据
类型等。每个Agent都有自己的MIB。MIB也可以看做是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aRUK4QKf-1592997150876)(https://i.loli.net/2020/06/20/tqPb5gAXwe3YFMC.jpg)]
SNMP的工作过程:管理员需要向设备获取数据,所以SNMP提供了【读】操作;管理员需要向设备执行设置操作,所以SNMP提供了【写】操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了【Trap】操作。
管理站发送GetRequest报文,代理以GetResponse报文响应
管理站发送GetNextRequest报文,代理以GetResponse报文响应
管理站发送SetRequest报文,代理以SetResponse报文响应
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eKXgPgtb-1592997150886)(https://i.loli.net/2020/06/17/4YjEdbaqXMZBgQG.jpg)]
当代理出现问题,代理主动发送Trap报文告诉管理站
RMON(Remote Network Monitoring)远端网络监控, 最初的设计是用来解决从一个中心点管理各局域分网和远程站点的问题。RMON 规范是由 SNMP MIB 扩展而来。 RMON 中,网络监视数据包含了一组统计数据和性能指标,它们在不同的监视器(或称探测器)和控制台系统之间相互交换。结果数据可用来监控网络利用率,以用于网络规划,性能优化和协助网络错误诊断。当你在本地网络监控网络流量,根据流量大小、监控平台/接口、数据库类型等等,可以有许多不同的选择。
SNMP作为一个基于TCP/IP并在Internet互联网中应用最广泛的网管协议,网络管理员可以使用SNMP监视和分析网络运行情况,但是SNMP也有一些明显的不足之由于SNMP使用轮询采集数据,在大型网络中轮询会产生巨大的网络管理报文,从而导致网络拥塞; SNMP仅提供一般的验证,不能提供可靠的安全保证; 也不支持分布式管理,而采用集中式管理。由于只由网管工作站负责采集数据和分析数据,所以网管工作站的处理能力可能成为瓶颈。
为了提高传送管理报文的有效性、减少网管工作站的负载、满足网络管理员监控网段性能的需求,IETF开发了RMON用以解决SNMP在日益扩大的分布式互联中所面临的局限性。
RMON监视器可用两种方法收集数据:一种是通过专用的RMON探测器(probe),网管工作站直接从探测器获取管理信息并控制网络资源,这种方式可以获取RMON MIB的全部信息;另一种方法是将RMON代理直接植入网络设备(路由器、交换机、HUB等)使它们成为带RMON probe功能的网络设施,网管工作站用SNMP的基本命令与其交换数据信息,收集网络管理信息,但这种方式受设备资源限制,一般不能获取RMON MIB的所有数据,大多数只收集四个组的信息。
RMON MIB由一组统计数据、分析数据和诊断数据组成,不象标准MIB仅提供被管对象大量的关于端口的原始数据,它提供的是一个网段的统计数据和计算结果。RMON MIB按功能分成十个组。每个组有自己的控制表和数据表。其中,控制表可读写,数据表只读,控制表用于描述数据表所存放数据的格式。
RMON规范定义了RMON MIB ,它是对SNMP 框架的重要补充,其目标是要扩展SNMP 的MIB-II,使SNMP能更为有效、更为积极主动地监控远程设备。RMON MIB 分为10组。存储在每一组中的信息都是监视器从一个或几个子网中统计和收集的数据。
RMON定义了远程网络监视的管理信息库,以及SNMP管理站与远程监视器之间的接口。 一般来说,RMON的目标就是监视子网范围内的通信,从而减少管理站和被管理系统之间的通信负担。
undo terminal monitor Info: Current terminal monitor is off. sys Enter system view, return user view with Ctrl+Z. [Huawei]vlan 2 [Huawei-vlan2]q [Huawei]vlan 3 [Huawei-vlan3]q [Huawei]interface e0/0/1 [Huawei-Ethernet0/0/1]port link-type access [Huawei-Ethernet0/0/1]port default vlan 2 [Huawei-Ethernet0/0/1]q
其余端口同理,加入对应得VLAN
同VLAN:PC1 ping PC3,不同VLAN:PC1 ping PC2结果如下图:
相同VLAN间可以相互通信,不同VLAN间不能通信。
如图连接,并配置主机IP,掩码等;在两个交换机各自划分vlan 2,vlan 3并加入端口(方法见上)。
LSW1:
[Huawei]interface e0/0/3
[Huawei-Ethernet0/0/3]port link-type trunk
[Huawei-Ethernet0/0/3]port trunk allow-pass vlan 2 3
[Huawei-Ethernet0/0/3]q
LSW2同LSW1,
此时两交换机上的同VLAN间可相互通信。
同VLAN:PC1 ping PC3,不同VLAN:PC1 ping PC2 结果如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VCNpmX6e-1592997150925)(https://i.loli.net/2020/06/21/LfOGvhByFPUk6ib.png)]
LSW1:
[Huawei]interface Vlanif 2
[Huawei-Vlanif2]ip address 192.168.10.1 24
[Huawei-Vlanif2]q
[Huawei]interface Vlanif 3
[Huawei-Vlanif3]ip address 192.168.30.2 24
[Huawei-Vlanif3]q
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4mKcAoWd-1592997150928)(https://i.loli.net/2020/06/21/EBX4h86Y9RTyb7s.png)]
动态路由是基于某种路由协议来实现的。路由协议定义了路由器在与其他路由器通信时的一些规则。也就是说,路由协议规定了路由器是如何来学习路由的,是用什么标准来选择路由以及维护路由信息的等。
动态路由协议就像路由器之间用来交流信息的语言,通过它,路由之间可以共享网络连接信息和状态信息。动态路由协议不局限于路径和路由表的更新,当到达目的网络的最优路径出现问题时,动态路由协议可以在剩下的可用路径中,选择一个最优路径进行替代。
动态路由协议分类:常见的路由协议可以分为距离矢量路由协议和链路状态协议。
距离矢量路由协议:依据从源网络到目标网络所经过的路由器个数来选择路由,使用的是跳数度量。典型的协议如RIP和IGRP。
链路状态路由协议:链路状态路由协议会综合从源网络到目标网络的各条链路的情况来选择路由,使用多个度量。典型的协议如OSPF和IS-IS。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vuZISIxq-1592997150936)(https://i.loli.net/2020/06/21/4mDbWAatX6InKfw.png)]
在AR4中进行默认路由配置,使用命令:ip route-static 0.0.0.0 0.0.0.0 [下一跳]
查看路由表:
RIP路由协议使用跳数作为唯一的度量值,在RIP中规定了跳数的最大值为15,16跳视为不可达。RIP使用UDP的520号端口,路由器启动后,平均每隔30s就从每个启动的RIP协议的接口发送路由更新信息。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XMBuz6P1-1592997150951)(https://i.loli.net/2020/06/21/YRI5pxqGPJZFMKT.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLinMqL0-1592997150959)(https://i.loli.net/2020/06/21/rzQl5XaLmpUYxOZ.png)]
PC2pingPC3的结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0C7anVxp-1592997150967)(https://i.loli.net/2020/06/21/6GHCASDjPkYZRyf.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMyaj0sC-1592997150977)(https://i.loli.net/2020/06/21/AR87JuWZ1DbcCUI.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksha3OpR-1592997150982)(https://i.loli.net/2020/06/21/KtrYp89FkAdiwe4.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hCgilfY-1592997151000)(https://i.loli.net/2020/06/21/jt5wGCrENdAuysm.jpg)]
R2接口信息
R2 ospf路由信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FzRhIh2D-1592997151017)(https://i.loli.net/2020/06/21/E9rctZPQ2M38fYB.jpg)]
hello报文(建立和维护邻接关系)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcN7V6dc-1592997151023)(https://i.loli.net/2020/06/21/VvPtgHr35e7iQlU.jpg)]
5.2 DBD报文(两台路由器在邻接关系初始化时,用DBD报文来描述自己的LSDB,进行数据库的同步。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S2iFzLPI-1592997151025)(https://i.loli.net/2020/06/21/y7aiSV8OP1Tl692.jpg)]
LSR报文(两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的和哪些LSA是已经失效的,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pnwSlfAu-1592997151036)(https://i.loli.net/2020/06/21/aHSEiUNFowL3zGI.jpg)]
5.4 LSU报文(用来向对端Router发送其所需要的LSA或者泛洪自己更新的LSA,内容是多条LSA(全部内容)的集合。)
5.5 LSA报文(用来对接收到的LSU报文进行确认。内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。LSAck(Link StateAcknowledgment Packet)报文根据不同的链路以单播或组播的形式发送。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Pts5Wef-1592997151040)(https://i.loli.net/2020/06/21/7VWc2P58iLZGQX6.jpg)]
undo terminal monitor
sys
sys R1
dhcp enable
interface g0/0/0
ip address 192.168.1.1 24
quit
ip pool poo11
network 192.168.1.0 mask 24
gateway-list 192.168.1.1
dns-list 10.1.1.1
quit
interface g0/0/0
dhcp select global
quit
//两个接口不同地址池
dhcp enable
interface g0/0/1
ip address 192.168.2.1 24
quit
ip pool poo12
network 192.168.2.0 mask 24
gateway-list 192.168.2.1
dns-list 10.1.1.2
quit
interface g0/0/1
dhcp select global
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqIlTipe-1592997151055)(https://i.loli.net/2020/06/21/ZphueHC3gxLba2D.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nb2BXPyV-1592997151056)(https://i.loli.net/2020/06/21/ntmNucrFhZRJxjq.png)]
配置防火墙,禁止某种网络服务(防火墙在企业内网与外网之间)
配置ACL,过滤具有某种特点的分组。
配置NAT,在企业内部结构化分层使用NAT地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nqkx0qcv-1592997151060)(https://i.loli.net/2020/06/21/Jaey3YN7jKP8Cwg.png)]
基本配置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-udui8tjp-1592997151064)(https://i.loli.net/2020/06/21/hOCMj7LJn6bAwYi.png)]
LSW2命令:
undo terminal monitor
SYS
[Huawei]SYS AR1
[S1]Int G0/0/1
[S1-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[S1-GigabitEthernet0/0/1]Int G0/0/2
[S1-GigabitEthernet0/0/2]ip address 192.168.3.1 24
FW命令:
undo terminal monitor
SYS [SRG]interface G0/0/0
[SRG-GigabitEthernet0/0/0]ip address 192.168.1.100 255.255.255.0
[SRG-GigabitEthernet0/0/0]interface G0/0/1
[SRG-GigabitEthernet0/0/1]ip address 192.168.56.100 255.255.255.0
设置防火墙安全区域
[SRG]firewall zone trust
[SRG-zone-trust]add inter g0/0/0
[SRG-zone-trust]firewall zone untrust
[SRG-zone-untrust]add inter g0/0/1
部署默认路由到外网
[SRG]ip route-static 0.0.0.0 0.0.0.0 192.168.56.1 1 .
部署域间包过滤规则
[SRG]policy interzone trust untrust outbound
[SRG-policy-interzone-trust-untrust-outbound]policy 0
[SRG-policy-interzone-trust-untrust-outbound-0]action permit
[SRG-policy-interzone-trust-untrust-outbound-0]policy source 192.168.1. 0 0.0.0.255
部署NAT技术
[SRG-policy-interzone-trust-untrust-outbound-1]nat-policy interzone tru st untrust outbound
[SRG-nat-policy-interzone-trust-untrust-outbound]policy 1
[SRG-nat-policy-interzone-trust-untrust-outbound-1]action source-nat
[SRG-nat-policy-interzone-trust-untrust-outbound-1]policy source 192.16 8.1.0 0.0.0.255
[SRG-nat-policy-interzone-trust-untrust-outbound-1]easy-ip GigabitEther net 0/0/1
LSW2 命令:
//创建访问控制列表2000,设定规则禁止192.168.2.0网段(即PC3)访问
[S1]acl 2000
[S1-acl-basic-100]rule deny source 192.168.2.0 0.0.0.255
[S1-acl-basic-100]quit //在g0/0/2方向上应用此规则
[S1]int g0/0/2
[S1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000
防火墙及NAT测试:
PC1ping192.168.56.1,可以看到IP192.168.1.2映射为192.168.56.100
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-chwXsgZJ-1592997151067)(https://i.loli.net/2020/06/21/vg1RdD8Z2NuUa95.png)]
ACL测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Ov5CH6q-1592997151068)(https://i.loli.net/2020/06/21/6h9TP8NkbrxBnaW.png)]
配置过滤器后,不再能ping通!
配置WLAN基本业务
参与漫游的各个AP需要满足:
关联在同一AC上
配置相同的安全策略
配置相同的SSID
配置不同的业务VLAN
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bDjilYmV-1592997151074)(https://i.loli.net/2020/06/21/wgdYeH61yhNcIT5.png)]
配置核心交换机S1
undo terminal monitor
sys
sys S1
[S1]vlan batch 100 200
[S1]int g0/0/2
[S1-GigabitEthernet0/0/2]port link-type trunk
[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[S1-GigabitEthernet0/0/2]int g0/0/1
[S1-GigabitEthernet0/0/1]port link-type trunk
[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 100 200
[S1-GigabitEthernet0/0/1]quit
[S1]int vlan 100
[S1-Vlanif100]ip add 192.168.1.1 255.255.255.0
[S1-Vlanif100]dhcp select interface
[S1-Vlanif100]dhcp server dns-list 1.1.1.254 114.114.114.114
[S1-Vlanif100]quit
[S1]dhcp enable
配置接入层交换机S2
undo terminal monitor
sys
sys S2
[S2]vlan batch 100 200
[S2]int g0/0/1
[S2-GigabitEthernet0/0/1]port link-type trunk
[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[S2-GigabitEthernet0/0/1]quit
[S2]int g0/0/2
[S2-GigabitEthernet0/0/2]port link-type trunk
[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan 100 200
[S2-GigabitEthernet0/0/2]port trunk pvid vlan 200
[S2-GigabitEthernet0/0/2]quit
[S2]int g0/0/3
[S2-GigabitEthernet0/0/3]port link-type trunk
[S2-GigabitEthernet0/0/3]port trunk allow-pass vlan 100 200
[S2-GigabitEthernet0/0/3]port trunk pvid vlan 200
配置AC
undo terminal monitor
sys
[AC6005]vlan batch 100 200
[AC6005]int g0/0/1
[AC6005-GigabitEthernet0/0/1]port link-type trunk
[AC6005-GigabitEthernet0/0/1]port trunk allow-pass vlan 100 200
[AC6005-GigabitEthernet0/0/1]quit
[AC6005]dhcp enable
[AC6005]int vlan 200
[AC6005-Vlanif200]ip add 192.168.2.1 255.255.255.0
[AC6005-Vlanif200]dhcp select interface
[AC6005-Vlanif200]dhcp server dns-list 1.1.1.254 114.114.114.114
[AC6005-Vlanif200]quit
//建立AP组
[AC6005]wlan
[AC6005-wlan-view]ap-group name ap-group1
[AC6005-wlan-ap-group-ap-group1]quit
[AC6005-wlan-view]regulatory-domain-profile name default
[AC6005-wlan-regulate-domain-default]country-code CN
[AC6005-wlan-regulate-domain-default]quit
[AC6005-wlan-view]ap-group name ap-group1
[AC6005-wlan-ap-group-ap-group1]regulatory-domain-profile default
[AC6005-wlan-ap-group-ap-group1]quit
[AC6005-wlan-view]quit
[AC6005]capwap source interface Vlanif 200
//将AP加入新建的AP组中
[AC6005]wlan
[AC6005-wlan-view]ap auth-mode mac-auth
[AC6005-wlan-view]ap-id 0 ap-mac 00E0-FC2B-0C40
[AC6005-wlan-ap-0]ap-name area_1
[AC6005-wlan-ap-0]ap-group ap-group1
[AC6005-wlan-ap-0]quit
[AC6005]wlan
[AC6005-wlan-view]ap-id 1 ap-mac 00E0-FC57-7880
[AC6005-wlan-ap-1]ap-name area_2
[AC6005-wlan-ap-1]ap-group ap-group1
[AC6005-wlan-ap-1]quit
//配置WLAN
[AC6005-wlan-view]security-profile name wifi
[AC6005-wlan-sec-prof-wifi]security wpa-wpa2 psk pass-phrase hkt12345678 aes
[AC6005-wlan-sec-prof-wifi]quit
[AC6005-wlan-view]ssid-profile name wifi
[AC6005-wlan-ssid-prof-wifi]ssid wifi
[AC6005-wlan-ssid-prof-wifi]quit
[AC6005-wlan-view]vap-profile name wifi
[AC6005-wlan-vap-prof-wifi]forward-mode direct-forward
[AC6005-wlan-vap-prof-wifi]service-vlan vlan-id 100
[AC6005-wlan-vap-prof-wifi]security-profile wifi
[AC6005-wlan-vap-prof-wifi]ssid-profile wifi
[AC6005-wlan-vap-prof-wifi]quit
[AC6005-wlan-view]ap-group name ap-group1
[AC6005-wlan-ap-group-ap-group1]vap-profile wifi wlan 1 radio 0
[AC6005-wlan-ap-group-ap-group1]vap-profile wifi wlan 1 radio 1
[AC6005-wlan-ap-group-ap-group1]quit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CRCkVowZ-1592997151080)(https://i.loli.net/2020/06/21/2eoOjFSKWXskgla.png)]
//安装isc-dhcp-server
sudo apt-get install isc-dhcp-server
DHCP的主要配置文件有两个,分别位于 /etc/default/isc-dhcp-server 和 /etc/dhcp/dhcpd.conf。下面要做的就是对这两个文件进行配置。
$ sudo apt install net-tools
$ ifconfig
可以看到网卡名为ens33。
$ sudo vim /etc/default/isc-dhcp-server
$ sudo vim /etc/dhcp/dhcpd.conf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hFkSF1Gg-1592997151084)(https://i.loli.net/2020/06/17/lyISAZFGqfThaLX.png)]
$ sudo service isc-dhcp-server restart
$ sudo netstat -uap
重启服务可能会遇到问题,可以通过查看/var/log/syslog日志来排除故障
vim /var/log/syslog
拓扑图如下:
配置Cloud
PC调至DHCP获取ip地址
参考dhcpd.conf可知,DHCP服务器的IP地址池为192.168.43.20~192.168.43.21,故PC分到地址192.168.43.21。
PC截图如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-asKHGLq1-1592997151092)(https://i.loli.net/2020/06/17/DW7RUAuY6frsLqC.png)]
抓包如下:
$ sudo apt-get install mysql-server
$ sudo apt-get install freeradius freeradius-ldap freeradius-mysql
配置users文件
//停止运行freeradius
$ service freeradius stop
//配置users
$ vi /etc/freeradius/users
修改如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-StP3BuDl-1592997151095)(https://i.loli.net/2020/06/18/xc94SLfa71IbEwz.png)]
FreeRadius安装完后默认只允许本机的client客户端访问radius服务器,故添加代理主机,编辑文件clients.conf
$ vi clinets.conf
//关闭防火墙
$ iptables -F
//进入mysql
$ mysql -u root -p
//然后建立radius数据库
CREATE DATABASE radius;
$ freeradius -X
$ radtest steve testing localhost 1812 testing123
$ sudo apt-get install openssh-server;
//这里可以定义SSH的服务端口,默认端口是22
$ sudo vi /etc/ssh/sshd_config
//重启sshServer
/etc/init.d/ssh restart
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nB2Mhk3s-1592997151101)(https://i.loli.net/2020/06/20/8CoTxeVMfRDAUQP.png)]
$ sudo apt install bind9 bind9utils bind9-doc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sdyBP9ij-1592997151102)(https://i.loli.net/2020/06/18/BnbPJpAqOQiEU7j.png)]
options {
directory "/var/cache/bind";
recursion yes;
forwarders {
119.29.29.29;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on { 192.168.92.130; };
allow-transfer { none; };
};
//字段说明
recursion:是否开启DNS递归查询
forwarders:递归查询的DNS服务器
listen-on:监听的DNS服务器,一般为本机IP
allow-transfer:是否允许该服务器被其他DNS服务器查询
zone "keshe.com" { //你要配置的域名
type master;
file "/etc/bind/zones/db.keshe.com";
};
sudo mkdir zones
sudo cp db.local zones/db.cloud.com
sudo vim zones/db.cloud.com
$TTL 604800
@ IN SOA ns.cloud.com. root.cloud.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.cloud.com.
cloud.com. IN NS ns.keshe.com.
ns.keshe.com. IN A 192.168.92.130//本机ip
www.keshe.com. IN A 192.168.92.130
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6b1Ajdg4-1592997151109)(https://i.loli.net/2020/06/18/gyjo3N8sBkrEFUH.png)]
修改本地DNS服务器
//重启服务
$ sudo service bind9 restart
测试结果:
//安装Mailutils
$ sudo apt-get install mailutils
配置邮箱域名为:keshe.cc
//修改文件main.cf
$ sudo vi /etc/postfix/main.cf
将inet_interfaces = all更为inet_interfaces = loopback-only,保存退出。见下图:
//安装nmap
$ sudo apt install nmap
//使用nmap包扫描端口
$ nmap 127.0.0.1
添加邮箱域名解析
$ nslookup keshe.com
过程和上面一样,不做太多说明
使用sendMail发送邮件
邮箱接收
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ATRbVxHY-1592997151118)(https://i.loli.net/2020/06/20/sJXgtiK96VGmDv3.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J2EAIPuX-1592997151119)(https://i.loli.net/2020/06/20/ebimQy4qzOB5JYg.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cv8rgCuV-1592997151120)(https://i.loli.net/2020/06/20/MQbd8roECDk4KRJ.png)]
客户用“MAIL FROM”向服务器报告发信人的邮箱与域名
服务器向客户回应应答码“250”,代表请求命令完成
客户用“RCPT TO”命令向服务器报告收信人的邮箱与域名
服务器向客户回应应答码“250”,代表请求命令完成
客户用“DTAT”命令对报文的传送进行初始化
服务器回应“354”,表示可以进行邮件输入了
客户用连续的行向服务器传送报文的内容,每行以两字符的行结束标识(CR与LF)终止。报文以只有一个“.”的行结束
服务器向客户回应应答码“250”,代表请求命令完成
客户端发送“QUIT”命令
客户端发送“QUIT”命令
服务器收到命令后,回应应答码“221”,并结束会话
我们需要安装下面三个软件包:
$ sudo apt-get install snmpd snmp snmp-mibs-downloader
//先进行一次备份
$ sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd_bk.conf
$ sudo vi /etc/snmp/snmpd.conf
修改/etc/snmp/snmpd.conf文件,大概在45行,将下面的两行注释掉:
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
增加下面一行:
view systemonly included .1
//重启snmp服务并再次测试
$ sudo service snmpd restart
$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.4.3.0
iso.3.6.1.4.1.2021.4.3.0 = INTEGER: 945148
修改/etc/snmp/snmp.conf配置文件,将下面这一行(mibs :)注释掉
//重启snmp服务
$ sudo service snmpd restart
$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.4.3.0
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1950716 kB
可以看到,现在的输出就非常直观了!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IglAY99b-1592997151127)(https://i.loli.net/2020/06/20/vzLI7etqD8BdF1W.png)]
所谓共同体,把它理解为一个密码就行了,前面我们在使用snmpwalk命令获取主机的信息时,有一个-c public的参数,其实就是指定了这个共同体为public,这是默认的配置,当然在实际中,我们不可能使用默认的值,因此需要把它修改一下。
修改配置文件/etc/snmp/snmpd.conf,大概在52行,将下面的两行:
rocommunity public default -V systemonly
rocommunity6 public default -V systemonly
修改为:
rocommunity keshe123 default -V systemonly
rocommunity6 keshe123 default -V systemonly
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-myOJ8ACh-1592997151136)(https://i.loli.net/2020/06/17/VrD72PRMhxYwW8q.png)]
把共同体修改为keshe123了,重启snmp服务,通过命令观察一下:
snmpwalk -v 2c -c public localhost memTotalReal.0
snmpwalk -v 2c -c keshe123 localhost memTotalReal.0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRWgXNMa-1592997151138)(https://i.loli.net/2020/06/17/ypWuNH1kU2RVXMB.png)]
可以看到第一次获取信息不成功,因为我们已经更新了共同体,旧的public将不能再使用,否则认证失败就无法获取snmp提供的主机信息。
默认情况下,snmp服务只是对本地开启,是无法通过远程获取该主机的snmp信息的:
可以看到,161端口只对本机开放(161端口号是snmp服务的端口号),我们需要修改一下,让snmp服务对外开放。
修改/etc/snmp/snmpd.conf配置文件,大概在15行,将下面一行注释掉:
agentAddress udp:127.0.0.1:161
同时去掉下面这一行的注释:
#agentAddress udp:161,udp6:[::1]:161
重新启动snmp服务,再通过命令观察:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UD9IqbU0-1592997151152)(https://i.loli.net/2020/06/20/6OLVkqeA9PIJCgj.png)]
使用mib browser连接ubuntu地址,紧接着配置在ubuntu中配置的用户属性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVowZeFo-1592997151161)(https://i.loli.net/2020/06/17/7mNni4J21HDIuPF.png)]
连接成功并获取到linux的设备信息:
Linux ys-virtual-machine 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
报文序列:
5和6分别为请求设备信息报文和返回信息报文
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xt4jxpjr-1592997151179)(https://i.loli.net/2020/06/20/fEmqw48KojnvD9P.png)]
设置设备名称为keshe
可以看到使用set修改了sysName为keshe
报文:
SNMPv2的一个主要改进是GetBulkRequest PDU。这个PDU的目的是尽量减少查询大量管理信息时所进行的协议交换次数。GetBulkRequest PDU允许SNMPv2管理者请求得到在给定的条件下尽可能大的应答。 GetBulkRequest操作利用与GetNextRequest相同的选择原则,即总是顺序选择下一个对象。不同的是,利用GetBulkRequest,可以选择多个后继对象。 GetBulkRequest操作的基本工作过程如下:GetBulkRequest在变量绑定字段中放入一个(N+R)个变量名的清单。对于前N个变量名,查询方式与GetNextRequest相同。即,对清单中的每个变量名,返回它的下一个变量名和它的值,如果没有后继变量,则返回原变量名和一个endOfMibView的值。
mib-browser抓的报文不全,我用wireshark进行抓包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DJIYst1e-1592997151196)(https://i.loli.net/2020/06/20/4G9uFLyvXxKzEqc.png)]
消息格式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lIotAN8I-1592997151197)(https://i.loli.net/2020/06/20/FPuIDrO3RKQafiB.jpg)]
字段说明:
RequestID:请求报文的序列号。
MaxSize:消息发送者所能够容纳的消息最大字节,同时也表明了发送者能够接收到的最大字节数。
Flags:消息标识位,占一个字节。
SecurityModel:消息的安全模型值,取值为0~3。0表示任何模型,1表示采用SNMPv1安全模型,2表示采用SNMPv2c安全模型,3表示采用SNMPv3安全模型。
ContextEngineID:唯一识别一个SNMP实体。对于接收消息,该字段确定消息该如何处理;对于发送消息,该字段在发送一个消息请求时由应用提供。
ContextName:唯一识别在相关联的上下文引擎范围内部特定的上下文。
安全参数SecurityParameters又包括以下主要字段:
AuthoritativeEngineID:消息交换中权威SNMP的snmpEngineID,用于SNMP实体的识别、认证和加密。该取值在Trap、Response、Report中是源端的snmpEngineID,对Get、GetNext、GetBulk、Set中是目的端的snmpEngineID。
AuthoritativeEngineBoots:消息交换中权威SNMP的snmpEngineBoots。表示从初次配置时开始,SNMP引擎已经初始化或重新初始化的次数。
AuthoritativeEngineTime:消息交换中权威SNMP的snmpEngineTime,用于时间窗判断。
UserName:用户名,消息代表其正在交换。NMS和Agent配置的用户名必须保持一致。
AuthenticationParameters:认证参数,认证运算时所需的密钥。如果没有使用认证则为空。
PrivacyParameters:加密参数,加密运算时所用到的参数,比如DES CBC算法中形成初值IV所用到的取值。如果没有使用加密则为空。
对于SNMP来说,数据首先经过BER编码,再经由传输层协议(一般是UDP)发送给接收方,接收方在SNMP端口收到PDU,经过BER解码后,得到具体的SNMP操作数据。
BER编码后生成的结构为类型-长度-值三元组,简称TLV(Type, Length, Value)
TLV每个域都是一系列八位组
• T字段表达数据的类型信息
• L字段是值的长度
• V字段包含实际的数据
• 值部分还可以递归地再编码为TLV结构
以Get-Request为例:
30 | 表示SNMP协议报文 |
---|---|
28 | 消息长度38字节(表示后面还有28个字节的内容) |
02 01 01 | 表示这个报文的协议为SNMPv2(02表示integer 01表示长度为1个字节) |
04 | 表示msgGlobalData为一个Sequence |
08 | 表示该子报文的长度为8字节 |
6B 65 73 | 表示对应的msgID |
68 65 31 32 33 | 表示对应msgMaxSize |
A0 19 02 | 表示对应的是msgFlags:A0 |
01 08 02 | 表示对应的msgSecurityModel |
01 00 | 引擎ID |
02 01 | 表示接下来从msgAuthoritativeEngineID到msgPrivacyParameters为一个Sequence |
00 30 | 表示msgAuthoritativeEngineID长度为0,没有内容 |
0E 30 0C | 表示msgAuthoritativeEngineBoots |
06 08 2B | 表示msgAuthoritativeEngineTime |
06 01 | 表示msgUserName为Octect String类型,长度为1 |
02 01 | 表示msgAuthenticationParameters为Octect String类型,长度为1 |
01 01 | 表示msgPrivacyParameters为Octect String类型,长度为1 |
05 00 05 | 表示error-index为0 |
ntopng是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控。支持跨平台,包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用Redis键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng,只需使用任一web浏览器,就能实时访问服务器上的流量报告了。
特性
- 按各种协议对网络通信排序
- 显示网络通信和IPv4/v6的激活主机
- 持续不断以RRD格式存储定位主机的通信数据到磁盘
- 通过nDPI,ntop的DPI框架,发现应用协议
- 显示各种协议间的IP通信分布
- 分析IP通信,并根据源/目的地址进行排序
- 显示IP通信子网的矩阵(谁在和谁通信?)
- 报告按协议类型排序的IP协议使用率
- 生成HTML5/AJAX网络通信数据
//RMON在centos系统实现
//安装ntopng
yum groupinstall ‘Development Tools’
yum install tcl
wget http://sourceforge.net/projects/ntop/files/ntopng/ntopng-1.1_6932.tgz/download# tar zxfv ntopng-1.1_6932.tgz# cd ntopng-1.1_6932# ./configure# make# make install
//安装libpcap
yum install libpcap libpcap-devel
//安装Redis
wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz# tar zxfv redis-2.6.13.tar.gz# cd redis-2.6.13# make 32bit# make test# make install
如果一切都已安装完毕,那么我们该来运行它了。默认情况下,如果我们在./configure这一步没有明确修改安装文件夹的话,redis和ntopng将安装到/usr/local/文件夹。接下来,我们需要为ntopng创建配置文件。
cd /usr/local/etc# mkdir ntopng# cd ntopng# vi ntopng.start
放入:
--local-network "10.0.2.0/24"--interface 1
//编辑ntopng.pid
vi ntopng.pid
放入:
-G=/var/run/ntopng.pid
//运行redis服务器。
/usr/local/bin/redis-server
Starting Redis Server
//运行ntopng
/usr/local/bin/ntopng
Starting Ntopng
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fdL3cbqK-1592997151202)(https://i.loli.net/2020/06/20/OcrXiJjlY2dM7fW.png)]
download# tar zxfv ntopng-1.1_6932.tgz# cd ntopng-1.1_6932# ./configure# make# make install
[外链图片转存中...(img-E5q64RWZ-1592997151200)]
//安装libpcap
yum install libpcap libpcap-devel
//安装Redis
wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz# tar zxfv redis-2.6.13.tar.gz# cd redis-2.6.13# make 32bit# make test# make install
[外链图片转存中...(img-riWq4KNM-1592997151201)]
### 13.2 为ntopng创建配置文件
如果一切都已安装完毕,那么我们该来运行它了。默认情况下,如果我们在./configure这一步没有明确修改安装文件夹的话,redis和ntopng将安装到/usr/local/文件夹。接下来,我们需要为ntopng创建配置文件。
cd /usr/local/etc# mkdir ntopng# cd ntopng# vi ntopng.start
放入:
–local-network “10.0.2.0/24”–interface 1
//编辑ntopng.pid
vi ntopng.pid
放入:
-G=/var/run/ntopng.pid
### 13.3 运行
//运行redis服务器。
/usr/local/bin/redis-server
Starting Redis Server
//运行ntopng
/usr/local/bin/ntopng
Starting Ntopng
1. 访问ntopng网站来测试ntopng应用。账号:admin 密码:admin
[外链图片转存中...(img-fdL3cbqK-1592997151202)]
2. 流量通信者页面。
3. 活动流量细节。
4. 应用协议