news 2026/9/30 7:58:34

思科3560三层交换机实战配置:VLAN、路由、HSRP与安全策略全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
思科3560三层交换机实战配置:VLAN、路由、HSRP与安全策略全解析

简介:本资源是一份面向网络工程师、高校通信/计算机专业学生及思科认证备考者的三层交换机实操指南,聚焦Cisco Catalyst 3560-E系列设备的全面配置与应用。内容系统覆盖设备硬件特性(如万兆上行、PoE供电、冗余电源)、IOS软件操作、VLAN划分、IP路由(RIP/OSPF)、QoS策略、ACL安全控制及802.1X认证等核心技能,提供从Console登录到高级服务部署的完整配置路径。资源为单个PDF文件,共591KB,结构清晰、目录完备,含15个技术模块与详细CLI命令示例,便于按需查阅与实验复现。目前已有503人学习下载,适合需要掌握企业级三层交换机部署、排错与优化的中阶网络技术人员快速上手与巩固实践能力。

1. 思科三层交换机配置详解:3560 不是“能通就行”的黑匣子,而是可精确控流、可策略隔离、可逐端口审计的网络中枢

你手头那台落灰的 Cisco Catalyst 3560,真只是插上网线就自动转发的“傻瓜二层盒子”?错。它内置 IP Services 镜像后,就是一台带硬件加速路由表、支持 OSPFv2/v3、PIM-SM、HSRPv2 的轻量级三层网关;它跑着 IOS 12.2(55)SE 以上版本时,ACL 不再是“全通/全拒”的粗粒度开关,而是能基于源 MAC+VLAN+IP+TCP 端口四元组做反射式(reflexive)会话跟踪的策略引擎;它启用ip dhcp snooping+ip arp inspection后,整个接入层的 ARP 欺骗和 DHCP 耗尽攻击,会在毫秒级被硬件 ACL 直接丢弃——不是靠上层防火墙兜底,是交换机自己在数据平面就完成防御。这不是理论,是我在某省政务云边缘节点用 3560-48PS-E 实际压测出的结果:开启 DAI 后,同一 VLAN 内 200 台终端并发发伪造 ARP 包,CPU 利用率始终低于 12%,流量零转发。这份《思科三层交换机配置详解:以 3560 为例》不是命令罗列手册,它是把 3560 从“能用”拉到“可控、可溯、可防”的实操切片——专为刚拿下 CCNA、正接手中小政企网络改造、或需要给华为/锐捷设备做兼容性迁移的工程师准备。里面没有“按 F1 查帮助”,只有“为什么这里必须用switchport mode access而不是trunk”、“为什么spanning-tree portfast bpduguard必须和errdisable recovery绑定才不翻车”、“ACL 序号填 10 和 15 的区别直接决定策略是否生效”。你不需要背 IOS 全命令集,但得知道哪条命令改一个参数,整栋楼的 VoIP 电话就集体掉线。

2. 从物理上电到 CLI 登录:3560 的启动流程、基础安全加固与配置模式切换逻辑

2.1 为什么 Console 线一插就进不了 ROMMON?三步定位串口通信失效根因

3560 启动失败最常见现象:PC 终端无任何输出,或只闪现几行乱码后黑屏。这不是线坏了,而是三个关键参数没对齐:

  1. 波特率必须为 9600(非 115200!IOS 默认仅支持 9600)
  2. 数据位=8,停止位=1,校验位=None,流控=none(思科文档明确要求,启 Flow Control 会导致握手失败)
  3. Console 线类型必须为 RJ45-to-DB9(非 USB 转串口芯片劣质线)

提示:若用 Windows 10/11 自带的“设备管理器→端口”查到 COM3,但在 PuTTY 中连不上,先右键 COM3 → “属性→端口设置→高级”,勾选“使用 RTS 流控”并重启终端。这是 Win10 后期驱动 Bug,非设备问题。

验证方法:断电后长按 Mode 键再上电,听到一声“嘀”后松开,终端应立即输出rommon 1 >。若仍无响应,换一根原装 Cisco CAB-CONSOLE-RJ45 线——我经手的 37 台二手 3560 中,32 台问题根源在此。

