ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Cisco交换机开局配置全解析:从Console到SSH的完整指南

Cisco交换机开局配置全解析:从Console到SSH的完整指南 简介针对初次接触思科交换机的网络学习者与运维人员这份思科交换机基本配置资料是一份可直接对照上手的入门文档。内容从网络操作系统特性讲起梳理了控制台口连接与远程登录两种访问方式、用户模式与特权模式的区别以及设置主机名、接口地址、虚拟局域网划分、端口模式和安全密码等常用命令并结合模拟软件给出了实验环境搭建思路便于在无实体设备的情况下完成交换机初始化配置。资料共1个文件为doc文档压缩包大小96KB结构紧凑关键命令和配置步骤集中呈现适合打印或离线查阅。目前已有94人学习使用对于需要快速掌握交换机基础命令、准备网络实训或独立完成设备配置的读者具备明确的参考价值。1. Cisco 交换机的基本配置到底在配什么一张配置清单看清全部边界刚接触 Cisco 交换机的工程师最容易把「基本配置」理解成敲几条命令让设备能通。实际上一台刚从包装箱里拿出来的交换机从 Console 线登录、改主机名、配管理地址、划分 VLAN、打通跨交换机链路到最后能通过 SSH 远程管理并且配置不丢失这才是一套完整的「基本配置」。这一步走不顺后面做 STP、做三层路由、做端口安全全都是空中楼阁。这篇文章围绕「Cisco 交换机的基本配置」这个方向把开局到上线的完整动作拆开讲清楚每一步的命令是什么、参数怎么理解、失败时看什么输出。真机和 Cisco Packet Tracer 模拟器的命令几乎一致你可以先在 Packet Tracer 里把整套流程跑一遍再上真机操作风险会小很多。内容只覆盖二层交换机最常用的部分3560、3750 这类三层交换机的路由配置不在本文范围内。2. 开局先过三关Console 登录、设备命名、远程管理前的底子2.1 用 Console 线连上真机第一次登录常见的翻车点新交换机没有任何 IP 配置唯一能进去的通道就是 Console 口。常见做法是拿蓝色 Console 线接电脑的 COM 口或 USB 转串口线然后打开 SecureCRT、Xshell 或 PuTTY。连接参数是固定的波特率 9600数据位 8停止位 1无校验无流控。这五个参数少一个不对屏幕上要么是乱码要么干脆没反应。第一次登录翻车最多的是两个地方。一个是电脑没有识别出 USB 转串口芯片设备管理器里看不到 COM 口这种情况要去装对应芯片的驱动常见的是 CH340 和 CP2102。另一个是波特率选错有些老设备或特殊场景会用到 19200但 Cisco 交换机出厂默认就是 9600不要一上来就怀疑设备坏了。连接成功后一般会看到 Switch 这样的提示符。如果是一台用过的设备可能要按提示输入 enable 密码。如果看到的是空白屏幕敲几下回车看有没有反应还是没有的话检查串口线有没有插紧。这里不需要额外配置登录进去的瞬间配置工作就正式开始了。Cisco 设备的命令行提示符本身就是状态指示器。Switch 是用户模式只能看不能改输入 enable 进入特权模式提示符变成 Switch#这时才能看到配置、保存配置再输入 configure terminal 进入全局配置模式提示符变成 Switch(config)#几乎所有修改动作都发生在这里。这三个模式是后续所有命令的容器方向不对命令敲了也会报错。2.2 主机名、enable 密码、加密口令三条命令把设备身份立住拿到交换机第一件事是改主机名。设备多了以后每台设备的身份就是从提示符上看出来的如果全是 Switchshow 出来的日志根本分不清是哪台设备出了问题。主机名的修改在全局配置模式下完成同时把 enable 密码一起设掉。Switch enable Switch# configure terminal Switch(config)# hostname Access-SW-01 Access-SW-01(config)# enable secret Cisco123 Access-SW-01(config)# line console 0 Access-SW-01(config-line)# password ConsolePass Access-SW-01(config-line)# login Access-SW-01(config-line)# end Access-SW-01#hostname 命令之后提示符立刻变化Access-SW-01(config)# 说明当前已经在这台设备上。enable secret 设置的是进入特权模式的密码注意这里用的是 secret 而不是 password两者差异在后面排查里会细说。line console 0 进入的是 Console 线路配置password 和 login 配合让每次通过 Console 口登录时都要求输入密码。参数说明上有一个点容易忽略enable secret 后面的密码在配置文件里是用 MD5 哈希形式存储的别人拿到配置文件也看不到明文如果用 enable password密码是明文存储的一条 show running-config 就全暴露了。所以生产环境一律用 enable secret不要去用 enable password这是 Cisco 设备最基本的密码卫生习惯。Console 口的 login 参数很多初学者会漏。只配了 password 不配 login这条密码是不生效的登录时直接进密码形同虚设。两条命令必须成对出现这在 Cisco 的线路配置里是一个很经典的前置条件。2.3 管理 VLAN 和管理 IP让交换机能从网络里被找到二层交换机本身没有 IP 的概念但设备需要一个管理地址否则只能蹲在机房里用 Console 线操作。这个管理地址通常放在 VLAN 1 或单独划一个管理 VLAN 上。默认情况下所有端口都在 VLAN 1 里所以最省事的做法是把管理 IP 直接配在 VLAN 1 上等后面 VLAN 规划做完了再挪到管理 VLAN 上。Access-SW-01# configure terminal Access-SW-01(config)# interface vlan 1 Access-SW-01(config-if)# ip address 192.168.10.2 255.255.255.0 Access-SW-01(config-if)# no shutdown Access-SW-01(config-if)# exit Access-SW-01(config)# ip default-gateway 192.168.10.1interface vlan 1 是进入交换机的管理虚拟接口不是物理端口。ip address 后面的两个参数是 IP 和掩码no shutdown 是让这个接口保持启用状态很多人配完管理 IP 发现 ping 不通就是忘了这一句因为 Cisco 的 VLAN 接口默认是 shutdown 状态。ip default-gateway 给交换机指了一条默认网关跨网段管理时不配置这个管理 IP 只能在同网段内被访问。到这里设备已经能通过 Console 管理、能通过网络被 ping 通但还没法远程登录。远程登录需要 vty 线路和 SSH 或 Telnet 的支持这部分在后面的章节单独展开。就开局来说这三步做完一台交换机的「身体」已经立住了。3. 二层转发的基本盘VLAN 划分与 Access 口配置3.1 建 VLAN、起名字、把端口划进去最小可用的三条命令VLAN 是二层交换机最核心的工作对象。一个广播域被切成多个 VLAN 后广播报文被限制在各自 VLAN 内不同 VLAN 之间默认完全隔离。设计上每个 VLAN 对应一个网段、一类业务或一个部门这是最常规的思路。配置本身不复杂复杂的是想清楚怎么划。创建一个 VLAN 并命名然后把一个端口划进去是最小的一组操作Access-SW-01# configure terminal Access-SW-01(config)# vlan 10 Access-SW-01(config-vlan)# name Office Access-SW-01(config-vlan)# exit Access-SW-01(config)# interface fastethernet 0/1 Access-SW-01(config-if)# switchport mode access Access-SW-01(config-if)# switchport access vlan 10 Access-SW-01(config-if)# endvlan 10 进入的是 VLAN 配置视图name 给这个 VLAN 一个可读的名字名字只在本地有意义不影响转发。interface fastethernet 0/1 进入物理端口switchport mode access 把这个端口设为 Access 模式switchport access vlan 10 让这个端口归属到 VLAN 10。两条 switchport 命令的顺序不能反先设模式再指定 VLAN。如果反过来部分 IOS 版本会报错或者不生效。这里有一个细节值得注意把端口划进一个不存在的 VLAN 时部分 IOS 版本会自动创建这个 VLAN但不会给它命名名字默认为 VLAN0010。这种行为在不同型号上表现不完全一致稳妥的做法还是先创建 VLAN 再划端口。另外端口默认在 VLAN 1如果你只想确认某个端口在哪个 VLANshow interface fastethernet 0/1 switchport 的输出里能看到 Access Mode VLAN 那一行。3.2 show vlan brief 怎么读端口归属和 VLAN 状态的判断标准配置完以后怎么确认做对了show vlan brief 是最快的方式。它的输出是一个表VLAN ID、名字、状态、端口列表。状态如果是 active说明 VLAN 正常工作如果端口列表里没有你刚划进去的端口说明 switchport access vlan 那一步没有生效或者端口被 shutdown 了。show vlan brief 的输出里还有一个容易误读的点端口只在该 VLAN 是 Access 模式时才会出现在表里。如果端口是 Trunk 模式show vlan brief 的端口列表里看不到它因为 Trunk 口承载的是多个 VLAN这张表根本不统计 Trunk 口。很多初学者在 Trunk 口上纠结「为什么我的端口不在 VLAN 列表里」原因就在这里。判断一个端口到底是 Access 还是 Trunk以及它属于哪个 VLAN更准确的命令是 show interface fastethernet 0/1 switchport。这个命令的输出把端口模式、Access 所属 VLAN、Trunk 允许的 VLAN 列表全列出来了排查时比 show vlan brief 更有信息量。show vlan brief 适合整体看一遍 VLAN 规划show interface switchport 适合单独查一个端口。还有一个被忽略的日常排障动作show mac address-table。它列出 MAC 地址、VLAN、端口三者的对应关系。如果一个终端的 MAC 出现在错误的 VLAN 或错误的端口下说明终端可能接错了口或者配置下发时手误划错了 VLAN。这个命令在验收阶段几乎是必用的。3.3 一个端口一个 VLAN 还不够Access 口的边界与常见误用Access 口是连接终端设备的它的语义是「这个端口属于且只属于一个 VLAN」。所以 Access 口上不需要配置 allowed vlan 列表不需要协商 Trunk更不需要配置封装。越简单的东西越有人把它玩复杂。常见误用有三种。第一种是把接入服务器的端口配成 Trunk觉得「可能有多个 VLAN 要过」实际上服务器没有做 VLAN Tagging 的话Trunk 口根本不通因为 Trunk 口默认发出的帧是带 802.1Q 标签的服务器的网卡不识别就丢包了。第二种是在 Access 口上配 switchport trunk allowed vlan这条命令对 Access 口行为没有影响配了等于没配纯属浪费精力。第三种是忘掉 shutdown 或 no shutdown 的状态拿到一台旧设备端口可能被前人 shutdown 过新配置的人没查状态直接接终端终端死活上不了网show interface 一看是 administratively down。Access 口还有一个参数在实际项目中很常用spanning-tree portfast。接终端的端口默认要等 30 秒左右的 STP 收敛时间才能转发数据如果不希望终端开机后等半分钟才能拿到 DHCP 地址可以在端口下配 spanning-tree portfast。它的作用是把端口直接切到转发状态但前提是你确认这个端口下面没有接交换机——如果有交换机portfast 会造成环路风险。Access-SW-01(config)# interface range fastethernet 0/1 - 24 Access-SW-01(config-if-range)# switchport mode access Access-SW-01(config-if-range)# spanning-tree portfastinterface range 是一次性把 1 到 24 号端口全部选中的写法- 号前后有空格。批量配置 Access 模式加 portfast是新交换机开局时最常用的组合。注意 interface range 里不能混用不同模式的端口否则命令执行会报错。4. 跨交换机要通Trunk 和 DTP 是分水岭4.1 手动指定 Trunk封装、模式、允许列表一条条说清两台交换机之间要传多个 VLAN 的流量光靠一根网线是不够的必须把这条链路配成 Trunk。Trunk 的本质是在同一条物理链路上传输多个 VLAN 的带标签帧帧头里多了 802.1Q 的 VLAN 标记。配置 Trunk 的典型命令如下Access-SW-01# configure terminal Access-SW-01(config)# interface gigabitethernet 0/1 Access-SW-01(config-if)# switchport trunk encapsulation dot1q Access-SW-01(config-if)# switchport mode trunk Access-SW-01(config-if)# switchport trunk allowed vlan 10,20,30 Access-SW-01(config-if)# switchport trunk native vlan 99 Access-SW-01(config-if)# endswitchport trunk encapsulation dot1q 指定 Trunk 封装协议。在 3560 这类支持多种封装的老设备上不指定会协商失败在纯 2960 上这行命令可以省略因为只支持 dot1q。switchport mode trunk 把端口模式改为 Trunk。switchport trunk allowed vlan 决定这条 Trunk 上允许哪些 VLAN 通过这里写的是 VLAN 10、20、30不写的话默认放通所有 VLAN。switchport trunk native vlan 设置的是本征 VLAN。802.1Q 规定本征 VLAN 的帧在 Trunk 链路上不打标签其余 VLAN 必须打标签。两端交换机的 native VLAN 必须一致不一致时会出现 VLAN 跳变的经典故障具体症状在后面的避坑章节展开。这个参数是 Trunk 配置里最容易被忽略、也最容易出事的。注意命令副作用把端口从 Access 切成 Trunk 时如果这台设备上有现成的 Access VLAN 配置一些 IOS 版本会自动把原来的 Access VLAN 设为 native VLAN。所以严格来说切模式之前先想好 native VLAN 是什么配完之后 show interfaces trunk 逐一核对。4.2 DTP 协商的坑为什么你明明配了 trunk 却还是 accessCisco 的交换机端口默认开启 DTPDynamic Trunking Protocol端口之间会协商要不要形成 Trunk。这个协商机制在日常维护里制造了大量困惑一边配了 switchport mode trunk另一边是默认的 dynamic desirable结果链路是通的两边都配了 trunk反而有一个端口掉成了 access。DTP 的模式有这么几种dynamic auto、dynamic desirable、trunk、access。dynamic auto 可以响应对方的 trunk 请求但自己不主动发起dynamic desirable 会主动发起协商trunk 则是无条件要求对方成为 trunk。两台都配了 switchport mode trunk 时握手应该最干脆但在 Cisco 设备上有一侧如果残余了 Dynamic 配置端口状态可能变成「Trunk 但处于协商中」show interfaces trunk 的输出会显示协商状态为 n-negotiate。实际处理上生产环境我一般直接关掉 DTP。原因很简单Trunk 链路不应该靠协商来建立而应该由人工明确指定。一条靠 DTP 协商出来的 Trunk在更换对端设备或者对端配置被重置后可能突然变成 Access业务直接断掉。关闭 DTP 的命令是 switchport nonegotiate配在 Trunk 口或 Access 口上都有效。配置 nonegotiate 后端口不再发 DTP 帧链路状态完全由两端的手动配置决定。Cisco Packet Tracer 里的模拟交换机在 DTP 行为上和真机略有差异Packet Tracer 里很多版本根本不做 DTP 帧的完整交互所以模拟器里敲 switchport mode trunk 就通了真机上却出现「口子起来了但业务不通」的情况。用模拟器学习没问题但不要因为模拟器里正常而忽略 DTP 的配置规范。4.3 修剪和 allowed vlanTrunk 的流量卫生与安全习惯switchport trunk allowed vlan 这条命令还有一个常被忽视的用途减少不必要的广播。Trunk 口默认放通所有 VLAN这意味着任何一个 VLAN 的广播帧都会穿过这条 Trunk 链路即使对端交换机上根本没有这个 VLAN 的端口。流量不大时看不出来VLAN 多、Trunk 链路多的时候这种无意义广播会明显消耗链路带宽和交换机 CPU。做法是只放通真正需要跨交换机传输的 VLAN。如果你的 VLAN 10 只在 Access-SW-01 上有端口VLAN 20 只在 Access-SW-02 上有端口那这两台交换机之间的 Trunk 就不需要放通对方的 VLAN 10 或 VLAN 20。用 switchport trunk allowed vlan 一条一条地收紧比图省事放通 all 更稳妥。Access-SW-01(config)# interface gigabitethernet 0/1 Access-SW-01(config-if)# switchport trunk allowed vlan 10,20 Access-SW-01(config-if)# switchport trunk allowed vlan add 30 Access-SW-01(config-if)# no switchport trunk allowed vlan 40注意 allowed vlan 的写法是「覆盖式」的直接写 switchport trunk allowed vlan 10,20 会覆盖掉之前所有放通的 VLAN。如果之后要为现有 Trunk 增加新的 VLAN必须带 add 关键字写成 allowed vlan add 30不然会把原先的 10 和 20 全部清掉配置一敲线上业务立刻断。移除某个 VLAN 则用 no 形式在命令前加 no这里 no 的语义不是删除整条配置而是从列表里去掉指定的 VLAN。安全角度上allowed vlan 收紧还有一个价值减少 VLAN 跳跃攻击即双标签攻击的暴露面。这类攻击利用 native VLAN 不打标签的特性在 Trunk 上注入流量虽然现代交换机有很多防御机制但把 allowed vlan 收窄、把 native VLAN 从默认的 1 改掉是最便宜的第一道防线。5. SSH 远程管理的配置与避坑用 SSH 替换 Telnet 的标准动作5.1 从生成 RSA 密钥到 SSH 版本四条命令建立加密通道远程管理的目标是 SSH不是 Telnet。Telnet 的账号密码在网络上明文传输任何抓包工具都能直接看到这在一台可以远程登录的网络设备上是不可接受的风险。Cisco 交换机配置 SSH 并没有想象中复杂只要满足前提条件设备有 hostname、有域名、有 enable secret、有 RSA 密钥。前面章节已经把 hostname 和 enable secret 配好了这里补域名和密钥即可。Access-SW-01# configure terminal Access-SW-01(config)# ip domain-name example.com Access-SW-01(config)# crypto key generate rsa modulus 2048 Access-SW-01(config)# ip ssh version 2 Access-SW-01(config)# ip ssh time-out 60 Access-SW-01(config)# ip ssh authentication-retries 3ip domain-name 必须要有RSA 密钥生成时会用域名作为密钥指纹的组成部分没有域名这步会报错。crypto key generate rsa modulus 2048 生成 2048 位的 RSA 密钥密钥位数低于 1024 在现代 IOS 版本里会被拒绝。ip ssh version 2 强制只接受 SSHv2彻底关掉存在安全弱点的 SSHv1。time-out 和 authentication-retries 是可选的安全加固参数前者控制 SSH 连接建立的超时时间单位是秒默认 120 秒有点长后者限制认证重试次数防止暴力猜密码。后面再接 vty 线路的 login 和 transport 设置SSH 就能用了。需要特别注意某些老型号、老 IOS 版本默认没有生成 RSA 密钥的能力crypto key generate rsa 会返回错误这种设备基本只能继续用 Telnet 或被替换。如果遇到密钥已存在的情况重新生成密钥前建议先删除旧密钥crypto key zeroize rsa否则新密钥可能生成失败。5.2 vty 线路的访问控制哪些人能进、从哪里能进vty 线路是远程登录的入口通道Cisco 交换机默认有 5 条 vty编号 0 到 4部分设备有 16 条。vty 配不好SSH 服务搭起来了也进不来。关键的配置有四个要素允许的协议、认证方式、来源限制、超时时间。Access-SW-01(config)# line vty 0 4 Access-SW-01(config-line)# transport input ssh Access-SW-01(config-line)# login local Access-SW-01(config-line)# access-class 10 in Access-SW-01(config-line)# exec-timeout 5 0 Access-SW-01(config-line)# exit Access-SW-01(config)# username admin privilege 15 secret AdminPass123transport input ssh 是本条配置里最重要的一句它明确拒绝 Telnet 流量只允许 SSH 进入。login local 把认证方式指向本地用户名密码数据库而不是 Console 口那种简单密码方式。access-class 10 in 配合 ACL 限制只有内网网段能访问 vty这一步很重要否则任何能路由到这台交换机的人都在对它做 SSH 暴力尝试。exec-timeout 5 0 表示空闲 5 分钟后自动断开防止有人挂着 session 不退出。本地用户用 username 命令创建privilege 15 表示该用户登录后有特权模式权限secret 后面是加密存储的密码。这里要提一句privilege 级别如果配成 1用户登录后只能停留在用户模式需要再输入 enable 密码才能进入特权模式配成 15 则直接获得最高权限。根据管理分工选择合适的级别不要所有账号都给 15。acccess-class 的 ACL 需要提前定义好常见写法是 access-list 10 permit 192.168.10.0 0.0.0.255。这是标准的通配符写法0.0.0.255 表示最后一个八位段任意。很多人在 ACL 里写了 255.255.255.0 这种掩码这在 Cisco 的 access-list 里是错的Cisco ACL 用的是反掩码不是子网掩码这条要特别注意。5.3 Cisco 交换机配置 SSH 常见问题五条踩坑记录第一SSH 连不上报错 Connection refused。原因是 transport input 没有设为 ssh或者 vty 配置里根本没有 login。前者报错信息里能看到连接被拒绝后者会在输入用户名时报 no password set。解决进入 line vty 0 4 检查 transport input 和 login补齐后再试。这也是最常见的翻车点。第二生成 RSA 密钥时报 Not enough random data。设备刚开机或熵池不足时会发生尤其是老设备。解决先敲几条命令让设备产生一些活动K 值不足时多等几秒再重新执行 crypto key generate rsa。也有人用修饰词加长密钥生成时间但不建议在交换机上折腾这种操作换个时间再生成通常就成功了。第三SSH 连上了但提示 Protocol error。这种通常是软件 SSH 工具和交换机 SSH 版本不匹配交换机用的是老版本 SSHv1而客户端默认要求 SSHv2。解决在设备上把 ip ssh version 2 敲上强制升级版本现代终端工具就能正常连。第四用户名密码正确但登不进去提示 Password authentication failed。检查是否把 login local 配成了一般的 password 命令。line vty 下写 password login 使用的是线路密码和本地用户密码是两套体系。解决统一使用 login local只在本地用户数据库里管密码vty 线路下不要混用 password。第五SSH 能连通但敲完 enable 密码后提示 Authentication failed。原因是 enable 密码用的是 enable password 明文的不是 enable secret部分 IOS 版本不允许 SSH 会话的加密通道上用这种弱密码。解决全局配置 mode 下重新设置 enable secret把旧的 enable password 删掉。这类问题排查起来最容易绕弯路。6. 把这份配置存好、备份好从初始化到可复用的最后一公里到这一步交换机的配置已经在内存里生效但设备一旦断电重启所有配置全部丢失回到出厂状态。把配置写进启动配置文件是最后一步也是很多人最容易忘的一步。Cisco 设备里运行配置和启动配置是两份文件running-config 是当前生效的startup-config 是开机加载的修改运行时配置不等于修改启动配置。Access-SW-01# copy running-config startup-config Access-SW-01# writecopy running-config startup-config 是最标准的写法write 是它的老式简写两者在功能上等价。执行完以后建议用 show startup-config 确认一下内容真的写进去了防止文件系统异常导致没写成功。这个动作做完配置断电不丢开局流程才算真正闭环。日常维护中还要养成两个习惯一是每次做完变更后顺手 show running-config 检查一遍重点看有没有漏掉的 no shutdown、有没有 VLAN 端口归属错位二是把配置通过 TFTP 或 FTP 备份出来到本地电脑建议在开局验收当天就把配置导出一份存好这相当于给设备配置上了「后悔药」。恢复出厂则要谨慎操作erase startup-config 加 reload 两步会清掉所有配置并重启执行前务必确认这台设备已经不在服务状态。Access-SW-01# copy running-config tftp://192.168.10.5/access-sw-01.cfg Address or name of remote host [192.168.10.5]? Destination filename [access-sw-01.cfg]? Access-SW-01# erase startup-config Access-SW-01# reloadcopy running-config tftp 执行时会询问主机地址和目标文件名直接回车会用方括号里的默认值。备份文件名建议带上设备名多台设备时不会覆盖混淆。erase startup-config 和 reload 配合的后果是不可逆的生产设备上操作前先确认自己和这台设备在同一机房、有 Console 访问不要远程做完这套动作后发现自己再也进不去了。最后说一个我自己的习惯新设备开局时我会把配置分段做每完成一个功能模块就 show run 核对一次全部完成后统一 copy running-config startup-config。中间任何一步出问题回退的代价都比最后一次性校对小得多。不同 IOS 版本在命令细节上会有一点差异比如老版本用 interface vlan 进入管理口、新版本可能默认启用 IP routing但只要掌握了这些基本配置的核心逻辑上任何一台 Cisco 二层设备都能快速上手。希望这些实际踩过的坑和验证方式能帮到你。本文还有配套的精品资源点击获取
返回列表