ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Cisco交换机配置实战:从VLAN划分到SSH远程管理与故障排查

Cisco交换机配置实战:从VLAN划分到SSH远程管理与故障排查 简介这是一份面向网络初学者与运维人员的Cisco交换机基本配置研究方案文档围绕Catalyst系列交换机从入门到上手系统梳理了核心配置要点。文档重点解析Cisco IOS系统的命令行接口特点、用户模式与特权模式区别、命令简写与帮助功能并完整演示了通过Console口和Telnet两种方式连接交换机的具体步骤及参数设置方法同时逐一说明enable、configure terminal、hostname、interface、ip address、no shutdown、vlan等常用配置命令并给出特权密码与远程登录密码的安全配置建议。包体为1个doc文档容量96KB内容按实验目的、器材环境、理论基础和实训步骤组织结构清晰、便于逐步对照操作。读者可从中获得完整的实验环境搭建方式、Console口与Telnet会话登录配置流程、常用命令速查以及密码安全设置要点既能按步骤复现实验场景又可在Boson Netsim等模拟环境中同步练习和排错参考适合作为网络技术课程实训指导材料也是自学思科设备配置的实用速查手册。目前已有94人浏览学习。1. 开局先想清楚这台交换机要干什么Cisco 交换机的基本配置比大多数人想象中简单也比大多数人想象中更容易翻车。我刚带项目时第一次拿到一台 Catalyst 2960开机看到Switch提示符以为敲几条命令就完事结果端口起不来、VLAN 不通、远程登录被拒折腾到半夜才发现是几个非常基础的地方没做对。后来带新人我总结出一个结论交换机配置不是背命令而是先搞清楚拓扑里它扮演什么角色——是接入层给终端上网还是汇聚层跑 DHCP 中继或是三层交换机做网关。角色定了命令自然就堆得出来。这篇文章直接以 Cisco IOS 命令行界面为主线从 Console 线怎么接、仿真器怎么模拟写到 VLAN 划分、Trunk、Telnet/SSH、DHCP 中继、AAA 和日志最后把常见故障按现象、原因、解决三个维度拆开。适合刚接手 Cisco 设备、想从零把一台交换机跑起来的网络工程师也适合用 Cisco Packet Tracer 或 EVE-NG 练手的初学者照着复现。我会把每一步的命令、参数含义和踩过的坑都写清楚不写玄学只写能落地的东西。2. 搭建实验环境从真机到仿真器的三条路2.1 真机 Console 登录线序、速率与超级终端拿到一台新的 Cisco 交换机第一步永远是 Console 口。前面板或后面板上那个 RJ45 或 Mini-USB 接口旁边通常标注着 CONSOLE 字样。用附带的那根浅蓝色 Console 线一头接交换机一头接电脑的串口或 USB 转串口线。这里第一个坑就是驱动USB 转串口芯片常见的是 FTDI 和 CH340Windows 10 之后系统能自动识别大部分但老版本系统需要手动装驱动否则设备管理器里看不到 COM 口。登录软件方面我常用的有 MobaXterm、SecureCRT 和 PuTTY。MobaXterm 的 Sessions 里选 Serial端口填设备管理器里看到的 COM3 或 COM4波特率必须选 9600数据位 8、停止位 1、无校验、无流控。这组参数是 Cisco 设备的默认值改任何一个都可能出现乱码或直接无响应。# Windows PowerShell 下查看串口号 Get-WinEvent -LogName System | Where-Object {$_.Message -like *COM*} | Select-Object -First 5提示连上后如果屏幕空白先敲几下回车。交换机刚上电时 Console 输出可能已经错过回车能唤出Switch提示符。登录后看到Switch说明处于用户执行模式只能看不能改。输入enable进入特权模式默认无密码的话直接跳到Switch#。configure terminal进入全局配置模式缩写为conf t。这三个模式的切换是 Cisco 命令体系的基础后面所有配置都在全局配置模式下完成。2.2 仿真器怎么选Packet Tracer 与 EVE-NG 的边界没有真机的时候Cisco Packet Tracer 是最快上手的仿真器。它的好处是拓扑搭建拖拽即可支持 2960、3650、4300 等主流型号还能模拟 PC、服务器和云。坏处是部分高级特性不支持比如某些三层交换机的 VRF-lite、策略路由、NetFlowPacket Tracer 里要么没有要么行为跟真机不完全一致。所以 Packet Tracer 适合练基础配置不适合做生产方案验证。EVE-NG 是另一个选择它运行在 VMware 或 Proxmox 上可以加载思科 IOSv、IOS-XE 和 Nexus 的镜像。镜像需要自己准备这一步涉及软件授权问题我不展开。我只说用法EVE-NG 的节点启动后通过网页端右键打开 Telnet 窗口操作体验和真机 Console 几乎一致。我在交付项目前通常会先在 EVE-NG 里把配置脚本完整跑一遍确认没有语法错误再上真机。2.3 最小化拓扑一台交换机两台 PC 的连通性验证无论真机还是仿真器第一个实验拓扑都建议从最小化开始一台交换机接两台 PC配好 IP 后互相 ping 通。# 交换机侧创建 VLAN 10 并加入端口 enable configure terminal vlan 10 name PC_VLAN exit interface range fastEthernet 0/1 - 2 switchport mode access switchport access vlan 10 no shutdown end这段配置先创建了一个编号为 10 的 VLAN命名为 PC_VLAN然后把 Fa0/1 和 Fa0/2 两个端口设为 access 模式并划入该 VLAN。switchport mode access的作用是让端口只承载一个 VLAN 的数据帧no shutdown确保端口处于启用状态——新交换机端口默认是启用的但如果之前有人操作过shutdown这步就是后悔药。两台 PC 分别配 192.168.10.2/24 和 192.168.10.3/24同 VLAN 内就能 ping 通。如果 ping 不通先查 PC 的 IP 和子网掩码再查交换机端口状态show interfaces status show vlan briefshow vlan brief会列出所有 VLAN 及其包含的端口如果 Fa0/1 不在 VLAN 10 里说明端口划分失败重新检查前面的命令即可。3. 基础配置三板斧管理地址、远程登录和 VLAN 划分3.1 管理 IP 与默认网关没有它你什么都够不着二层交换机本身没有 IP 地址的概念但为了让工程师能用 Telnet 或 SSH 远程管理就需要给交换机配置一个管理 IP。这个 IP 通常落在 VLAN 1 或专门的管理 VLAN 上。我不建议用 VLAN 1 做管理因为 VLAN 1 是默认 VLAN所有端口默认都在里面安全风险太高。常见做法是单独建一个 VLAN 99 做管理然后把接入端口划到业务 VLAN。interface vlan 99 ip address 192.168.99.2 255.255.255.0 no shutdown exit ip default-gateway 192.168.99.1interface vlan 99进入 SVI交换虚拟接口ip address配好管理 IPno shutdown启用这个虚拟接口。ip default-gateway必须有否则跨网段管理时交换机不知道把回应包发给谁。从 PC 上验证ping 192.168.99.2能通说明管理面已经通了。不通的话检查 PC 是否和交换机管理 VLAN 在同网段检查交换机上有没有配置 ACL 拦截管理流量这个坑后面我会单独列出来。3.2 VLAN 的创建、命名与端口角色Access 和 Trunk 的差别VLAN 划分是交换机配置的核心工作。创建 VLAN 的语法很固定需要注意vlan后面的编号范围普通 VLAN 是 1 到 1005扩展 VLAN 需要先切换到 VTP transparent 模式才能创建 1006 到 4094。对于绝大多数接入层场景1 到 100 就够用。命名规则上我习惯用部门或业务名比如Finance、Office_WiFi方便后续维护。端口角色只有两种Access 和 Trunk。Access 口只属于一个 VLAN连接终端设备例如 PC、打印机、IP 电话。Trunk 口用于交换机之间或交换机与路由器之间传递多个 VLAN 的流量。区分两者的核心在于帧标记Access 口发出的帧不带 802.1Q 标签Trunk 口发出的帧带标签接收方靠标签识别帧属于哪个 VLAN。interface fastEthernet 0/24 switchport mode trunk switchport trunk allowed vlan 10,20,99 switchport trunk native vlan 99这段配置把 Fa0/24 设为 Trunk 口只允许 VLAN 10、20、99 通过。native vlan是指不打标签的 VLAN默认是 VLAN 1两边必须一致否则 VLAN 间的帧会被错误转发形成二层环路或广播泄漏。这是 Trunk 配置里最容易埋雷的地方。3.3 三层交换机当网关配置 SVI 和 IP 路由如果是 3650、3850 这样的三层交换机直接在 VLAN 接口上配 IP 就能当网关省掉外部路由器。做法和前面管理 IP 一样只是把 IP 地址换成业务网段interface vlan 10 ip address 192.168.10.254 255.255.255.0 no shutdown interface vlan 20 ip address 192.168.20.254 255.255.255.0 no shutdown ip routingip routing是三层交换机启用 IP 路由的关键命令不打这条VLAN 之间不会互相转发流量。默认情况下Catalyst 2960 是纯二层设备没有这条命令Catalyst 3650 和 3850 默认是 IP Base 许可支持静态路由和 OSPF。配好后PC 的网关指向对应 VLAN 接口地址跨 VLAN 通信即可完成。验证命令show ip interface brief show ip routeshow ip route里应该能看到直连路由VLAN 10 和 VLAN 20 的网段都出现在 C 开头的那几行。如果ping不通重点检查ip routing是否配置成功以及端口是否在正确的 VLAN 里。4. 远程管理与日常运维SSH、口令加密和配置备份4.1 SSH 替代 Telnet生成 RSA 密钥和 VTY 访问控制Telnet 是明文协议口令和配置都能被抓包看到生产环境基本被禁用。SSH 是替代方案配置也不复杂但 Cisco 设备默认不带 SSH server 功能部分老型号还需要先启用加密许可。hostname Core-SW1 ip domain-name example.local crypto key generate rsa modulus 2048 username admin secret Str0ngPassw0rd line vty 0 15 transport input ssh login local exit ip ssh version 2hostname和ip domain-name是生成 RSA 密钥的前置条件少了任何一个crypto key generate rsa都会报错。密钥长度建议 2048 位1024 位现在被认为不够安全。username admin secret这条命令里的secret关键字很关键设备会用哈希算法存储口令而不是明文。VTY 线路的transport input ssh表示只允许 SSH 协议login local表示用本地用户名口令验证。SSH 连接验证ssh -l admin 192.168.99.2如果报错先确认交换机上有没有ip ssh version 2再确认 VTY 配置是否生效。常见问题是只配了transport input ssh但忘了login local导致连接被拒绝。4.2 管理接口加 ACL只允许运维网段登录的三种写法带外管理网段应该只允许运维人员访问。在 VTY 线路里挂 ACL 是最常见的做法access-list 10 permit 192.168.99.0 0.0.0.255 access-list 10 deny any line vty 0 15 access-class 10 inaccess-class 10 in表示 VTY 入方向只放行 ACL 10 允许的源地址。这里要特别注意通配符的写法0.0.0.255是通配符掩码不是子网掩码意义是前 24 位固定后 8 位任意。很多新手把255.255.255.0直接写上去ACL 就废掉了。如果管理网段还包含防火墙的源地址转换需要在 ACL 里加上防火墙出口地址否则运维人员从防火墙 NAT 后过来照样被拒。这个坑我踩过当时整个园区网的设备全部失联最后用 Console 线逐台排查才找到原因。4.3 配置保存与备份write memory 不是唯一选择配置改完了write memory或copy running-config startup-config是必须做的否则重启后配置全部丢失。这个动作我每次操作完都会立刻执行有时候为了保险还会copy running-config tftp把配置备份到 TFTP 服务器。copy running-config tftp按照提示输入 TFTP 服务器地址和文件名。TFTP 没有认证机制所以只建议在内网用。另一种备份方式是直接把配置输出重定向到日志show running-config然后手工拷贝文本到笔记工具里。缺点是不如 TFTP 完整但胜在快速适合临时归档。我更推荐用 TFTP 或 FTP 做自动备份配合 cron 脚本每晚拉一次这样即使设备硬件故障配置也能在半小时内恢复到新设备上。4.4 口令加密和横幅提示安全基线必配项Cisco 设备默认的enable口令是用弱哈希存储的抓取配置文件就能看到明文。用enable secret可以升级为 MD5 哈希enable secret YourEnablePassword banner motd #Authorized access only. All activities are monitored.# service password-encryptionservice password-encryption会把配置文件里的明文口令替换为弱加密虽然现在能破解但比起明文还是强不少。banner motd主要起提示作用法律层面它让未经授权的访问者知道正在被监控。这两条都是安全基线的必选项不配的话上级审计大概率会被开不符合项。5. 排查与避坑五个让工程师深夜加班的典型案例5.1 端口状态 down/down物理层问题还是配置没生效现象show interfaces status显示 Fa0/1 是 down/downPC 网卡也显示未连接。原因第一步查物理链路——网线是否松动、光模块是否插到位、对端设备是否开机。如果物理正常端口还显示 down大概率是被人工 shutdown 了。解决interface fastEthernet 0/1 no shutdown这步做完再看状态。还有一种情况是端口被划到不存在的 VLAN 里比如switchport access vlan 999端口也会 down。用show vlan brief确认 VLAN 存在即可。5.2 配置了 Trunk 但 VLAN 间还是不通允许列表和 native vlan 不匹配现象两台交换机做了 Trunk 互联Access 口也划了相同 VLANPC 就是 ping 不通对端。原因Trunk 口只放通了默认 VLAN 1业务 VLAN 10 没加进allowed vlan列表。另一个可能是两端native vlan不一致导致标签处理错乱。解决interface gigabitEthernet 0/1 switchport trunk allowed vlan 10,20,99 switchport trunk native vlan 99改完两端配置用show interfaces trunk验证 Trunk 状态是否变为Trunking以及 allowed vlan 列表是否一致。5.3 管理 IP 能 ping 通但 SSH 连不上transport input 被改回了 all现象前一天还能 SSH今天连接报错Connection refused或直接超时。原因有人动过 VTY 配置或者恢复配置备份时把transport input ssh覆盖成了默认的all。transport input all表示允许所有协议包括 Telnet但很多终端工具默认不尝试 Telnet就会有连不上的错觉。解决line vty 0 15 transport input ssh login local改完立即测试。如果还连不上检查是否有 ACL 挂在 VTY 线路上并用show ip access-lists确认匹配计数是否在增长。5.4 DHCP 获取不到地址DHCP Snooping 和端口安全在拦截现象PC 接入交换机后获取不到 IP手动配同网段地址却能通信。原因交换机启用了 DHCP Snooping但接入端口没有配置为信任端口DHCP 的 Offer 报文被丢弃。另外端口安全如果配置了sticky MAC终端更换网卡后地址绑不上也会掉线。解决interface fastEthernet 0/1 ip dhcp snooping trust如果交换机是接入层上联口需要配置为信任口下联口保持非信任。端口安全导致的掉线用show port-security interface fastEthernet 0/1查看违规计数必要时clear port-security sticky清掉老 MAC。5.5 配置保存后重启丢失startup-config 没有正确写入现象交换机重启后配置回到出厂状态所有 VLAN 和接口配置都没了。原因配置完成后没有执行copy running-config startup-config。控制台敲了write但被中断也可能是 flash 空间不足配置写入失败。解决copy running-config startup-config执行后确认输出里有[OK]字样。如果空间不足用show flash:查看剩余空间删除不需要的旧 IOS 文件后再试。6. 进阶技巧把交换机配置当代码来管理最后一章分享一个我坚持了很久的习惯把每台交换机的配置做成标准化模板并纳入版本管理。这个习惯在设备更换、版本升级和故障回滚时帮我省了大量时间。我的做法是建一个叫network-configs的 Git 仓库目录按机房和交换机角色分比如CORE-SW1、DIST-SW2、ACCESS-FL1。每台设备对应三个文件running-config.txt、startup-config.txt和notes.md。notes.md里记录这台设备的特殊配置原因例如“上联口做了 LACP不能直接 shutdown 测试”或“VLAN 99 是管理 VLANACL 放行了 10.0.0.0/8”。每次变更配置先把变更前的show running-config保存到 Git再做修改最后提交时顺便带上变更说明。这样一条命令回滚到任意历史版本git checkout commit_id -- CORE-SW1/running-config.txt手动把历史配置灌回设备即可。我还习惯在重大变更前先做一次配置全量备份用show tech-support导出更完整的诊断信息和 running-config 一起存档。这个习惯带来的直接收益是团队里任何一个人都能在 15 分钟内恢复一台设备到指定版本而不是依赖某个人脑子里的记忆。另一个收益是能对照 Git 历史快速定位“上次改动里哪条命令造成了这次故障”。有一次接入层交换机出现周期性掉线Git 记录显示前一天有人把某个端口的spanning-tree portfast改成默认行为恢复后故障立即消失。交换机配置本质上是对网络状态的声明把它当作配置文件来写、来审、来管比在命令行里盲目敲命令可靠得多。这点希望帮到你也能让你在深夜值班时多一份从容。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进