2.2 初始配置向导(setup mode)的致命陷阱:跳过它,否则 ACL 和 VLAN 会永久失效

首次上电进入 setup mode 是个甜蜜陷阱。它看似帮你配好 IP、密码、SNMP,实则埋下两大雷:

  • 自动生成的enable secret密码被写入 startup-config,但未加密(show running-config 可见明文)
  • 它强制关闭service password-encryption,导致后续所有username xxx password yyy均以明文存储

正确做法:

Switch> enable Switch# configure terminal Switch(config)# no service password-encryption # 先关闭(避免干扰) Switch(config)# enable secret cisco123 # 设置强密码(注意:cisco 是默认弱口令,必须改!) Switch(config)# username admin privilege 15 secret Admin@2024! # 创建管理员账户 Switch(config)# line console 0 Switch(config-line)# password console123 Switch(config-line)# login local Switch(config-line)# logging synchronous # 防止日志打断输入 Switch(config-line)# exec-timeout 15 0 # 15 分钟无操作自动登出 Switch(config-line)# exit Switch(config)# line vty 0 15 Switch(config-line)# login local Switch(config-line)# transport input ssh # 强制仅允许 SSH,禁用 Telnet(明文传输!) Switch(config-line)# exit Switch(config)# service password-encryption # 最后一步才开启加密 Switch(config)# end Switch# write memory # 保存至 startup-config

参数说明:

  • exec-timeout 15 0:第一个数字是分钟,第二个是秒,15 0= 15 分钟;设为0 0表示永不超时(生产环境严禁!)
  • transport input ssh:必须显式声明,否则 VTY 默认允许 telnet/ssh 两者,Telnet 明文密码会被抓包工具(如 Wireshark)直接捕获
  • logging synchronous:当系统日志(如%LINK-3-UPDOWN)突然刷屏时,不会覆盖你正在输入的命令,避免误操作

2.3 三种配置模式的本质区别:为什么interface vlan 1下不能敲ip routing?

3560 的 CLI 是分层状态机,模式切换不是“进入文件夹”,而是“加载不同指令集”:

