简介:面向网络工程师与思科设备初学者的三层交换机配置专题文档,以 Catalyst 3560-E 为例,系统梳理企业级三层交换机的功能特性与落地配置。内容从设备概述、IOS 软件、万兆上行链路与 TwinGig SFP 转换器、模块化电源、PoE 及冗余电源等硬件要点展开,并延伸到主要特性、可用性与可扩展性、IP 路由、QoS、安全和管理工具,帮助读者建立较完整的设备认知。配置部分覆盖 Console/Telnet/SSH/Web 接入、接口说明与配置、启动及基本配置案例、端口与 MAC 地址表、VLAN、路由协议、ACL、802.1X、QoS 策略以及配置备份恢复,兼顾命令思路与实验排错。资源为 1 个 PDF 文件,包体约 591KB,结构按主题分节,便于查阅和对照实践;已有 508 人学习,适合用于课程实验、岗位自学和配置速查。
1. 一台退役的 3560 拿到手,先搞清楚它能干什么
机柜里退下来的 Catalyst 3560,24 或 48 个千兆口,加两个 SFP 上行,面板上还留着上一家贴的资产标签。很多人对它的第一印象是"大号二层交换机",接上电、划几个 VLAN、能通就完事。三层交换机配置真正的分水岭其实就在ip routing这一条命令上:敲下去之前,它只是个会给帧打标签的交换机;敲下去之后,SVI 之间开始互相路由,静态路由、RIP、OSPF、HSRP、ACL、PVLAN 这些特性才真正有落点。它适合谁?准备网络方向认证、要给小型办公网做接入加汇聚、想用一台真机把 VLAN 间路由和安全策略一次跑通的人。不适合谁?指望它跑全量 IPv6 特性、扛大表项、上 40G 上行的人。网络工具这一层也别抱幻想,图形化界面顶多看看端口状态和流量曲线,真配置还得回到 IOS 命令行里一行一行敲。
2. 第一次上电:从 Console 到 SSH 的最小可用配置
2.1 三条访问链路,先选对入口
3560 上能进设备的路径就那么三条:Console、Telnet、SSH。Console 是带外生命线,RJ45 转 USB 线插上,终端参数 9600 波特率、8 数据位、无校验、1 停止位、无流控,回车就能看到Switch>。Telnet 是明文传输,密码在链路上裸奔,业务网里我一般直接关掉。SSH 需要先生成 RSA 密钥,再配合本地用户名认证,是日常运维该走的入口。
3560-E 系列还多一个带外管理以太网口,独立于业务端口,管理面可以和业务面彻底分开。我一般这样分工:Console 只做首次上电和故障恢复,SSH 做日常配置,带外管理口接独立管理网段。别把三条链路都压在 VLAN 1 上,VLAN 1 是默认 native VLAN,也是最容易被二层攻击盯上的那个。
还有一个容易被忽略的点:这台设备到底是二层模式还是三层模式。出厂默认ip routing是关的,这时候 SVI 只是管理地址,跨网段要靠ip default-gateway。开了路由之后,ip default-gateway就不起作用了,得换成默认路由。这个切换点后面第 4 章会细说,但第一次上电就得心里有数。
2.2 从空配置到能远程登录的完整命令序列
下面这段是我每次拿到新机器都会走一遍的骨架,改掉主机名、网段和密码就能用。
Switch> enable Switch# configure terminal ! 1. 设备身份与特权密码 Switch(config)# hostname SW-CORE-01 SW-CORE-01(config)# enable secret Lab@3560 SW-CORE-01(config)# service password-encryption ! 2. Console 口认证与日志不打断输入 SW-CORE-01(config)# line console 0 SW-CORE-01(config-line)# password Console@3560 SW-CORE-01(config-line)# login SW-CORE-01(config-line)# logging synchronous SW-CORE-01(config-line)# exec-timeout 10 0 SW-CORE-01(config-line)# exit ! 3. 管理 VLAN 与 SVI SW-CORE-01(config)# vlan 99 SW-CORE-01(config-vlan)# name MGMT SW-CORE-01(config-vlan)# exit SW-CORE-01(config)# interface vlan 99 SW-CORE-01(config-if)# ip address 10.10.99.2 255.255.255.0 SW-CORE-01(config-if)# no shutdown SW-CORE-01(config-if)# exit ! 4. 把一个物理口划进管理 VLAN SW-CORE-01(config)# interface gigabitEthernet 0/24 SW-CORE-01(config-if)# switchport mode access SW-CORE-01(config-if)# switchport access vlan 99 SW-CORE-01(config-if)# no shutdown SW-CORE-01(config-if)# exit ! 5. 未开路由时的默认网关 SW-CORE-01(config)# ip default-gateway 10.10.99.1 ! 6. SSH 准备:域名、密钥、本地用户 SW-CORE-01(config)# ip domain-name lab.local SW-CORE-01(config)# crypto key generate rsa modulus 2048 SW-CORE-01(config)# username admin privilege 15 secret Admin@3560 SW-CORE-01(config)# line vty 0 15 SW-CORE-01(config-line)# transport input ssh SW-CORE-01(config-line)# login local SW-CORE-01(config-line)# exec-timeout 10 0 SW-CORE-01(config-line)# end ! 7. 落盘 SW-CORE-01# copy running-config startup-config这段配置的逻辑是"先保命、再通管理、后开远程"。enable secret存的是不可逆摘要,enable password是明文,后者能不用就不用;service password-encryption只是把明文口令做 type 7 弱加密,防的是肩窥,不是攻击,别把它当安全措施。logging synchronous很实用,日志弹出来不会把你正在敲的命令切断。ip default-gateway这一条只在没开ip routing时有效,开了路由必须删掉换成ip route 0.0.0.0 0.0.0.0,两个都留着会出现管理流量走错方向。
SSH 部分有两个参数值得说:modulus在较老的 IOS 上最低 360 位,但 1024 起步才稳妥,能上 2048 就上 2048,个别老版本镜像对 2048 支持不好,生成失败就退回 1024。transport input ssh是白名单语义,敲下去之后 Telnet 直接进不来,比事后关line vty更干脆。login local表示用本地用户名库认证,如果没有配aaa new-model,这是最省事的做法。
2.3 接口命名、速率双工与 MDIX 的确认
3560 的端口命名规律是FastEthernet0/x和GigabitEthernet0/x,3560-E 和 3560G 基本都是千兆口。第一次接终端之前,先看一眼端口状态表,比盲插效率高得多。
SW-CORE-01# show interfaces status SW-CORE-01# show interfaces gigabitEthernet 0/1 SW-CORE-01# show interfaces gigabitEthernet 0/1 counters errors三条命令分别看:端口是否 connected、速率双工协商成了什么、有没有 CRC 和 late collision 增长。自协商在千兆口上一般没问题,但对接老服务器网卡、老光模块、运营商设备时,协商成半双工的情况我见过不止一次,表现是能 ping 通但吞吐惨不忍睹,counters errors里 late collision 一路涨。
SW-CORE-01(config)# interface gigabitEthernet 0/1 SW-CORE-01(config-if)# speed 1000 SW-CORE-01(config-if)# duplex full SW-CORE-01(config-if)# mdix auto参数说明:speed可选auto/10/100/1000,千兆口强制duplex half是非法的,IOS 会直接拒绝。mdix auto是自动识别直通线交叉线,接终端时开着省事,上联口建议关掉避免误判。血泪经验:速率双工要么两端都写死,要么两端都 auto,一端写死一端 auto,协商结果经常是半双工,这种玄学问题只能靠show interfaces里的duplex字段实锤。
2.4 版本、模块与配置保存的确认
二手设备到手,我最先敲的不是配置,是这三条:
SW-CORE-01# show version SW-CORE-01# show inventory SW-CORE-01# show flash:show version里要盯三样:IOS 版本号、系统 uptime、以及最后那行 license 信息。3560 有 IP Base 和 IP Services 两档特性集,差别就在 OSPF、EIGRP、BGP、PIM 这些高级路由能不能跑。IP Base 只有静态路由和 RIP,买了跑不了 OSPF 的机器,后面做实验会卡在第一步。show inventory看模块和电源的型号序列号,PoE 机型还要确认装的是多大功率的电源。show flash:看 IOS 镜像文件名和剩余空间,升级镜像前得留出两倍空间。
copy running-config startup-config这条命令看着简单,但它是所有"配了半天重启全没了"事故的根源。startup-config 存在 NVRAM,VLAN 数据库却单独存在flash:vlan.dat里,两个文件不同步是后面 VTP 那个坑的伏笔。我习惯配完一段就存一次,宁可多敲几次。
3. VLAN、Trunk 与 SVI:把二层骨架搭稳
3.1 VLAN 规划:ID、命名与管理面分离
VLAN 规划不是拍脑袋分号段,先定三件事:哪些 VLAN 走用户、哪些走服务器、哪个走管理。我的习惯是用户段从 10 开始,服务器段从 30 开始,管理段固定在 99,中间留出空档给后续扩容。VLAN 1 不动,也不往里放任何业务口。
SW-CORE-01(config)# vlan 10 SW-CORE-01(config-vlan)# name OFFICE SW-CORE-01(config-vlan)# vlan 20 SW-CORE-01(config-vlan)# name GUEST SW-CORE-01(config-vlan)# vlan 30 SW-CORE-01(config-vlan)# name SERVER SW-CORE-01(config-vlan)# vlan 99 SW-CORE-01(config-vlan)# name MGMT SW-CORE-01(config-vlan)# end SW-CORE-01# show vlan brief参数说明:VLAN ID 范围 1–4094,1002–1005 是出厂保留给 FDDI 和 Token Ring 的,别碰。name字段最长 32 字符,建议用大写英文加短横线,别写中文,某些终端和网管工具会显示乱码。show vlan brief输出里要看 Status 列是不是 active,Ports 列有没有把不该划进去的端口带进去。
这里有个细节:VLAN 创建后存在flash:vlan.dat,不在 startup-config 里。所以你把配置拷到另一台设备,VLAN 库并不会跟着过去,这是新手最容易懵的地方之一。
3.2 Access 端口批量下发:range、nonegotiate、portfast 与 bpduguard
接入口的配置我一般用interface range一次刷完,避免一个个口敲出不一致。
SW-CORE-01(config)# interface range gigabitEthernet 0/1 - 8 SW-CORE-01(config-if-range)# description OFFICE-PC SW-CORE-01(config-if-range)# switchport mode access SW-CORE-01(config-if-range)# switchport access vlan 10 SW-CORE-01(config-if-range)# switchport nonegotiate SW-CORE-01(config-if-range)# spanning-tree portfast SW-CORE-01(config-if-range)# spanning-tree bpduguard enable SW-CORE-01(config-if-range)# no shutdown SW-CORE-01(config-if-range)# exit逐条说:switchport mode access把端口钉死成接入模式,不让它协商成 trunk;switchport nonegotiate关掉 DTP,防止接入口被对面设备"谈"成 trunk,这是典型的二层翻车点;spanning-tree portfast让终端口跳过监听学习阶段直接转发,PC 开机不用等 30 秒拿地址;spanning-tree bpduguard enable配合 portfast 使用,一旦这个口收到 BPDU,说明下面接了交换机或者有环路,端口直接进 err-disable,把环路掐死在边缘。
interface range支持连字符和逗号混写,比如interface range gi0/1-8,gi0/10,gi0/15-20。批量下发之前先show running-config interface看一眼原配置,别把上联口一起刷进去了。
3.3 Trunk:封装、允许列表与 native VLAN
上联口是另一套配法,3560 上这块有个经典报错,后面避坑章会展开,这里先把正确顺序写出来。
SW-CORE-01(config)# interface gigabitEthernet 0/23 SW-CORE-01(config-if)# description UPLINK-TO-ACCESS SW-CORE-01(config-if)# switchport trunk encapsulation dot1q SW-CORE-01(config-if)# switchport mode trunk SW-CORE-01(config-if)# switchport trunk allowed vlan 10,20,30,99 SW-CORE-01(config-if)# switchport trunk native vlan 999 SW-CORE-01(config-if)# switchport nonegotiate SW-CORE-01(config-if)# end SW-CORE-01# show interfaces trunk参数说明:encapsulation dot1q必须排在mode trunk之前,因为 3560 同时支持 ISL 和 802.1Q,封装默认是 auto,auto 状态下不允许直接切 trunk 模式。allowed vlan是白名单语义,不写就是全部放行,我一般显式列出来,减少广播域串台。native vlan 999把未打标签的流量挪到一个没人用的 VLAN,两端必须一致,不一致会在日志里刷native VLAN mismatch,同时 VLAN 1 的流量会互相串。show interfaces trunk输出里重点看三列:Mode 是不是 trunk、Encapsulation 是不是 802.1q、Vlans Allowed 和 Vlans Active 是否一致。
如果对端是服务器网卡做的 bond,或者对端是别的厂商设备,有可能只认 tagged 不认 native,这时候本端可以配switchport trunk native vlan tag,让 native VLAN 的帧也带标签。
3.4 SVI 与 VTP:什么时候该把 VTP 关掉
SVI 是三层交换机的网关接口,配置很短但顺序有讲究。
SW-CORE-01(config)# interface vlan 10 SW-CORE-01(config-if)# ip address 10.10.10.1 255.255.255.0 SW-CORE-01(config-if)# no shutdown SW-CORE-01(config-if)# exit SW-CORE-01(config)# ip routinginterface vlan 10能不能 up,取决于两件事:VLAN 10 在 VLAN 数据库里存在,且至少有一个物理口属于 VLAN 10 并且是 up 的。这两个条件缺一个,SVI 就是 down/down,网关地址形同虚设。
VTP 这块,我的建议很直接:中小网络一律transparent。
SW-CORE-01(config)# vtp mode transparent SW-CORE-01(config)# vtp domain LAB SW-CORE-01(config)# vtp password Lab@123 SW-CORE-01(config)# end SW-CORE-01# show vtp statusVTP 的设计初衷是让一台 server 集中管理全网 VLAN,client 自动同步。问题是同步靠的是 revision number,谁的数字大听谁的。一台从别的网络拿过来的交换机,revision 可能高得离谱,插上 trunk 的瞬间就能把线上所有 VLAN 覆盖掉,表现是 VLAN 突然消失、SVI 集体 down、业务全断。transparent 模式下本机只转发 VTP 报文不同步数据库,各管各的,牺牲一点便利换稳定性。
真要用 server/client,接入前先做两件事:把新设备的 domain 改成一个不存在的名字,或者先vtp mode transparent清掉 revision,配好 VLAN 再切回 client。show vtp status里的 Configuration Revision 就是那个要命的数字。
3.5 PVLAN:把同一网段里的主机隔开
有些场景不方便用不同网段隔离,比如 IDC 里一批服务器必须同网段但互相不能通,这时候用 PVLAN 比堆 ACL 干净。
SW-CORE-01(config)# vlan 100 SW-CORE-01(config-vlan)# private-vlan primary SW-CORE-01(config-vlan)# vlan 101 SW-CORE-01(config-vlan)# private-vlan isolated SW-CORE-01(config-vlan)# vlan 102 SW-CORE-01(config-vlan)# private-vlan community SW-CORE-01(config-vlan)# vlan 100 SW-CORE-01(config-vlan)# private-vlan association 101,102 SW-CORE-01(config-vlan)# exit SW-CORE-01(config)# interface range gigabitEthernet 0/10 - 12 SW-CORE-01(config-if-range)# switchport mode private-vlan host SW-CORE-01(config-if-range)# switchport private-vlan host-association 100 101 SW-CORE-01(config-if-range)# exit SW-CORE-01(config)# interface gigabitEthernet 0/24 SW-CORE-01(config-if)# switchport mode private-vlan promiscuous SW-CORE-01(config-if)# switchport private-vlan mapping 100 101,102 SW-CORE-01(config-if)# exit SW-CORE-01(config)# interface vlan 100 SW-CORE-01(config-if)# ip address 10.10.100.1 255.255.255.0 SW-CORE-01(config-if)# private-vlan mapping 101,102 SW-CORE-01(config-if)# no shutdown逻辑是这样:primary VLAN 100 是外壳,isolated VLAN 101 里的端口之间完全不能通、只能和 promiscuous 口通,community VLAN 102 内部可以互通但同样只能和 promiscuous 通。上行口和网关都挂在 promiscuous 上,SVI 那边还要再做一次private-vlan mapping,不做的话二层通了三层不通。
如果只是单台交换机内部隔离,不想搞这么复杂,用switchport protected就行,一条命令把端口之间二层隔开,缺点是跨交换机不生效,也没有 community 的概念。
4. 打开三层能力:SVI 路由、OSPF 与 HSRP
4.1 ip routing 打开后,转发路径变了什么
ip routing这条命令一敲,设备的转发模型就变了:同一个 VLAN 内部的流量还是二层交换,跨 VLAN 的流量第一次上到 CPU 查路由、改写二层头,之后同一条流走硬件快速转发。这就是"一次路由、多次交换"。
SW-CORE-01(config)# ip routing SW-CORE-01(config)# no ip default-gateway SW-CORE-01(config)# end SW-CORE-01# show ip route SW-CORE-01# show ip interface briefno ip default-gateway这一步别省。开了路由之后这条命令不再生效,留着只会让排错时多一个干扰项。show ip route里应该能看到每个 SVI 对应的直连网段,标记是 C;show ip interface brief里 SVI 的 Status 和 Protocol 都应该是 up。
有个容易忽略的边界:管理口和 SVI 不要配在同一网段。带外管理口是独立接口,和
本文还有配套的精品资源,点击获取