尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

锐捷交换机VSU堆叠、链路聚合与SSH配置实战指南

锐捷交换机VSU堆叠、链路聚合与SSH配置实战指南 1. 拆解标题背后的真实需求最近好几个朋友都在问锐捷交换机的堆叠、链路聚合和 SSH 配置尤其是那些刚接手机房或者公司网络的新人。说实话这三个功能放在一起讲是很合理的因为它们往往是同一批需求里出现的网络要扩容、链路要冗余、设备要远程管理。先说清楚这几件事分别解决什么问题VSUVirtual Switching Unit虚拟交换单元把两台或者多台物理交换机虚拟成一台逻辑交换机。核心价值是让网络架构更简单——你只需要管理一台设备跨设备链路聚合也能做控制平面和设备冗余一并解决。端口汇聚链路聚合Link Aggregation把多条物理链路捆绑成一条逻辑链路。目的是增加带宽、提供链路冗余配合 VSU 使用时可以实现跨设备聚合即使一台设备挂了流量还能从另一台走。SSH替代 Telnet 的加密远程管理通道。明文协议在现网环境里基本属于裸奔尤其在远程排障时抓包工具一嗅探密码直接暴露。所以只要设备支持务必关闭 Telnet 只用 SSH。这篇内容我会按“功能理解 → 配置步骤 → 踩坑实录”的顺序展开重点说配置思路和实测中容易翻车的地方。默认操作环境是锐捷 RG-S5750 系列或者 RG-S6220 系列不同型号命令略有差异但核心逻辑一致。适合谁看刚接触锐捷设备、正在规划机房网络改造或者被老板要求“把两台交换机堆叠一下”但不知道从哪下手的网络运维、IT 工程师。看完至少能理清配置思路少走弯路。2. VSU 堆叠从原理到配置落地2.1 先搞清楚 VSU 到底是什么很多人第一次听到 VSU 会把它和传统堆叠搞混。传统堆叠比如思科的 StackWise主打盒式设备之间的高速背板互联而锐捷的 VSU 更像是一个虚拟化框架它通过专用堆叠口把多台设备整合成一个逻辑实体。控制层面只有一台设备作为 Master 管理全局其他设备作为 Backup 或 Member同步配置和状态。数据层面跨设备的转发通过堆叠链路完成对上层设备完全透明。管理层面你登录任意一台成员设备看到的是整台虚拟交换机的全局视图。这里有一个关键认知VSU 不是简单的“两台设备级联”而是要把设备当成一个整体来规划。这意味着 IP 地址、VLAN、路由协议等都基于虚拟设备来设计而不是基于物理单机。VSU 带来的直接收益跨设备链路聚合配合聚合口使用链路冗余从“设备级”升级为“端口级”。管理 IP 统一登录一台设备等于管理整个虚拟系统。简化生成树协议配置因为 VSU 对外是一个桥接域STP 的拓扑计算复杂度大幅下降。软件升级时支持优雅重启Graceful Restart业务中断时间大幅缩短。但它也有代价两台设备的型号、软件版本要一致否则 VSU 可能起不来或者行为异常。堆叠链路本身是单点一旦断了容易产生分裂Split需要配合多主检测MAD机制来规避。配置复杂度比单机高尤其是初次配置时的中断风险要提前评估。2.2 VSU 规划型号、版本、堆叠口、编号动手配置前先把规划做扎实。我见过太多人直接抄命令然后两台设备互相冲突问题几乎都出在规划阶段。第一确认设备支持 VSU。锐捷的 S57 系列、S62 系列、N18 系列等都有支持但不同型号对堆叠口的定义不同。有些型号固定的万兆口才能作为 VSLVirtual Switch Link口有些则允许自定义。第二统一软件版本。这个没有商量余地不同版本之间跑 VSU 大概率出幺蛾子。建议在升级窗口内先统一版本再做 VSU 配置。第三规划设备的角色和编号。VSU 中每台设备有唯一的 Domain ID 和 Device ID。Domain ID 用于区分不同 VSU 系统Device ID 用于在系统内唯一标识每台成员设备。通常建议第一台设备 Device ID 设为 1第二台设为 2。设备编号会直接体现在接口命名上比如GigabitEthernet 1/0/1表示第一台设备的 1 号口GigabitEthernet 2/0/1表示第二台设备的 1 号口。这个编号一旦确定后续所有配置引用的接口都要按这个编号来写所以提前规划好非常关键。第四规划堆叠链路。至少两条物理链路做堆叠口VSL一条主一条备避免单链路故障导致整个 VSU 分裂。堆叠口建议使用高速口万兆优先因为跨设备转发流量都要经过这条链路。2.3 VSU 配置实操以两台 S5750 为例下面用一个典型场景配置两台 S5750 交换机分别命名为 SW-A 和 SW-B通过万兆口建立 VSU。先登录第一台设备做基础配置Ruijie enable Ruijie# configure terminal Ruijie(config)# hostname SW-A SW-A(config)# switch virtual domain 1 SW-A(config-vs-domain)# switch 1 SW-A(config-vs-domain)# switch 1 priority 150 SW-A(config-vs-domain)# exit这段命令做了三件事进入虚拟域配置模式定义 VSU 域编号这里用 1。声明本设备为成员 1。设置优先级为 150数值高者优先成为 Master。另一台设备优先级可以保持默认100或调低这样重启后也能稳定选主。接着配置堆叠口SW-A(config)# interface te 1/0/49 SW-A(config-if)# switchport SW-A(config-if)# no switchport SW-A(config-if)# switchport mode trunk SW-A(config-if)# exit这里要注意锐捷 VSU 的堆叠口配置在不同型号上有差异。有的型号需要用switch virtual link之类的命令把物理口绑定到 VSL 上有的直接配置端口为堆叠口即可。建议查阅对应型号配置指南。不过有一种通用做法是先把堆叠口加入一个聚合口再把这个聚合口指定为 VSLSW-A(config)# interface aggregateport 1 SW-A(config-if)# switchport mode trunk SW-A(config-if)# exit SW-A(config)# interface te 1/0/49 SW-A(config-if)# port-group 1 SW-A(config-if)# exit SW-A(config)# interface te 1/0/50 SW-A(config-if)# port-group 1 SW-A(config-if)# exit SW-A(config)# switch virtual link 1 aggregateport 1把两条万兆口绑进聚合口 1再把聚合口 1 提升为 VSL。这样配置的好处是VSL 本身具备链路冗余一根线断了另一根还能维持 VSU 通信。此时不要急着把第二台设备加进来。先把第一台设备的配置保存然后关机。接着配置第二台设备Ruijie enable Ruijie# configure terminal Ruijie(config)# hostname SW-B SW-B(config)# switch virtual domain 1 SW-B(config-vs-domain)# switch 2 SW-B(config-vs-domain)# exit第二台设备只声明自己是域 1 的成员 2不要单独配置 VSL。然后把两台设备的堆叠口用堆叠线缆连起来先连接堆叠口再给第二台设备上电。第二台设备启动后会自动从 Master 同步配置和软件版本如果版本一致直接同步不一致可能需要手动升级。等第二台设备起来后在 Master 上检查 VSU 状态SW-A# show switch virtual Switch Domain ID : 1 Member ID Role Priority Software Version 1 Master 150 RGOS 11.4(1) 2 Backup 100 RGOS 11.4(1)看到两台设备都在线、角色一主一备就说明 VSU 起来了。注意VSU 分裂是最大的坑。两台设备之间的 VSL 一旦中断两台设备都会认为自己是 Master网络瞬间出现双主。一定要配置 MADMulti-Active Detection多主检测机制通过聚合口或管理口检测双主状态一旦检测到就自动关闭 Backup 的全部业务口避免环路和 IP 冲突。MAD 配置示例使用聚合口检测SW-A(config)# switch virtual domain 1 SW-A(config-vs-domain)# mad enable SW-A(config-vs-domain)# mad interface aggregateport 2 SW-A(config-vs-domain)# exit这里要专门拿一根线把两台设备的任意一个普通口互联做成聚合口 2专门用来做双主检测。注意这个检测口一定不能跟 VSL 复用否则 VSL 断了检测口也断了MAD 形同虚设。2.4 VSU 与设备编号的坑配置完成之后最容易迷糊的就是接口编号。很多人在第二台设备上配置业务口时写错了编号导致配置下发到错误的物理端口上。规则很简单VSU 里的接口编号第一位就是 Device ID。Device 1 的所有接口是1/x/yDevice 2 的所有接口是2/x/y。你登录 Master 配置时想操作第二台设备的 1 号口就要写interface GigabitEthernet 2/1/1而不是interface GigabitEthernet 1/1/1。这个细节在我刚开始接触 VSU 的时候栽过跟头把两台设备的接口配置写反了业务直接中断。所以配置完成后建议立即用show interface status核对端口状态。3. 链路聚合带宽叠加还是冗余兜底3.1 链路聚合的几种模式锐捷设备上链路聚合有两种常见模式静态聚合手动创建聚合口手工把成员口加进去。配置简单适合上下行都是自己可控设备的场景。LACPLink Aggregation Control Protocol链路聚合控制协议动态协商两端设备自动完成聚合。推荐在有交换机互联、服务器双网卡绑定的场景下使用因为有协议报文交互能自动感知对端状态。还有一个容易混淆的概念是负载均衡算法。链路聚合不是简单地把流量均分到所有链路上而是基于哈希算法把不同的数据流通常按源 MAC、目的 MAC、源 IP、目的 IP 或其组合分摊到不同成员链路上。这样设计是为了避免乱序因为同一条数据流如果被拆分到多条链路到达对端后顺序可能错乱。理解这一点你就能明白为什么某条链路利用率比其他链路高——那是哈希结果不是故障。3.2 静态聚合配置示例场景交换机 SW-A 与 SW-B 通过两条千兆口互联做静态链路聚合。SW-A(config)# interface aggregateport 10 SW-A(config-if)# switchport mode trunk SW-A(config-if)# switchport trunk allowed vlan all SW-A(config-if)# exit SW-A(config)# interface gigabitEthernet 1/0/1 SW-A(config-if)# port-group 10 mode on SW-A(config-if)# exit SW-A(config)# interface gigabitEthernet 1/0/2 SW-A(config-if)# port-group 10 mode on SW-A(config-if)# exit对端 SW-B 上做同样配置注意接口编号要写对如果 SW-B 是独立设备就写gigabitEthernet 0/1或gigabitEthernet 1/0/1取决于型号。mode on表示强制加入聚合组不跑协商协议。如果要对端也支持 LACP改成mode active更稳。3.3 LACP 配置示例SW-A(config)# interface aggregateport 10 SW-A(config-if)# switchport mode trunk SW-A(config-if)# port-protocol lacp SW-A(config-if)# exit SW-A(config)# interface gigabitEthernet 1/0/1 SW-A(config-if)# port-group 10 mode active SW-A(config-if)# exit SW-A(config)# interface gigabitEthernet 1/0/2 SW-A(config-if)# port-group 10 mode active SW-A(config-if)# exit对端配置mode passive或者mode active均可LACP 协商要求至少一端为 active。3.4 与 VSU 结合跨设备聚合这是 VSU 场景下链路聚合的进阶玩法。假设 SW-A 和 SW-B 组成 VSU 后下联一台核心交换机或服务器希望两条链路分别接到两台物理设备的端口上这样即使其中一台设备宕机另一条链路依然可用。配置方法与普通聚合几乎一样只不过接口编号要分别指向两台设备SW-A(config)# interface aggregateport 20 SW-A(config-if)# switchport mode trunk SW-A(config-if)# exit SW-A(config)# interface gigabitEthernet 1/0/23 SW-A(config-if)# port-group 20 mode active SW-A(config-if)# exit SW-A(config)# interface gigabitEthernet 2/0/23 SW-A(config-if)# port-group 20 mode active SW-A(config-if)# exit注意这里gigabitEthernet 2/0/23是第二台设备的 23 口但命令是在 Master 上执行的。VSU 会把这条配置自动同步到第二台设备上逻辑上就像在配置一台设备一样。对端如果是服务器建议网卡 bonding 也配置成 802.3ad 模式即 LACP 模式实现两端协商一致。3.5 链路聚合的常见误区误区一聚合口成员速率可以不一致。技术上部分设备支持但强烈不建议。速率不一致时哈希结果会倾斜低速链路成为瓶颈且 LACP 协商可能失败。误区二聚合会增加单流带宽。不会。链路聚合只能增加总带宽单条 TCP/UDP 流在哈希算法下只会固定走某一条物理链路。要想单流享受多链路带宽需要上层应用配合如多线程下载。误区三聚合口可以随便改成员口配置。每个成员口的 VLAN、Trunk 属性必须与聚合口一致否则可能直接导致聚合口 Down。误区四只要聚合就能防环。聚合能防的是物理环路但是配合 STP 使用时STP 会把聚合口当成一个逻辑端口来处理这一点没问题。不过如果两端聚合模式不一致实际协商没有成功STP 依然会按物理拓扑开环这点容易被忽略。4. SSH 配置从开启到加固4.1 为什么要用 SSH锐捷交换机出厂默认可能开启 Telnet甚至有的版本默认允许 Telnet 登录。很多运维图省事直接 Telnet 连上去这是很不安全的行为。抓包工具在管理网段一抓用户名密码都是明文等于把设备管理权限拱手让人。SSH 解决了两个核心问题传输加密密码和命令行内容在网络上不可直接读取。身份验证更可靠支持密码认证和密钥认证。锐捷交换机上配置 SSH 并不复杂但有几个前置条件经常被忽略必须先配置主机名和域名因为 SSH 生成 RSA 密钥时需要主机名和域名作为随机种子的一部分。4.2 完整开启 SSH 配置步骤以一台锐捷 S5750 为例Ruijie enable Ruijie# configure terminal Ruijie(config)# hostname SW-CORE SW-CORE(config)# ip domain-name example.com SW-CORE(config)# crypto key generate rsa执行crypto key generate rsa后设备会提示输入密钥长度。建议选择 2048 位以上1024 位现在已经被认为不够安全了。生成完密钥后配置 SSH 版本和登录认证SW-CORE(config)# ip ssh version 2 SW-CORE(config)# line vty 0 4 SW-CORE(config-line)# transport input ssh SW-CORE(config-line)# login local SW-CORE(config-line)# exit SW-CORE(config)# username admin privilege 15 password 0 Admin123这里配置了SSH 强制使用版本 2避免 SSHv1 的已知漏洞。VTY 线路只允许 SSH 登录禁掉 Telnet。本地账号认证用户名 admin权限级别 15最高权限初始密码 Admin123。配置完成后可以开启 SSH有些系统是默认开启的如果不放心就执行SW-CORE(config)# ip ssh server enable此时从电脑上测试ssh admin192.168.10.1如果提示输入密码登录成功后就能看到命令行界面。4.3 SSH 密钥认证免密登录更安全密码认证有一个问题密码弱了容易被爆破密码强了难记。对于经常要登录的交换机建议配置密钥认证。先在电脑上生成密钥对以 Linux/macOS 为例ssh-keygen -t rsa -b 2048生成的公钥一般在~/.ssh/id_rsa.pub。然后把公钥内容配置到交换机上。锐捷支持把公钥直接粘贴进配置SW-CORE(config)# username admin key粘贴公钥内容后按回车结束。之后登录时只需要ssh -i ~/.ssh/id_rsa admin192.168.10.14.4 踩过的 SSH 配置坑坑一crypto key generate rsa之前必须配置主机名和域名。如果没配置命令会直接报错。这个问题在初次配置时很常见。坑二VTY 只允许 SSH 后如果 SSH 配置有问题你会把自己锁在外面。稳妥做法是先开着 Telnet配置完 SSH 并测试通了再关闭 Telnet。坑三锐捷 VR 版本不同加密密钥生成命令略有差异。有的版本是crypto key generate rsa有的版本是enable service ssh-server。务必先看版本手册。坑四默认的 SSH 超时时间是 120 秒长时间不操作会被断开。可以在 VTY 下配置exec-timeout 0 0禁止超时。4.5 关闭 Telnet 的正确姿势测试 SSH 登录成功后可以关闭 Telnet 服务SW-CORE(config)# line vty 0 4 SW-CORE(config-line)# transport input ssh SW-CORE(config-line)# exit SW-CORE(config)# no service telnet如果设备上有多个 VTY 组要逐一检查确保所有 VTY 都切到 SSH。再补充一个细节很多运维只改 VTY 配置不关 Telnet 服务本身导致设备仍然在监听 23 端口。只改 VTY 只能限制新连接不能走 Telnet但服务是否真的不再监听需要用show tcp brief确认为妙。5. 常见问题与排查技巧实录5.1 VSU 起不来的排查检查堆叠线缆是否插对端口有些型号的堆叠口和普通口是复用的需要在配置里显式声明为堆叠口。检查两台设备的软件版本是否一致版本不一致时同步过程会失败。检查 VSU 域编号、设备编号是否冲突两台设备如果在同一个域内都声明为 Device 1必然起不来。有条件的在第二台设备启动前先把第一台的配置完整保存然后show switch virtual确认第一台已经是 Master 状态再接第二台。5.2 链路聚合不正常如果发现聚合口是 Up 的但流量不经过聚合先排查两端协商状态SW-A# show aggregateport 10 summary确认成员口是否都处于 Selected 状态。如果某个口显示 Standby说明该端口协商失败可能是速率、双工、VLAN 配置不一致。常见原因包括对端端口是 Access 模式本端是 Trunk 模式。两端聚合模式不匹配一端强制on另一端 LACP。成员口的允许 VLAN 列表不一致。5.3 SSH 登录失败先确认网络能通ping 192.168.10.1如果通再确认 SSH 服务监听show ip ssh show tcp brief如果服务正常但登录失败看 VTY 配置show line vty重点检查transport input是否包含 SSH。还有一个容易被忽略的点锐捷交换机开启了 SSH 后默认只允许 SSHv2。如果你电脑上的 SSH 客户端版本过旧可能出现协商失败。此时在电脑上强制指定版本ssh -2 admin192.168.10.15.4 VSU 分裂之后怎么办VSU 分裂是很严重的问题会出现两个 Master 抢占同一个管理 IP网络中配置冲突。如果配置了 MAD多主检测分裂发生后 Backup 会自动关闭业务口这时只需要修复堆叠链路即可恢复。如果没有配置 MAD操作要格外小心。先不要动任何配置把堆叠链路重新连好然后观察哪台设备是当前活跃 Master。通常重启其中一台设备可以触发重新合并。恢复经验VSU 合并过程中非 Master 设备会自动重启加载同步配置。如果重启后仍然无法合并只能手动重置其中一台设备的配置再重新加域。所以再次强调MAD 必须配而且检测机制要独立于 VSL。5.5 现场排障的基本流程遇到问题不要盲目敲命令我自己的排障顺序是先看物理层光模块、线缆、端口状态灯。再看链路层show interface status、show aggregateport summary。看协议层show switch virtual、show lacp summary、show ip ssh。最后看配置层对比两端配置、核对接口编号。大部分问题其实出在最底层的物理链路和接口状态上用光功率计打一下或者换一根线就能解决没必要一上来就怀疑协议配置。6. 写在最后的经验我做网络运维这些年的切身体会是VSU、链路聚合和 SSH 这三件事配置命令本身并不复杂真正复杂的在于规划和细节。VSU 的规划决定了它能发挥多大价值。域编号、设备编号、优先级、堆叠口、MAD 检测每一步都要在实施前想清楚而不是接上线再改。我见过最头疼的一个案例是两台设备已经堆叠完成后面发现其中一台的型号不同部分端口规格不一致导致聚合链路行为异常——这种问题在规划阶段完全可以避免。链路聚合最大的价值不是带宽翻倍而是故障切换能力。每次割接演练时我会抽一根成员链路确认业务是否中断实测下来几乎没有感知。但前提是聚合配置正确、协商正常否则抽线时直接整条断网。SSH 的配置门槛很低但安全加固的细节往往被忽略。禁用 Telnet、限制 SSH 来源 IP、配置超时、定期更换密钥和密码这些不是可选项而是应有的底线操作。尤其在设备数量多、管理网段暴露度高的环境下安全配置的优先级要高于功能配置。最后提醒一句设备配置一定要及时备份保存配置并另存一份 TFTP 备份是最低成本的安全网。VSU 配置、聚合配置、SSH 配置这些核心配置一旦丢失重新搭建的时间成本远超随手备份的几秒钟。
返回列表