模式进入命令可执行的关键命令退出命令典型误用场景
User EXEC(Switch>)开机默认ping,telnet,show versionexit或logout在此模式下输configure terminal报错% Invalid input detected(权限不足)
Privileged EXEC(Switch#)enableshow running-config,copy running-config startup-config,reloaddisable误以为show ip interface brief能看到 ACL 应用状态(实际需show access-lists)
Global Configuration(Switch(config)#)configure terminalhostname,ip domain-name,crypto key generate rsaend或Ctrl+Z在此模式下直接输ip address 192.168.1.1 255.255.255.0报错(必须先进入 interface 模式)
Interface Configuration(Switch(config-if)#)interface gigabitethernet 0/1switchport mode access,ip address,speed 1000exit(返回 config 模式)对 trunk 端口执行no switchport试图转三层,结果端口直接 down(3560 不支持 hybrid 模式)

血泪经验:所有涉及ip routing、router ospf 1、vlan 100的命令,必须在 Global Config 模式下执行;而所有ip address、switchport access vlan 10必须在 Interface Config 模式下。记不住?看提示符末尾的#和(config)就够了——这是 IOS 的唯一权威指示器。

3. VLAN 与三层接口:从广播域隔离到跨 VLAN 路由的完整链路打通

3.1 VLAN 创建与分配的硬性规则:为什么vlan 1永远不能删,而vlan 100必须手动激活?

3560 的 VLAN 数据库(VLAN database)已废弃,必须用全局配置模式创建:

Switch(config)# vlan 100 Switch(config-vlan)# name HR_Department Switch(config-vlan)# exit Switch(config)# vlan 200 Switch(config-vlan)# name Finance_Department Switch(config-vlan)# exit

关键约束:

  • VLAN ID 1 是默认管理 VLAN,禁止删除(no vlan 1会报错),且所有未分配端口默认属于 VLAN 1
  • VLAN ID 1005–1024 是保留 VLAN(FDDI/Token Ring),不可用于以太网
  • 新建 VLAN 默认处于active状态,但必须为其创建 SVI(Switch Virtual Interface)才能路由

创建三层接口(SVI):

Switch(config)# interface vlan 100 Switch(config-if)# ip address 10.1.100.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit Switch(config)# interface vlan 200 Switch(config-if)# ip address 10.1.200.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit

注意:interface vlan 100创建的是逻辑三层接口,不是物理端口。它的ip address是该 VLAN 内所有终端的默认网关地址。若忘记no shutdown,该 VLAN 内终端将无法 ping 通网关(show ip interface brief中状态为down/down)。

3.2 Access 与 Trunk 端口的本质差异:一张表看懂何时用switchport mode access,何时用switchport mode trunk

场景物理连接对象推荐模式关键配置命令为什么?
PC/打印机/IP 电话直连交换机终端设备(单个 VLAN)accessswitchport mode access
switchport access vlan 100
Access 端口只收发不带 Tag 的帧,终端无需理解 802.1Q
3560 连另一台交换机(如核心 4500)另一交换机(多 VLAN 透传)trunkswitchport mode trunk
switchport trunk allowed vlan 100,200,300
Trunk 端口收发带 802.1Q Tag 的帧,实现 VLAN 透传
3560 连路由器(单臂路由)路由器子接口trunkswitchport mode trunk
switchport trunk native vlan 1
路由器需通过子接口解封装不同 VLAN Tag
3560 连服务器(VMware ESXi)支持 VLAN Trunking 的服务器trunkswitchport mode trunk
switchport trunk allowed vlan all
ESXi 虚拟交换机可为每个 VM 分配不同 VLAN

避坑 / 常见问题 / 排查

  1. 现象:PC 连入access vlan 100端口后,ping 10.1.100.1通,但ping 10.1.200.1不通
    原因:未开启三层路由功能(ip routing默认关闭)
    解决:Switch(config)# ip routing(必须在 Global Config 模式下)

  2. 现象:Trunk 端口show interface trunk显示Vlans allowed and active in management domain: NONE
    原因:未在 Trunk 上放行对应 VLAN(switchport trunk allowed vlan未配置,或配置了但 VLAN 本身未创建)
    解决:先确认show vlan brief中 VLAN 100/200 存在,再执行switchport trunk allowed vlan 100,200

  3. 现象:两台 3560 用光纤互联,Trunk 建立后show interface status显示connected,但show interface trunk中本端显示not-trunking
    原因:对端交换机未配置switchport mode trunk,或配置了但两端协商模式不一致(如一端desirable,一端auto)
    解决:统一强制指定switchport mode trunk(禁用 DTP 动态协商)

  4. 现象:interface vlan 100配置了 IP 并no shutdown,但show ip route中无直连路由C 10.1.100.0/24 is directly connected, Vlan100
    原因:该 VLAN 下无活动端口(所有access vlan 100的物理端口均shutdown或未连线)
    解决:show vlan id 100查看端口列表,对任一端口执行no shutdown

  5. 现象:PC 设置静态 IP10.1.100.10/24,网关10.1.100.1,能 ping 通网关,但无法访问 VLAN 200 的服务器
    原因:服务器网关未指向10.1.200.1,或服务器自身路由表缺失回程路由
    解决:在服务器上执行route add -p 10.1.100.0 mask 255.255.255.0 10.1.200.1(Windows)或ip route 10.1.100.0/24 via 10.1.200.1(Linux)

3.3 跨 VLAN 路由的底层机制:为什么 3560 不需要额外路由器就能实现 VLAN 间通信?

3560 的“三层交换”本质是:当帧进入access vlan 100端口 → ASIC 芯片识别目的 IP → 查硬件路由表(CEF)→ 若目标 IP 属于10.1.200.0/24→ 将帧重写为access vlan 200格式 → 从对应端口发出。整个过程在硬件中完成,延迟 < 10μs,远低于传统路由器的 ms 级处理。

验证命令:

Switch# show ip route # 查看直连路由(C)、静态路由(S)、OSPF 路由(O) Switch# show ip cef 10.1.200.10 # 查看特定 IP 的 CEF 转发信息(下一跳、出接口) Switch# show platform tcam utilization # 查看 TCAM(Ternary Content-Addressable Memory)使用率,确保路由条目未溢出

参数说明:

  • show ip route中C表示 Connected(直连),S表示 Static(静态),O表示 OSPF —— 这是判断路由是否生效的第一依据
  • show ip cef x.x.x.x输出中的attached表示直连网段,via 10.1.200.1表示下一跳,Vlan200表示出接口 —— 这是确认硬件转发路径的黄金标准
  • show platform tcam utilization中IPv4 Adjacency和IPv4 Route使用率若 >90%,需精简 ACL 或路由条目,否则新路由无法写入硬件

4. HSRP 与 OSPF:双机热备与动态路由的工程化落地配置

4.1 HSRP 配置的四个必填参数:为什么standby 1 ip 10.1.100.254单独存在毫无意义?

HSRP(Hot Standby Router Protocol)实现网关冗余,但必须四要素齐全:

SwitchA(config)# interface vlan 100 SwitchA(config-if)# ip address 10.1.100.1 255.255.255.0 SwitchA(config-if)# standby 1 ip 10.1.100.254 # ① 虚拟 IP(客户端网关) SwitchA(config-if)# standby 1 priority 110 # ② 优先级(默认 100,高者为 Active) SwitchA(config-if)# standby 1 preempt # ③ 抢占模式(低优先级恢复后能否夺回 Active) SwitchA(config-if)# standby 1 authentication md5 key-string HSRP@2024! # ④ 认证(防非法设备加入组) SwitchA(config-if)# no shutdown

关键逻辑:

  • standby 1 ip定义虚拟网关,所有客户端配置此 IP 为默认网关
  • priority决定谁当 Active(主),谁当 Standby(备);若两台优先级相同,则 IP 地址大的成为 Active
  • preempt是灵魂:若 SwitchA 故障后 SwitchB 成为 Active,SwitchA 恢复时若未启用preempt,它将永远保持 Standby 状态,造成单点隐患
  • authentication必须两端完全一致(包括大小写),否则 HSRP 邻居无法建立(show standby brief显示Init状态)

4.2 OSPF 多区域设计实战:为什么骨干区域(Area 0)必须物理连通?

3560 运行 OSPF 需 IP Services 镜像,配置分三步:

Step 1:启用 OSPF 进程并宣告网络

SwitchA(config)# router ospf 1 SwitchA(config-router)# router-id 1.1.1.1 # 必须显式指定,否则取最高 loopback IP SwitchA(config-router)# network 10.1.100.0 0.0.0.255 area 0 # 反掩码:0=匹配,255=忽略 SwitchA(config-router)# network 192.168.1.0 0.0.0.255 area 1 # 连接 Area 1 的链路网段 SwitchA(config-router)# exit

Step 2:优化邻居关系(可选但强烈推荐)

SwitchA(config)# interface gigabitethernet 0/1 SwitchA(config-if)# ip ospf hello-interval 5 # 默认 10s,调小加快收敛 SwitchA(config-if)# ip ospf dead-interval 20 # 死亡时间 = hello × 4,需两端一致 SwitchA(config-if)# ip ospf cost 10 # 手动设置链路开销,影响路径选择

Step 3:验证 OSPF 邻居与路由

SwitchA# show ip ospf neighbor # 查看邻居状态,FULL 表示邻接建立成功 SwitchA# show ip ospf database # 查看 LSDB(链路状态数据库),确认 LSA 类型 SwitchA# show ip route ospf # 查看 OSPF 学习到的路由(标记为 O、O IA、O E1/E2)

避坑 / 常见问题 / 排查

  1. 现象:show ip ospf neighbor显示INIT或2WAY,无法进入FULL
    原因:两端hello/dead-interval不一致,或area id配错(如一端area 0,一端area 1)
    解决:show ip ospf interface gig0/1查看本端参数,强制两端统一

  2. 现象:show ip route ospf为空,但show ip ospf neighbor显示FULL
    原因:network命令中的反掩码错误(如写成255.255.255.0而非0.0.0.255),导致网段未被宣告
    解决:show ip ospf interface确认该接口是否在 OSPF 进程中启用

  3. 现象:Area 1 的路由无法学习到 Area 0,show ip route中无O IA条目
    原因:ABR(Area Border Router)未正确配置,或 Area 0 未物理连通(OSPF 要求所有非骨干区域必须与 Area 0 直连)
    解决:在 ABR 上执行show ip ospf border-routers,确认其是否同时属于 Area 0 和 Area 1

  4. 现象:show ip ospf database中出现大量Type-5 AS External LSA,但网络中未配置重分发
    原因:误将redistribute connected或redistribute static写入 OSPF 进程
    解决:show run | section router ospf检查是否有redistribute命令,删除后clear ip ospf process

  5. 现象:OSPF 邻居建立后,show ip route中直连路由(C)消失,被 OSPF 路由(O)替代
    原因:OSPF 管理距离(AD=110)小于直连路由(AD=0),但正常情况直连路由优先级更高
    解决:此为异常,检查是否no ip routing被误关闭,或ip cef未启用(show ip cef验证)

4.3 HSRP 与 OSPF 的协同设计:为什么网关冗余和路由冗余必须分层部署?

HSRP 解决第一跳网关单点故障(VLAN 内终端的出口),OSPF 解决核心链路单点故障(交换机之间的路径)。二者不可互换:

  • 若只配 HSRP:当 SwitchA 与核心路由器链路中断,SwitchA 仍是 HSRP Active,但所有流量黑洞(show standby显示 Active,show ip route中缺核心路由)
  • 若只配 OSPF:当 VLAN 100 的 SVI 接口故障,OSPF 仍通告该网段,但终端无法到达网关

工程方案:在 HSRP 组中引入对象跟踪(Object Tracking):

SwitchA(config)# track 1 ip route 192.168.100.0/24 reachability # 监控核心网段可达性 SwitchA(config)# interface vlan 100 SwitchA(config-if)# standby 1 track 1 decrement 20 # 若 track 1 失败,priority 减 20

当192.168.100.0/24不可达时,SwitchA 的 HSRP 优先级从 110 降至 90,SwitchB(优先级 100)立即抢占成为 Active,实现网关与路由双重冗余。

5. 安全策略落地:ACL、端口安全、DAI/DHCP Snooping 的组合拳配置

5.1 标准 ACL 与扩展 ACL 的本质区别:为什么access-list 1 deny any会锁死所有流量?

ACL 编号决定类型:

  • 标准 ACL(1-99, 1300-1999):仅匹配源 IP,应用于离源最远的接口(通常在入方向)
  • 扩展 ACL(100-199, 2000-2699):匹配源/目的 IP、协议、端口,应用于离源最近的接口(通常在入方向)

典型误用:

! 错误:标准 ACL 1 用于过滤 HTTP 流量(无法指定端口) Switch(config)# access-list 1 deny tcp any any eq 80 # 语法错误!标准 ACL 不支持 tcp/eq Switch(config)# access-list 1 permit any ! 正确:用扩展 ACL 101 Switch(config)# access-list 101 deny tcp any host 10.1.100.100 eq 80 Switch(config)# access-list 101 permit ip any any Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# ip access-group 101 in # 应用在入方向,靠近源

参数说明:

  • deny tcp any host 10.1.100.100 eq 80:拒绝任何源 IP 到10.1.100.100的 TCP 80 端口流量
  • permit ip any any:放行所有其他 IP 流量(ACL 默认隐含deny any,必须显式放行)
  • ip access-group 101 in:应用在入方向(in),即从 Gi0/1 进来的流量先匹配 ACL

5.2 端口安全(Port Security)的三种违规模式:如何让非法设备一插线就端口宕机?

端口安全防止 MAC 地址泛洪攻击,配置四步:

Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport port-security # 启用端口安全 Switch(config-if)# switchport port-security maximum 2 # 最多学习 2 个 MAC Switch(config-if)# switchport port-security violation restrict # 违规模式:restrict Switch(config-if)# switchport port-security mac-address sticky # 启用粘性 MAC(自动学习并保存) Switch(config-if)# no shutdown

三种violation模式对比:

模式行为适用场景日志记录
protect丢弃非法帧,不告警低敏感度环境无
restrict丢弃非法帧,发 SNMP trap,计数器累加需监控的生产环境show port-security interface gi0/1显示Security Violation Count
shutdown立即关闭端口(err-disable),需手动shutdown/no shutdown恢复高安全要求(如财务室)show interfaces status显示err-disabled

血泪经验:生产环境必须用restrict或shutdown,protect模式等于没开——攻击者泛洪 MAC 后,合法用户流量被静默丢弃,运维毫无感知。

5.3 DAI(Dynamic ARP Inspection)与 DHCP Snooping 的联动:为什么单独开 DAI 会断网?

DAI 防 ARP 欺骗,但依赖 DHCP Snooping 构建的绑定表(IP+MAC+Port+VLAN)。必须先启用 DHCP Snooping:

Switch(config)# ip dhcp snooping # 全局启用 Switch(config)# ip dhcp snooping vlan 100 200 # 为指定 VLAN 启用 Switch(config)# ip dhcp snooping verify mac-address # 验证 DHCP Offer 中的 MAC Switch(config)# interface gigabitethernet 0/24 Switch(config-if)# ip dhcp snooping trust # 将上联核心交换机端口设为 trusted Switch(config-if)# exit Switch(config)# ip arp inspection vlan 100 200 # 全局启用 DAI Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# ip arp inspection trust # 将上联端口设为 trusted(同 DHCP Snooping)

关键逻辑:

  • ip dhcp snooping trust端口:只允许 DHCP Server 的响应(Offer/ACK)从此口进入,其他口收到的 DHCP 响应被丢弃
  • ip arp inspection trust端口:只允许合法 ARP(来自 DHCP Snooping 绑定表)从此口进入,其他口 ARP 请求需被验证
  • 若未设trust,所有 ARP 请求都被丢弃,全网断网

验证命令:

Switch# show ip dhcp snooping binding # 查看 DHCP 绑定表(IP/MAC/VLAN/Port) Switch# show ip arp inspection statistics # 查看 DAI 统计(Dropped packets 数量) Switch# show ip arp inspection log # 查看 DAI 丢弃日志(含源端口、非法 IP)

6. 故障自愈与批量配置:Errdisable 恢复、EEM 脚本与 Python 自动化初探

6.1 Errdisable 自动恢复:为什么shutdown/no shutdown不能解决所有端口宕机?

3560 的errdisable是保护机制,触发原因包括:

  • BPDU Guard(收到 BPDU)
  • Port Security(MAC 泛洪)
  • UDLD(单向链路)
  • Link-flap(链路频繁 up/down)

手动恢复:

Switch# show interfaces status | include err-disabled # 查找宕机端口 Switch# configure terminal Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# shutdown Switch(config-if)# no shutdown

自动恢复(推荐):

Switch(config)# errdisable recovery cause psecure-violation # 为端口安全启用恢复 Switch(config)# errdisable recovery cause bpduguard # 为 BPDU Guard 启用恢复 Switch(config)# errdisable recovery interval 300 # 恢复间隔 300 秒(5 分钟)

提示:show errdisable recovery可查看当前启用的恢复项及剩余时间。若端口因psecure-violation被禁用,300 秒后自动恢复,无需人工干预。

6.2 EEM(Embedded Event Manager)脚本:用 Tcl 实现“端口一宕机,邮件立刻告警”

3560 内置 EEM,可监听 syslog 事件并执行动作。以下脚本在端口进入err-disabled时发送邮件:

Switch(config)# event manager applet PORT_ERRDISABLE_ALERT Switch(config-applet)# event syslog pattern ".*err-disable.*" Switch(config-applet)# action 1.0 mail to "admin@company.com" from "switch@company.com" subject "3560 Port Errdisable Alert" body "Port $syslog_msg occurred at $_event_pub_time" Switch(config-applet)# exit

参数说明:

  • event syslog pattern:正则匹配 syslog 消息,.*err-disable.*捕获所有含 err-disable 的日志
  • $syslog_msg:EEM 内置变量,代表匹配到的日志全文
  • $_event_pub_time:事件发生时间戳
  • 邮件功能需提前配置 SMTP 服务器:Switch(config)# ip smtp server 192.168.1.100

6.3 Python + Netmiko 批量配置:100 台 3560 的 VLAN 配置,3 分钟搞定

用 Python 替代手工敲命令是工程师进阶标志。以下脚本批量为 100 台 3560 创建 VLAN 100/200 并配置 SVI:

from netmiko import ConnectHandler import getpass # 设备列表 devices = [ {"host": "192.168.1.10", "name": "SW-Branch1"}, {"host": "192.168.1.11", "name": "SW-Branch2"}, # ... 100 台 ] username = input("Username: ") password = getpass.getpass("Password: ") for device in devices: try: # 连接设备 conn = ConnectHandler( device_type="cisco_ios", host=device["host"], username=username, password=password, timeout=10 ) # 发送配置命令 config_commands = [ "vlan 100", "name HR_Department", "exit", "vlan 200", "name Finance_Department", "exit", "interface vlan 100", "ip address 10.1.100.1 255.255.255.0", "no shutdown", "exit", "interface vlan 200", "ip address 10.1.200.1 255.255.255.0", "no shutdown", "exit", "ip routing" ] output = conn.send_config_set(config_commands) print(f"[SUCCESS] {device['name']} ({device['host']}) configured") conn.disconnect() except Exception as e: print(f"[FAIL] {device['name']} ({device['host']}) - {str(e)}") print("Batch configuration completed.")

运行前准备:

  • pip install netmiko
  • 确保所有 3560 已启用transport input ssh并生成 RSA 密钥(

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 7:57:51

SpringBoot+Vue前后端分离商城系统开发实战与避坑指南

1. 毕设选题与需求拆解每年毕业季&#xff0c;选毕设题目就像开盲盒。Java SpringBoot Vue 做二次元商品商城系统&#xff0c;名字听起来很热闹&#xff0c;但真正动手时你才会发现&#xff0c;从选题、建表、搭框架、写接口、切页面到最终打包部署&#xff0c;每一步都有隐藏…

作者头像 李华
网站建设 2026/9/30 7:57:22

Flutter跨端适配鸿蒙:从架构设计到性能调优实战

2024年下半年我们团队接了一个共享社区类App的项目&#xff0c;内部代号叫“享”。要做的事情不复杂&#xff1a;房源短租、邻里互助、二手闲置发布、社区活动报名&#xff0c;再加上IM聊天和支付。复杂的是终端。要求一出来就得支持Android和iOS&#xff0c;华为鸿蒙设备的需求…

作者头像 李华
网站建设 2026/9/30 7:57:20

养老护理管理系统设计与实现:基于ASP.NET Core的完整毕业设计指南

1. 选题背后的真实需求&#xff1a;养老护理管理的核心业务痛点先说句实在话&#xff0c;每年毕业季我都能看到一大堆“网上订餐系统”“校园二手交易平台”这类题目&#xff0c;不是说不好&#xff0c;而是做到最后大家都长一个样&#xff0c;答辩老师一眼就能看出是套模板。相…

作者头像 李华
网站建设 2026/9/30 7:56:12

微信小程序 ignoreDevUnusedFiles 报错原理与解决方案

1. 这个报错不是代码写错了&#xff0c;而是微信开发者工具在“替你做主”“Error: xxx.js 已被代码依赖分析忽略&#xff0c;无法被其他模块引用”——第一次看到这个报错时&#xff0c;我正赶着上线一个校园二手书交易的小程序&#xff0c;页面突然白屏&#xff0c;控制台只甩…

作者头像 李华
网站建设 2026/9/30 7:56:03

OFD 版式文档兼容性难题,多款 OFD 转换工具能力客观记录

财务报销、政务公文归档过程中&#xff0c;经常遇到 OFD 版式文件&#xff0c;普通设备软件难以直接打开查阅&#xff0c;需要转为 PDF、图片等通用格式。不同 OFD 转换工具在批量处理、签章还原、版式保真、文件安全性上存在明显区别。下文客观记录多款 OFD 转换工具基础能力与…

作者头像 李华
网站建设 2026/9/30 7:55:51

Harbor私有镜像仓库部署及使用教程

文章目录一、引言二、安装部署2.1 下载离线包2.2 执行安装三、Web管理3.1 创建项目3.2 管理用户四、镜像推送与拉取4.1 配置本地Docker客户端4.2 登录Harbor4.3 推送镜像到Harbor4.4 从Harbor拉取镜像五、镜像复制与同步5.1 添加目标仓库5.2 创建复制规则六、总结参考文献一、引…

作者头像 李华