
1. 项目缘起为什么需要一份“接地气”的交换机配置指引最近在帮一个朋友的公司做网络架构的梳理他们新采购了一批华为S5735S-L48T4S-A1交换机准备替换掉老旧的设备。朋友把配置手册和官方文档发给我问我能不能帮忙看看。我打开一看好家伙几百页的PDF从硬件结构讲到协议原理内容确实全面但对于一个需要快速上线的运维工程师或者刚接触华为设备的网工来说信息密度太高实操路径反而不清晰。尤其是安全配置部分散落在各个章节不系统新手很容易遗漏关键项给网络埋下隐患。这让我想起了自己刚入行那会儿面对一台全新的交换机那种既兴奋又无从下手的感觉。官方文档是字典但我们需要的是“菜谱”——一份能直接照着做、做完就能让设备安全稳定跑起来的指引。所以我决定结合这次实际项目以华为S5735S-L48T4S-A1这款非常经典的接入层交换机为例写一份从开箱到上线的全程配置指引。重点会放在安全配置上因为在我看来交换机的连通性配置是“基本功”而安全配置才是体现工程师功力的“内功心法”很多初级故障和安全事件根源都在于初期安全基线没打好。S5735S-L系列是华为面向园区接入和中小企业核心场景推出的全千兆智能交换机L48T4S-A1这个型号提供了48个10/100/1000BASE-T电口和4个万兆SFP光口性能足够应对大多数办公和生产环境。这份指引的目标是即使你之前没配过华为交换机也能根据步骤独立完成一台交换机的初始化、业务开通及最关键的安全加固让它能安心地放入网络中使用。我会尽量说人话把“为什么要这么做”讲清楚并分享一些只有踩过坑才知道的细节。2. 开局第一步带外管理通道的建立与基础安全加固拿到一台新交换机别急着插业务线。第一步永远是先建立一条可靠的、独立于业务流量的管理通道并做最基础的安全加固。这就像装修房子先通水电而不是先摆家具。2.1 Console口连接与初始登录找到设备前面板的Console口用随设备附带的Console线通常是RJ45转DB9或USB连接到你的电脑。使用终端软件如SecureCRT、Putty、MobaXterm甚至macOS/Linux下的screen或minicom进行连接。关键参数是波特率9600数据位8奇偶校验无停止位1流控无。这是行业标准几乎所有网络设备初始控制台都沿用这个配置。连接成功后给设备上电。你会看到大量的启动信息滚动最后停在类似HUAWEI的提示符下。这里注意新设备或恢复出厂设置的设备可能会直接进入初始配置向导。我个人的习惯是在任何时候都先输入CtrlC打断这个向导。因为向导的步骤是固定的且通常不会给你做细致安全配置的机会我们更需要的是进入非交互式的命令行界面CLI进行自由配置。HUAWEI system-view Enter system view, return user view with CtrlZ. [HUAWEI]输入system-view或简写sys进入系统视图。提示符从HUAWEI变为[HUAWEI]这表示你从“用户视图”进入了“系统视图”拥有了配置权限。2.2 基础系统信息与管理IP配置首先给设备起个名字并设置管理IP。管理IP用于后续的SSH/Telnet远程登录和网管通常配置在一个专用的VLAN接口上最常见的是VLAN 1默认管理VLAN或一个新建的VLAN如VLAN 99。[HUAWEI] sysname Access-SW-01 [Access-SW-01] vlan 1 [Access-SW-01-vlan1] quit [Access-SW-01] interface Vlanif 1 [Access-SW-01-Vlanif1] ip address 192.168.1.253 24 [Access-SW-01-Vlanif1] quit这里将设备命名为Access-SW-01并为VLANIF 1接口配置了IP地址192.168.1.253/24。需要强烈注意的一点是华为交换机默认情况下所有端口都属于VLAN 1。如果你将管理IP配在VLANIF 1上那么任何一个接入该交换机的终端如果其IP在同一网段理论上都能访问到这个管理地址。这在安全上是有风险的。更佳实践是创建一个新的VLAN专用于管理例如VLAN 99。将一个物理端口如GigabitEthernet 0/0/1划入VLAN 99并连接至管理网络。将管理IP配置在VLANIF 99上。 这样就将管理流量和业务流量在二层上进行了隔离。但为了简化初始示例本文仍以VLAN 1为例后续在安全章节会强调隔离的重要性。接着配置默认网关让交换机可以访问其他网段例如互联网用于NTP时间同步或软件升级。[Access-SW-01] ip route-static 0.0.0.0 0.0.0.0 192.168.1.1假设192.168.1.1是你的路由器或防火墙的内网口地址。2.3 远程管理协议与访问控制本地Console配置毕竟不方便我们需要开启远程管理。Telnet因其明文传输密码的特性在现代网络环境中已被视为不安全强烈不建议在生产环境使用。SSHSecure Shell是唯一的选择。第一步生成本地密钥对。这是SSH加密通信的基础。[Access-SW-01] rsa local-key-pair create The key name will be: HUAWEI_Host The range of public key size is (2048 ~ 2048). NOTE: Key pair generation will take a short while.等待片刻密钥对即生成。第二步启用SSH服务并配置用户认证方式。[Access-SW-01] stelnet server enable [Access-SW-01] ssh user admin [Access-SW-01] ssh user admin authentication-type password [Access-SW-01] ssh user admin service-type stelnet这里创建了一个SSH用户admin认证方式为密码。但请注意这只是一个SSH框架下的用户它本身没有登录权限。我们还需要在AAA认证、授权、计费视图下创建同名的本地用户并赋予权限。第三步配置AAA本地用户及权限。这是权限控制的核心。[Access-SW-01] aaa [Access-SW-01-aaa] local-user admin password irreversible-cipher YourStrongPassword2024 [Access-SW-01-aaa] local-user admin privilege level 15 [Access-SW-01-aaa] local-user admin service-type ssh [Access-SW-01-aaa] quit解释一下关键命令irreversible-cipher 使用不可逆加密算法如SHA256存储密码。比可逆的cipher或明文simple安全得多。YourStrongPassword2024请替换为高强度密码。privilege level 15 赋予该用户最高权限等级15级相当于超级管理员。service-type ssh 指定该用户只能用于SSH服务。第四步配置VTY虚拟终端线路强制使用SSH协议并应用访问控制列表ACL。[Access-SW-01] user-interface vty 0 4 [Access-SW-01-ui-vty0-4] authentication-mode aaa [Access-SW-01-ui-vty0-4] protocol inbound ssh [Access-SW-01-ui-vty0-4] acl 2000 inbound [Access-SW-01-ui-vty0-4] idle-timeout 10 0 [Access-SW-01-ui-vty0-4] quitauthentication-mode aaa 指定使用AAA进行认证即验证我们刚才创建的admin用户。protocol inbound ssh 只允许SSH协议接入禁用了Telnet。acl 2000 inbound 应用了一个编号为2000的ACL到入方向。这是极其重要的一步它限制了哪些IP地址可以尝试SSH连接到这台交换机。没有ACL任何能路由到管理IP的设备都可以尝试爆破风险极高。idle-timeout 10 0 设置超时时间为10分钟0秒即连接空闲10分钟后自动断开防止无人值守的会话被利用。第五步定义ACL 2000只允许特定管理网段访问。[Access-SW-01] acl 2000 [Access-SW-01-acl-basic-2000] rule 5 permit source 192.168.1.100 0.0.0.255 [Access-SW-01-acl-basic-2000] rule 10 deny source any [Access-SW-01-acl-basic-2000] quit这个ACL允许源IP为192.168.1.100到192.168.1.255即192.168.1.0/24网段的流量通过并明确拒绝其他所有流量。请将192.168.1.100替换为你实际的管理终端IP或网段。务必添加deny any的规则因为华为ACL默认规则是“允许所有”加了deny any后就变成了“仅允许明确permit的其他全拒绝”。完成以上步骤后你就可以从192.168.1.100这个IP的电脑上使用SSH客户端如PuTTY连接到192.168.1.253用户名admin密码是你设置的强密码进行远程管理了。至此一个安全的带外管理通道才算初步建立。3. 业务配置核心VLAN规划、接口配置与DHCP部署管理通道打通后我们来配置交换机的核心业务功能连接终端。这部分的核心思想是隔离与可控。3.1 VLAN规划与创建VLAN虚拟局域网是二层网络隔离的基石。不建议所有设备都在默认的VLAN 1里。一个典型的园区网规划如下VLAN 10员工办公网络。VLAN 20访客网络。VLAN 30服务器网络。VLAN 99设备管理网络如前文所述最佳实践。在交换机上创建这些VLAN[Access-SW-01] vlan batch 10 20 30 99batch命令可以一次性创建多个VLAN非常高效。3.2 接入端口Access Port配置连接PC、打印机、IP电话等终端设备的端口通常配置为Access模式。它只允许一个VLAN的流量通过并且打上该VLAN的标签对于入向未标记的帧或剥离标签后转发对于出向帧。假设GigabitEthernet 0/0/2到GigabitEthernet 0/0/24用于连接员工电脑划入VLAN 10。[Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] port link-type access [Access-SW-01-if-range] port default vlan 10 [Access-SW-01-if-range] description TO-STAFF-PC [Access-SW-01-if-range] quitinterface range 进入端口组视图批量配置极大提升效率。port link-type access 设置端口链路类型为Access。port default vlan 10 设置端口的默认VLANPVID为10。这意味着从该端口收到的无标签数据帧会被归类到VLAN 10从交换机转发给该端口的VLAN 10的数据帧会剥离VLAN标签后发出。description 为端口添加描述信息这是良好的运维习惯便于日后排查。3.3 中继端口Trunk Port配置连接上级交换机核心交换机、服务器或AP等需要承载多个VLAN流量的设备时端口需配置为Trunk模式。Trunk端口通过识别和携带VLAN标签来区分不同VLAN的流量。假设GigabitEthernet 0/0/48连接核心交换机需要允许VLAN 10 20 30 99通过。[Access-SW-01] interface GigabitEthernet 0/0/48 [Access-SW-01-GigabitEthernet0/0/48] port link-type trunk [Access-SW-01-GigabitEthernet0/0/48] port trunk allow-pass vlan 10 20 30 99 [Access-SW-01-GigabitEthernet0/0/48] port trunk pvid vlan 99 [Access-SW-01-GigabitEthernet0/0/48] description UPLINK-TO-CORE [Access-SW-01-GigabitEthernet0/0/48] quitport link-type trunk 设置端口链路类型为Trunk。port trunk allow-pass vlan 指定该Trunk端口允许通过的VLAN列表。这是安全关键点只允许必要的VLAN通过不要用all。例如如果这台接入交换机没有服务器那么VLAN 30就不应该出现在这里。port trunk pvid vlan 99 设置端口的默认VLAN IDPVID为99。对于Trunk端口PVID的作用是处理收到的无标签帧比如某些网络管理报文以及发送本地产生的协议报文如STP BPDU时使用的VLAN。将管理VLAN设为PVID是常见做法。3.4 接口安全与风暴控制接入层端口直接面对用户是安全事件的高发地。除了VLAN隔离还需在端口上启用一些安全特性。1. 端口安全Port Security限制端口学习MAC地址的数量防止MAC地址泛洪攻击。[Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] port-security enable [Access-SW-01-if-range] port-security max-mac-num 5 [Access-SW-01-if-range] port-security protect-action restrict [Access-SW-01-if-range] quitport-security enable 开启端口安全。port-security max-mac-num 5 设置该端口最多学习5个MAC地址。对于一台办公电脑通常只有1个有线网卡考虑到虚拟机或多网卡设为5是一个比较安全的余量。port-security protect-action restrict 设置违规后的保护动作为restrict。当学习到的MAC地址数超过5个新的MAC帧将被丢弃并上报告警。其他动作还有shutdown关闭端口和error-down将端口Error-Downrestrict在安全性和可用性上比较平衡。2. 风暴控制Storm Control抑制广播、未知组播和未知单播风暴。[Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] storm-control broadcast min-rate 1000 max-rate 2000 [Access-SW-01-if-range] storm-control multicast min-rate 1000 max-rate 2000 [Access-SW-01-if-range] storm-control action block [Access-SW-01-if-range] quitstorm-control broadcast min-rate 1000 max-rate 2000 控制广播报文。min-rate是开始抑制的阈值单位kbpsmax-rate是恢复阈值。当端口的广播流量超过2000kbps时开始抑制直到流量低于1000kbps时恢复。这个值需要根据实际网络流量调整。storm-control action block 抑制动作为丢弃block超标流量。3.5 DHCP Snooping与IP Source Guard在中小型网络中接入交换机常作为DHCP Snooping设备防止私设DHCP服务器造成的网络混乱。1. 全局启用DHCP Snooping并信任上行口。[Access-SW-01] dhcp enable [Access-SW-01] dhcp snooping enable [Access-SW-01] interface GigabitEthernet 0/0/48 [Access-SW-01-GigabitEthernet0/0/48] dhcp snooping trusted [Access-SW-01-GigabitEthernet0/0/48] quitdhcp enable 全局启用DHCP功能即使本机不做DHCP服务器某些特性也需要此命令。dhcp snooping enable 全局启用DHCP Snooping。dhcp snooping trusted 将连接合法DHCP服务器或上游设备的端口设置为“信任”端口。交换机只转发从信任端口收到的DHCP响应报文如DHCP Offer从非信任端口用户端口收到的DHCP响应报文将被丢弃。2. 在VLAN上启用DHCP Snooping。[Access-SW-01] vlan 10 [Access-SW-01-vlan10] dhcp snooping enable [Access-SW-01-vlan10] quit对需要此功能的VLAN如VLAN 10逐一启用。3. 结合DHCP Snooping绑定表启用IP Source GuardIPSG。IPSG可以防止IP地址欺骗攻击。 首先需要在用户端口上启用DHCP Snooping以生成绑定表记录用户的IP、MAC、端口、VLAN对应关系。[Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] dhcp snooping enable [Access-SW-01-if-range] quit然后基于DHCP Snooping绑定表启用IPSG检查。[Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] ip source check user-bind enable [Access-SW-01-if-range] quit启用后该端口转发的IP报文其源IP、源MAC必须与DHCP Snooping绑定表中的记录一致否则将被丢弃。对于使用静态IP的终端需要手动添加静态绑定表项。4. 网络可靠性与管理增强配置基础连通和安全有了接下来要确保网络稳定、可管理。4.1 生成树协议STP/RSTP/MSTP配置二层网络必须运行生成树协议来防止环路。华为交换机默认启用MSTP多生成树协议。对于接入交换机通常只需确保其参与生成树计算并优化端口角色。检查与基础配置[Access-SW-01] stp enable [Access-SW-01] stp mode mstp [Access-SW-01] stp root primarystp enable 全局启用STP。默认是开启的但检查一下无妨。stp mode mstp 设置模式为MSTP。stp root primary 将本交换机设置为主根桥。注意这个命令通常只在核心交换机或没有明确根桥设计的简单网络中使用。在规范的网络中根桥和备份根桥需要精心规划。对于接入交换机更常见的做法是将其设置为stp root secondary备份根桥或者不设置让其通过BPDU选举。这里为了简化假设这是一台小型网络的汇聚点。边缘端口Edge Port配置连接终端如PC的端口不会形成环路应配置为边缘端口使其快速进入转发状态避免用户开机后等待30秒。[Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] stp edged-port enable [Access-SW-01-if-range] quitBPDU保护BPDU Protection在边缘端口上启用BPDU保护。如果边缘端口收到了BPDU报文说明其下可能违规接了交换机则将该端口关闭Error-Down防止环路。[Access-SW-01] stp bpdu-protection [Access-SW-01] interface range GigabitEthernet 0/0/2 to 0/0/24 [Access-SW-01-if-range] stp bpdu-filter disable [Access-SW-01-if-range] quit注意stp bpdu-filter命令如果启用会使端口不发送也不处理BPDU这与BPDU保护冲突所以需要确保其为disable状态。4.2 系统日志Logging与时间同步NTP“黑盒”设备是运维的噩梦。必须配置日志输出和时间同步。1. 配置日志发送到日志服务器Syslog Server。[Access-SW-01] info-center enable [Access-SW-01] info-center loghost 192.168.1.200 facility local7 [Access-SW-01] info-center source default channel loghost log level informational debug state offinfo-center enable 启用信息中心日志服务。info-center loghost 指定日志服务器地址和工具facility。local7是常用的设施号。第三行命令设置了默认的日志源、通道、级别。log level informational表示记录通知级别及以上的日志含notification, warning, error等。debug state off关闭调试信息输出到日志主机避免日志量过大。2. 配置NTP时间同步。所有网络设备的时间必须一致否则日志时间戳毫无意义。[Access-SW-01] ntp-service unicast-server 192.168.1.1 [Access-SW-01] clock timezone CST add 08:00:00ntp-service unicast-server 指定NTP服务器地址。可以是互联网上的公共NTP服务器如ntp.aliyun.com也可以是内网的NTP服务器。clock timezone 设置时区。CST可以代表中国标准时间add 08:00:00表示东八区。4.3 SNMP配置可选如果使用网管系统如Zabbix, LibreNMS, 华为eSight需要配置SNMP。[Access-SW-01] snmp-agent sys-info version v2c v3 [Access-SW-01] snmp-agent community read cipher public123 [Access-SW-01] snmp-agent community write cipher private123 [Access-SW-01] snmp-agent target-host trap address udp-domain 192.168.1.200 params securityname public123 v2csnmp-agent sys-info version 启用SNMP v2c和v3版本。snmp-agent community read 设置只读团体字使用密文。public123是示例请务必改为复杂字符串。snmp-agent community write 设置读写团体字同样使用密文。snmp-agent target-host 配置Trap告警主机地址和对应的安全名团体字。重要安全提醒SNMP v2c社区字符串以明文传输且权限控制较弱。在生产环境中强烈建议使用SNMP v3它支持认证和加密。如果必须使用v2c务必使用复杂的团体字并利用ACL限制可访问SNMP的源IP地址。5. 高级安全加固与运维检查清单前面的配置已经构建了一个相对安全的基线。但要想更上一层楼还需要一些进阶的安全和运维配置。5.1 控制平面保护CoPP/CPP交换机的CPU负责处理协议报文如STP BPDU, OSPF Hello, ICMP请求等。如果恶意用户向设备的IP地址发送海量ICMP请求或TCP SYN报文可能会打满CPU导致设备无法处理正常的协议报文造成网络瘫痪。控制平面保护CPP华为也叫CPU防攻击就是为了防止这种情况。华为交换机通常预定义了一些防攻击策略。我们需要做的是启用它并进行微调。[Access-SW-01] cpu-defend policy global [Access-SW-01-cpu-defend-policy-global] auto-defend enable [Access-SW-01-cpu-defend-policy-global] auto-defend action deny [Access-SW-01-cpu-defend-policy-global] auto-defend attack-packet sample 5 [Access-SW-01-cpu-defend-policy-global] auto-defend threshold 50 [Access-SW-01-cpu-defend-policy-global] auto-defend trace-type source-mac [Access-SW-01-cpu-defend-policy-global] quitauto-defend enable 启用自动防攻击。auto-defend action deny 对攻击报文的动作为丢弃。auto-defend attack-packet sample 采样比例。这里设5表示每5个疑似攻击报文采样1个进行分析平衡CPU消耗和检测精度。auto-defend threshold 阈值。当每秒发送到CPU的同类报文超过50个时触发防攻击。auto-defend trace-type source-mac 设置溯源类型为源MAC地址。当检测到攻击时可以锁定攻击源的MAC。此外还可以针对特定协议设置CAR承诺访问速率限制其上送CPU的速率。[Access-SW-01] cpu-defend policy global [Access-SW-01-cpu-defend-policy-global] car protocol icmp cir 256 [Access-SW-01-cpu-defend-policy-global] car protocol tcp-syn cir 128 [Access-SW-01-cpu-defend-policy-global] quit这里限制了ICMP报文上送CPU的速率为256kbpsTCP SYN报文为128kbps。这能有效缓解洪泛攻击。5.2 密码策略与用户权限细化之前我们创建了一个权限等级为15的admin用户。在实际团队协作中可能需要更细分的权限。1. 创建权限等级为3的“只读”用户。[Access-SW-01] aaa [Access-SW-01-aaa] local-user viewer password irreversible-cipher AnotherStrongPass! [Access-SW-01-aaa] local-user viewer privilege level 3 [Access-SW-01-aaa] local-user viewer service-type ssh [Access-SW-01-aaa] quit权限等级3通常只能执行display查看和ping等诊断命令不能进行配置更改。2. 配置密码策略强制复杂度与定期更换。[Access-SW-01] aaa [Access-SW-01-aaa] local-aaa-user password policy administrator [Access-SW-01-aaa-lupp-admin] password complexity enable [Access-SW-01-aaa-lupp-admin] password length min-length 10 [Access-SW-01-aaa-lupp-admin] password expire 90 [Access-SW-01-aaa-lupp-admin] quit [Access-SW-01-aaa] quitpassword complexity enable 启用密码复杂度检查通常要求包含大小写字母、数字、特殊字符中的至少两种。password length min-length 10 密码最小长度10位。password expire 90 密码有效期90天。3. 启用登录失败锁定。[Access-SW-01] aaa [Access-SW-01-aaa] local-aaa-user wrong-password retry-interval 10 retry-time 5 lock-time 5 [Access-SW-01-aaa] quit这条命令表示在10分钟retry-interval内如果连续登录失败次数达到5次retry-time该用户将被锁定5分钟lock-time。这能有效防御暴力破解。5.3 配置文件备份与设备重启恢复配置完成后一定要保存并设置自动备份。1. 保存当前配置。Access-SW-01 save The current configuration will be written to the device. Are you sure to continue?[Y/N]y Now saving the current configuration to the slot 0. Save the configuration successfully.2. 设置下次启动配置文件。确保我们刚保存的配置会在设备重启后生效。Access-SW-01 startup saved-configuration flash:/vrpcfg.zip Info: Succeeded in setting the configuration for booting.3. 可选配置自动备份到TFTP/FTP服务器。可以写一个简单的计划任务定期执行save命令并tftp put配置文件到远程服务器。这里展示手动命令Access-SW-01 tftp 192.168.1.200 put flash:/vrpcfg.zip backup-SW01-20240515.zip5.4 上线前最终检查清单在将交换机正式接入生产网络前建议逐项检查以下内容管理性检查[ ] SSH是否能从管理网段正常登录[ ] 从非管理网段尝试SSH是否被ACL拒绝[ ] 用户名/密码复杂度是否符合策略[ ] NTP时间是否同步正确[ ] Syslog服务器是否能收到本机日志业务连通性检查[ ] 接入端口如GE0/0/2下的PC是否能正确获取DHCP地址如果启用[ ] 获取地址后是否能ping通同VLAN的网关[ ] 是否能ping通其他网段如互联网[ ] Trunk端口如GE0/0/48的display interface brief查看需要的VLAN是否都是UP状态安全配置检查[ ]display port-security查看端口安全状态是否有违规[ ]display dhcp snooping user-bind all查看DHCP Snooping绑定表是否正常生成[ ]display stp brief查看生成树状态边缘端口是否标识为DESI且角色为APAlternate Port或DPDesignated Port根端口和指定端口是否正常[ ]display cpu-defend statistics查看是否有报文被CPP丢弃配置备份检查[ ]display startup查看下次启动配置文件是否正确[ ] 配置文件是否已远程备份完成以上所有步骤这台华为S5735S-L48T4S-A1交换机就已经从一个“白盒”设备变成了一台具备基础业务能力、拥有多层次安全防护、且便于运维管理的网络节点。配置过程看似繁琐但大部分命令在规划好后可以写成脚本批量执行。最重要的是理解每一条命令背后的意图这样才能在遇到不同型号设备或特殊场景时灵活变通举一反三。网络配置没有银弹唯有对原理的深刻理解和对细节的持续关注才能构建出既高效又坚固的网络。