diff --git "a/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\344\272\224\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" "b/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\344\272\224\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..309e5143e421e1cc39b654cfd03f94182d586b3f --- /dev/null +++ "b/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\344\272\224\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" @@ -0,0 +1,71 @@ +# 实验目的: + +- 理解端口聚合基本原理 + +- 掌握一般交换机端口聚合的配置方法 + +- 负载均衡 + + + +## 二、实验背景: + +- 公司财务部和销售部的PC通过2台交换机进行频繁通信,为提高链路之间的带宽,保证网络通信的稳定性;同时提供链路冗余,避免链路单点故障,从而影响关键节点的大面积断网,可考虑采用端口聚合技术来实现。 + +## 三、技术原理: + +- 端口/链路聚合,是指把交换机上多个物理端口捆绑合成一个逻辑端口(称为Aggregate Port),这样在交换机之间形成一条拥有较大宽带的链路(etherchannel),还可以实现负载均衡,并提供冗余链路。 + - 提高链路宽带,当交换机之间存在多条冗余链路,由于生成树的原因,实际带宽仍只有一条物理链路的带宽,很容易形成网络瓶颈。采用端口聚合后,单条逻辑链路的带宽,等于所有物理链路的总和。 + - 支持负载均衡,可根据报文的MAC 地址、IP 地址等特征值把流量均匀地分配给各成员链路,避免单根链路流量饱和。 + - 提供链路备份,当一条成员链路断开时,该成员链路的流量将自动地分配到其它有效成员链路上去。 + - 防止网络环路,聚合链路组内成员链路收到的广播或者多播报文,将不会被转发到其它成员链路上。 +- 在一个端口汇聚组(channel-group)中,端口号最小的作为主端口,其他的作为成员端口。聚合端口的特性必须一致,包括接口速率、双工模式、链路类型、VLAN属性等,并且聚合功能需要在链路两端同时配置方能生效。 + - 一台S2000系列以太网交换机只能有1个汇聚组,1个汇聚组最多可以有4个端口。组内的端口号必须连续,但对起始端口无特殊要求。 + - 端口聚合成一个独立的逻辑端口后,不能再对成员端口单独配置,应在Aggregate Port模式下进行配置,且不能开启端口安全功能。 +- 实验设备:Switch_2960 2台;PC 4台;直通线;交叉线。 + +## 四、实验拓扑: + +![20240420114040](https://oss.9ihub.com/test/20240420114040.png) + +## 五、实验步骤: + +1. 按拓扑图搭建网络,并为交换机提供冗余链路 +2. 选择编号连续的端口进行配置 +3. 将连续的多端口加入链路组并开启 +4. 为聚合链路开启均衡负载功能 + +```js +PC设置 +192.168.1.2 //PC0 +192.168.1.3 //PC1 +192.168.1.4 //PC2 +192.168.1.5 //PC3 +//子网掩码和网关 +255.255.255.0 +192.168.1.1 + +``` + +Switch0和Switch1配置 + +```js +Switch>en +Switch#conf t +Switch(config)#inter range f0/23-24 +Switch(config-if-range)#switch mode trunk //将端口配置为Trunk模式 +Switch(config-if-range)#channel-group 1 mode on //加入链路组1并开启 +Switch(config-if-range)#ex +Switch(config)#port-channel load-balance dst-ip //按目的IP地址来实现负载均衡 +Switch(config)#ex +Switch#show etherchannel summary //显示以太通道信息 +Switch#show interfaces etherchannel //显示聚合端口信息 +``` + +PC0(命令提示符CMD下) + +```js +ping 192.168.1.3 //链路通 +ping 192.168.1.4 //链路通 +``` + diff --git "a/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\345\205\255\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" "b/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\345\205\255\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..77711d593ac14bb5e26f0098321fb8e0b993dd28 --- /dev/null +++ "b/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\345\205\255\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" @@ -0,0 +1,193 @@ +# 交换机的安全配置 + +在一般的企业环境中,交换机是使用最多的设备,下面简单介绍一些关于交换机端口安全的配置: + +在交换机端口配置模式下输入 + +```js +Switch(config-if)#switchport port-security ? + mac-address Secure mac address + maximum Max secure addresses + violation Security violation mode + +Switch(config-if)#switchport port-security maximum ? // 该命令用来设置此端口可以连接的客户机的最大数量,范围是1-132 + <1-132> Maximum addresses + +Switch(config-if)#switchport port-security violation ? //该命令用来设置如果连接的客户机数量超过规定时所要采取的措施 + protect Security violation protect mode //保护模式:超过限制客户机的帧将被抛弃 + restrict Security violation restrict mode //限制模式:超过限制就通过SNMP通告管理员 + shutdown Security violation shutdown mode //关闭模式:超过限制就关闭端口 + +Switch(config-if)#switchport port-security mac-address //该命令用来绑定客户机MAC地址 + H.H.H 48 bit mac address //手动输入要绑定的地址 + sticky Configure dynamic secure addresses as sticky //自动粘贴前N台客户机的地址,N是maximum命令设置的最大客户机数量 + +//一个典型的示例: + +Switch(config-if)#switchport port-security maximum 1 +Switch(config-if)#switchport port-security violation shutdown +Switch(config-if)#switchport port-security mac-address sticky +//配置这些命令后,该端口只允许一个客户机通过它进行通信,并且会自动粘贴第一个客户机的MAC地址,如果有其它客户机尝试通过,则该端口会因为违反端口安全被关闭。 +``` + + + +> 但是,仅仅配置完以上命令是不够的,你会发现它完全不起作用。为什么呢? + +使用 + +```js +Switch#show port-security interface fa0/1 // 查看f0/1端口的安全配置 +``` + +查看结果: + +```js +Port Security : Disabled +Port Status : Secure-up +Violation Mode : Shutdown +Aging Time : 0 mins +Aging Type : Absolute +SecureStatic Address Aging : Disabled +Maximum MAC Addresses : 1 +Total MAC Addresses : 0 +Configured MAC Addresses : 0 +Sticky MAC Addresses : 0 +Last Source Address:Vlan : 0000.0000.0000:0 +Security Violation Count : 0 +``` + +> 注意上面结果第一行Port Security为Disable。 问题就在这里! + +**要使端口安全起作用,首先要在端口模式下启用端口安全:** + +```js +Switch(config-if)#switchport port-security // 开启交换机端口的安全模式 +Command rejected: FastEthernet0/1 is a dynamic port. // 不出意外的话,出意外了。报了这个提示! +``` + +> 等等!WHY? + +原因就是动态端口是不能启用端口安全的,必须使用命令 + +```js +Switch(config-if)#switchport mode access //把动态端口改变为访问端口 +``` + +然后再启用端口安全 + +```js +Switch(config-if)#switchport port-security // 再次开启交换机端口的安全模式 +``` + +然后重新验证结果: + +```js +Switch#show port-security interface fa0/1 // 查看状态 +Port Security : Enabled // 已启用 +Port Status : Secure-up +Violation Mode : Shutdown +Aging Time : 0 mins +Aging Type : Absolute +SecureStatic Address Aging : Disabled +Maximum MAC Addresses : 1 +Total MAC Addresses : 0 +Configured MAC Addresses : 0 +Sticky MAC Addresses : 0 +Last Source Address:Vlan : 0000.0000.0000:0 +Security Violation Count : 0 +``` + +好了,现在端口安全才可以正式的起作用了。 + +> 测试: + +第一次能Ping通,将交换机端口上的线交换位置,再ping,发现不通了! + +如果想清除绑定,可用以下命令: + +```js +Switch#clear port-security sticky //清除所有已绑定的粘性MAC地址,清除后,再手动开启端口 +``` + +如果违反端口安全端口会被关闭,则上面结果中的Port Status会变为Secure-down,这时需要在端口配置模式下使用shut和no shut(禁用再启用)即可使端口恢复正常。 + + + + + + + +# 相关练习实验 + +## 实验目的: + +- 掌握交换机的端口安全功能,控制用户的安全接入 + +## 二、实验背景: + +- 公司网络采用个人固定IP上网方案,为了防止公司内部用户IP地址借用、冒用,私自接入交换机等违规行为,同时防止公同内部的网络攻击和破坏行为,公司要求对网络进行严格的控制,为此需要在交换机做适当配置。 + +## 三、技术原理: + +- 端口安全:可根据MAC地址来对网络流量的控制和管理,比如MAC地址与具体的端口绑定,限制具体端口通过的MAC地址的数量,或者在具体的端口不允许某些MAC地址的帧流量通过。稍微引申下端口安全,就是可以根据802.1X来控制网络的访问流量。 +- Cisco交换机端口默认处于可取模式(指当检测到其他交换机连接时,端口倾向于中继连接),因此要保证交换机端口安全功能的正常工作,必须先将端口模式修改为接入端口或中继端口(3层交换机上须指定封装类型)。 +- 安全地址表项配置:交换机内有mac-address-table表,表示端口与MAC地址的对应关系,当设备接入时,交换机可学习到设备的MAC地址,并加入该表中。 + - 动态MAC地址:交换机主动学习MAC地址,当端口状态改变时,将重新学习并更新MAC地址表 + - 静态MAC地址:人为将”端口与MAC地址“进行绑定,并加入表中,该端口不再主动学习 + - 粘性MAC地址:首次主动学习MAC地址并绑定,当端口状态再次改变时,该端口不再主动学习 +- 当端口接收到未经允许的MAC地址流量时,交换机会执行以下违规动作: + - 保护(Protect):丢弃未允许的MAC地址流量,但不会创建日志消息。 + - 限制(Restrict):丢弃未允许的MAC地址流量,创建日志消息并发送SNMP Trap消息 + - 关闭(Shutdown):默认选项,将端口置于err-disabled状态,创建日志消息并发送SNMP Trap消息。若要重新开启该端口,需要"先关闭再打开"端口或使用errdisable recovery命令。后者在模拟器上无法使用。 +- 实验设备:Switch_2960 2台;PC 4台;直通线;交叉线。 + +## 四、实验拓扑: + +![20240420121326](./assets/20240420121326.png) + +## 五、实验步骤: + +1. 开启交换机的端口安全功能 +2. 配置交换机的最大连接数限制 +3. 查看主机的IP和MAC地址信息 +4. 配置交换机的地址绑定 +5. 查看交换机上端口安全配置 + +> 注意:模拟器上,无法在3层交换机上使用show port-security命令 + + + +```js +PC设置 +192.168.1.2 //PC0 +192.168.1.3 //PC1 +192.168.1.4 //PC2 +192.168.1.5 //PC3 +//子网掩码和网关 +255.255.255.0 +192.168.1.1 +``` + +Switch0和Switch1上的配置 + +```js +Switch>en +Switch#conf t +Switch(config)#inter rang f0/1-22 +Switch(config-if-range)#switchport mode access //配置端口为接入类型,否则默认为动态端口,不能启用安全模式,少了这句会报Command rejected: FastEthernet0/1 is a dynamic port. 错误 +Switch(config-if-range)#switchport port-security //开启端口安全功能 +//设置端口最大连接数为1,即启用动态MAC安全地址 +Switch(config-if-range)#switchport port-security maximum 1 +//若发现违规动作,处理方式为关闭端口 +Switch(config-if-range)#switchport port-security violation shutdown +Switch(config-if-range)#end +Switch#show port-security //查看端口安全配置 +Switch#show port-security int f 0/1 //查看f0/1端口的安全配置 +Switch(config-if-range)#switchport port-security mac-address sticky //启用粘性MAC地址,自动绑定接入的MAC地址 +//ping测试,结果链路均通 +//然后互换PC2和PC3在交换机上的端口,ping测试,结果链路均不通 +Switch(config-if-range)#end +Switch#show mac-address-table //查看端口MAC地址绑定配置 +Switch#clear port-security sticky //清除所有已绑定的粘性MAC地址 +``` \ No newline at end of file diff --git "a/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" "b/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..09e54a203e46d07461c67230fed8ed5ea195ccb9 --- /dev/null +++ "b/36 \351\203\255\350\224\272\345\263\260/\347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232/\347\254\224\350\256\260.md" @@ -0,0 +1,107 @@ +## 一、实验目的: + +- 理解生成树协议工作原理 +- 掌握快速生成树协议RSTP的基本配置方法 + +## 二、实验背景: + +公司财务部和销售部的PC通过2台交换机实现通信,为提高网络可靠性,冗余链路是一个不错的思路,可防止因某条链路故障导致整个网络的中断,但冗余拓扑存在网络环路等一系列问题,为此需要在交换机上做适当配置。 + +## 三、技术原理: + +- 生成树协议:监视二层交换式网络以找出所有可用的链路,并关闭冗余链路以确保不会出现环路。 首先利用生成树算法创建一个拓扑数据库,然后将网络的冗余备份链路从逻辑上断开,这样数据帧只能在生成树协议选定的最优链路上进行转发。 +- 协议版本:生成树协议STP(Spanning Tree Protocol)和快速生成树协议RSTP(Rapid Spanning Tree Protocol)都是用于在以太网网络中防止环路发生的协议,它们通过自动关闭冗余链路来构建一个无环的树状拓扑结构 +- 生成树算法(STP): + - 选举根桥,其拥有最小的桥ID(即RID),桥ID由桥优先级(Priority)和桥MAC地址共同决定 + - 计算到根桥的路径,由端口开销(Cost)、桥ID(BID=桥优先级+桥MAC地址)、端口ID(PID=端口优先级+端口号)确定最佳路径,开销取决于链路的带宽 + - 配置端口角色,有根端口(Root Port)、指定端口(Designated Port)和非指定端口(Non-designated Port) +- 生成树端口有4种状态,而状态间转换需要花费一定时间,从阻塞到侦听需20秒,从侦听到学习需15秒,从学习到转发需15秒。大多数情况下,交换机的端口都处于阻塞或转发状态。 + - 阻塞(Block):只监听/接收BPDU报文 + - 侦听(Listening):只能接收或发送BPDU报文 + - 学习(Learning):能接收或发送BPDU报文,并形成MAC地址表,但不能转发数据帧 + - 转发(Forwarding):能接收或发送BPDU报文,并形成MAC地址表,同时发送和接收数据帧 +- STP会聚:交换机上所有端口都转换到转发或阻塞模式,默认需要50秒时间。在会聚完成之前交换机是无法转发数据,为此Cisco创建了生成树的拓展特性(会聚加速)以修补IEEE202.1d标准中的缺陷,包括PortFast、UplinkFast、BackboneFast特性。 +- 快速生成树协议(RSTP):为解决STP及其拓展特性的问题,由802.1d发展而成的802.1w标准,在网络结构发生变化时,能更快地收敛网络。当根端口或指定端口出现故障时,冗余端口可直接切换到替换或备份端口,从而实现RSTP协议小于1秒的快速收敛。 + - 端口状态:学习、转发、丢弃 + - 端口角色:在生成树协议的基础上增加了替换端口(Alternate Port)和备份端口(Backup Port) +- 实验设备:Switch_2960 2台;PC 4台;直通线;交叉线。 + +实验拓扑: + +![20240420113144](https://oss.9ihub.com/test/20240420113144.png) + +## 四、实验步骤: + +1. 按拓扑图搭建网络,并为交换机提供冗余链路 +2. 默认情况下STP是启用的。通过两台交换机之间传送网桥协议数据单元(BPDU)。选出根交换机、根端口等,以便确定端口的转发状态。如图,标记为×的端口处于堵塞状态 +3. 配置快速生成树协议(RSTP) +4. 查看交换机生成树协议配置 + +```js + Switch#show spanning-tree summary // 以汇总形式查看 + + Switch#show spanning-tree +``` + +1. 测试。当主链路处于down状态时,能够自动地切换到备份链路,保证数据的正常转发。 + +> 注意:只有当2台交换机都配置RSTP后,再将交换机连接起来。如果先连线再配置会造成广播风暴,影响交换机的正常工作。 + + + + + +## 五、相关设置: + +**PC设置** + +```js + +192.168.1.2 //PC0 +192.168.1.3 //PC1 +192.168.1.4 //PC2 +192.168.1.5 //PC3 +//子网掩码和网关 +255.255.255.0 +192.168.1.1 + +``` + +**Switch0和Switch1配置** + +```js +Switch>en +Switch#show spanning-tree //査看交换机生成树运行状态 +Switch#show spanning-tree summary //査看生成树的配置信息 +Switch#conf t +Switch(config)#inter f0/1 +Switch(config-if)#switchport access vlan 2 //将该端口划分到VLAN 2 +Switch(config-if)#exit +Switch(config)#inter f0/2 +Switch(config-if)#switchport access vlan 3 //将该端口划分到VLAN 3 +Switch(config-if)#exit +Switch(config)#inter range f0/23-24 +Switch(config-if)#switch mode trunk +Switch(config-if)#exit +Switch(config)#spanning-tree mode rapid-pvst //指定生成树协议的类型为RSTP +Switch(config)#end +Switch#show spanning-tree //判断根交换机、端口角色、端口状态等 +``` + + + + +# 链路测试 +```js +PC0(命令提示符CMD下) +ping 192.168.1.4 //链路通 +Switch0 +Switch>en +Switch#conf t +Switch(config)#inter f0/23 //关闭主链路上的端口 +Switch(config-if)#shutdown +PC0(命令提示符CMD下) +ping 192.168.1.4 //链路通 +//备份链路标记由×变为绿色,表明备份链路已启用 +``` +