交换机配置实战:从VLAN划分到三层路由与自动化部署

发布时间:2026/8/7 2:55:07
交换机配置实战:从VLAN划分到三层路由与自动化部署 1. 从零开始为什么你需要亲手配置一台交换机如果你刚接触网络或者一直依赖“即插即用”的傻瓜交换机那么“交换机配置”这个词听起来可能既神秘又遥远。你可能会想不就是插上网线就能用吗确实对于家庭或小型办公室一个百来块的交换机足以应付。但当你管理的设备超过几十台或者需要划分不同的部门网络、控制流量、保障关键业务时一台未经配置的交换机就像一辆没有方向盘的汽车——它只能沿着默认的直线前进一旦遇到复杂路况就束手无策。我最初接触交换机配置是因为公司一个项目需要将研发部和市场部的网络隔离开同时又要让它们都能访问公司的服务器。当时用的就是一台支持VLAN的三层交换机。如果不会配置要么得买两台交换机物理隔离成本高、布线乱要么所有设备混在一个网络里安全风险大、广播风暴频繁。亲手敲下那些配置命令看着不同网段的设备既能隔离又能互通的那一刻我才真正理解了网络设备的价值远不止于“连通”。所以这篇内容就是为你准备的无论你是运维工程师、网络爱好者还是需要解决实际组网问题的IT人员。我们将绕过那些枯燥的理论教科书直接从一台刚开箱的交换机开始通过一系列真实的场景和命令让你掌握从基础连通到高级策略的完整配置思路。你会发现那些看似复杂的命令背后都是一套清晰、有逻辑的网络设计思想。2. 开箱第一步连接、登录与初始环境探查拿到一台新的交换机比如华为的S5700系列或者H3C的S5130系列第一步不是急着配命令而是先和它建立“对话”通道。最可靠的方式永远是Console口连接。你需要一根Console线通常是RJ45转DB9或USB一个终端仿真软件如SecureCRT、Putty、甚至Windows自带的“超级终端”替代品。将Console线一端接交换机标注为“Console”的接口另一端接电脑的串口或USB口USB转串口驱动需提前装好。在终端软件里设置正确的串口号在设备管理器中查看、波特率通常是9600、数据位8、停止位1、无校验。通电启动交换机终端上就会开始滚动启动信息。当出现“Press CtrlB to enter Boot Menu”或类似提示时通常不用管等待系统完全启动。首次启动后你会进入用户视图提示符一般是像HUAWEI或H3C这样的尖括号。这时输入system-view华为/华三或enable然后configure terminal思科回车就进入了系统视图提示符变为[HUAWEI]或[H3C]。这个视图才是你进行大部分配置的地方。注意很多新手在这里会卡住因为输命令没反应。请务必确认终端软件的流控制Flow Control选项全部设置为“无”None否则可能无法输入。进入系统视图后我习惯先做两件事一是给设备起个名字二是查看接口信息。起名命令是sysname SW-Core-1这样在有多台设备时提示符会变成[SW-Core-1]一目了然。查看接口命令是display interface brief这会列出所有物理接口的状态UP/DOWN、速率、双工模式。这个命令能帮你快速确认哪些网口是好的以及设备的基本硬件信息是否正常。3. 构建网络基石VLAN、IP地址与端口基础配置网络配置的核心逻辑是“定义对象”然后“建立关联”。最基础的对象就是VLAN和接口。3.1 创建与管理VLANVLAN虚拟局域网是逻辑上隔离广播域的技术。假设我们要为公司的研发部VLAN 10、市场部VLAN 20和服务器VLAN 100划分网络。创建VLAN的命令非常简单[SW-Core-1] vlan batch 10 20 100这条命令一次性创建了VLAN 10 20和100。你可以用display vlan来查看所有VLAN信息。创建后VLAN默认是空的没有包含任何端口。3.2 配置Access与Trunk端口端口如何关联到VLAN呢这取决于端口类型。Access端口通常用于连接终端设备电脑、打印机、IP电话。一个Access端口只能属于一个VLAN。数据帧进出这个端口时不带VLAN标签。Trunk端口通常用于连接另一台交换机或路由器。一个Trunk端口可以允许多个VLAN的数据通过。数据帧在链路上传输时会带上VLAN标签以便对端设备识别。配置示例将交换机的第1到10号接口GigabitEthernet 0/0/1 to 0/0/10划给研发部VLAN 10作为接入端口。[SW-Core-1] interface gigabitethernet 0/0/1 [SW-Core-1-GigabitEthernet0/0/1] port link-type access // 设置端口类型为Access [SW-Core-1-GigabitEthernet0/0/1] port default vlan 10 // 将端口加入VLAN 10 [SW-Core-1-GigabitEthernet0/0/1] quit如果接口是连续的可以用端口组批量配置效率高很多[SW-Core-1] port-group group-to-vlan10 [SW-Core-1-port-group-group-to-vlan10] group-member gigabitethernet 0/0/1 to gigabitethernet 0/0/10 [SW-Core-1-port-group-group-to-vlan10] port link-type access [SW-Core-1-port-group-group-to-vlan10] port default vlan 10假设交换机的24号口GE0/0/24需要上联到核心交换机或路由器需要允许VLAN 10 20 100通过则配置为Trunk[SW-Core-1] interface gigabitethernet 0/0/24 [SW-Core-1-GigabitEthernet0/0/24] port link-type trunk [SW-Core-1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 100这里有个关键点Trunk端口默认只允许VLAN 1通过所以必须用port trunk allow-pass vlan命令显式放行需要的VLAN。3.3 为交换机配置管理IP要让网络管理员能通过Telnet或SSH远程管理这台交换机就需要给交换机配置一个IP地址。这个地址通常配置在一个专门的管理VLAN比如VLAN 100的虚拟接口VLANIF上。首先确保VLAN 100已经创建并且有端口比如一个Access口或Trunk口承载这个VLAN的流量。然后配置VLANIF接口[SW-Core-1] interface vlanif 100 [SW-Core-1-Vlanif100] ip address 192.168.100.1 24 // 配置IP和掩码24代表255.255.255.0 [SW-Core-1-Vlanif100] quit现在交换机就有了一个IP地址 192.168.100.1。连接在VLAN 100下的电脑如果能ping通这个地址就说明二层连通性是好的。4. 实现跨网段通信三层交换与静态路由配置如果研发部VLAN 10 网段192.168.10.0/24的电脑想访问服务器VLAN 100 网段192.168.100.0/24由于它们处于不同网段就需要三层网络层设备进行路由。如果这台交换机是三层交换机它自己就可以完成这个工作。4.1 配置VLANIF接口作为网关我们为每个VLAN创建一个VLANIF接口并配置其IP地址作为该网段的网关。[SW-Core-1] interface vlanif 10 [SW-Core-1-Vlanif10] ip address 192.168.10.1 24 [SW-Core-1-Vlanif10] quit [SW-Core-1] interface vlanif 20 [SW-Core-1-Vlanif20] ip address 192.168.20.1 24 [SW-Core-1-Vlanif20] quit现在研发部电脑的网关设为192.168.10.1市场部电脑的网关设为192.168.20.1服务器网关设为192.168.100.1。交换机内部已经为这些直连网段自动生成了路由。你可以用display ip routing-table查看路由表应该能看到这些直连Direct路由。4.2 配置静态路由访问外网假设公司的出口路由器地址是192.168.100.254也在VLAN 100内它连接着互联网。那么交换机上需要配置一条默认路由告诉交换机所有目标地址不在已知网段如192.168.10.0/24 192.168.20.0/24 192.168.100.0/24的流量都发给出口路由器。[SW-Core-1] ip route-static 0.0.0.0 0 192.168.100.254这条命令的意思是目的网络0.0.0.0代表所有网络掩码0代表所有主机下一跳地址是192.168.100.254。同时别忘了在出口路由器上配置回程路由告诉路由器如何找到192.168.10.0/24和192.168.20.0/24这些内网网段通常指向交换机的VLANIF 100地址192.168.100.1。5. 保障可靠与安全链路聚合、MSTP与基础安全策略基础连通性搞定后我们就要考虑网络的可靠性和安全性了。单条链路故障、网络环路、未授权访问都是生产环境的大敌。5.1 使用Eth-Trunk实现链路聚合将交换机的23号和24号口捆绑成一个逻辑的Eth-Trunk端口既能增加带宽负载分担又能提供链路备份冗余。[SW-Core-1] interface eth-trunk 1 // 创建编号为1的Eth-Trunk接口 [SW-Core-1-Eth-Trunk1] port link-type trunk [SW-Core-1-Eth-Trunk1] port trunk allow-pass vlan 10 20 100 [SW-Core-1-Eth-Trunk1] quit [SW-Core-1] interface gigabitethernet 0/0/23 [SW-Core-1-GigabitEthernet0/0/23] eth-trunk 1 // 将物理接口加入Eth-Trunk 1 [SW-Core-1-GigabitEthernet0/0/23] quit [SW-Core-1] interface gigabitethernet 0/0/24 [SW-Core-1-GigabitEthernet0/0/24] eth-trunk 1 [SW-Core-1-GigabitEthernet0/0/24] quit现在你可以把interface eth-trunk 1当作一个高速Trunk端口来配置和管理。使用display eth-trunk 1可以查看聚合组的状态和成员。5.2 配置MSTP防止网络环路当网络中存在多条冗余链路时必须启用生成树协议STP来阻塞某些端口防止广播风暴。现在主流的是MSTP多生成树协议它可以基于VLAN实例进行负载分担。[SW-Core-1] stp region-configuration [SW-Core-1-mst-region] region-name MyNetwork // 配置域名同一区域的交换机需一致 [SW-Core-1-mst-region] instance 1 vlan 10 // 创建实例1映射VLAN 10 [SW-Core-1-mst-region] instance 2 vlan 20 // 创建实例2映射VLAN 20 [SW-Core-1-mst-region] active region-configuration // 激活配置 [SW-Core-1-mst-region] quit [SW-Core-1] stp mode mstp // 全局启用MSTP模式 [SW-Core-1] stp instance 1 root primary // 设置本交换机为实例1VLAN 10的根桥 [SW-Core-1] stp instance 2 root secondary // 设置本交换机为实例2VLAN 20的备份根桥通过为不同VLAN设置不同的根桥可以让流量在不同的Trunk链路上进行负载均衡。使用display stp brief可以查看各端口的生成树状态DESI/FWD是转发ALTE/BLK是阻塞。5.3 配置SSH替代Telnet进行远程管理Telnet是明文传输极不安全。务必启用SSH。[SW-Core-1] rsa local-key-pair create // 生成本地RSA密钥对 [SW-Core-1] user-interface vty 0 4 // 进入虚拟终端接口0到4共5个会话 [SW-Core-1-ui-vty0-4] authentication-mode aaa // 认证模式改为AAA [SW-Core-1-ui-vty0-4] protocol inbound ssh // 只允许SSH接入 [SW-Core-1-ui-vty0-4] quit [SW-Core-1] aaa [SW-Core-1-aaa] local-user admin password irreversible-cipher YourStrongPass123 [SW-Core-1-aaa] local-user admin privilege level 15 // 权限等级15为最高 [SW-Core-1-aaa] local-user admin service-type ssh // 用户服务类型为SSH [SW-Core-1-aaa] quit [SW-Core-1] stelnet server enable // 启用STelnet服务器SSH服务器配置完成后你就可以使用如Putty、Xshell等工具通过SSH协议连接到交换机的管理IP192.168.100.1使用用户名admin和密码登录所有会话内容都是加密的。6. 日常维护与排错你必须掌握的几个诊断命令配置不是一劳永逸的网络状态瞬息万变。掌握几个核心的诊断命令能让你在出现问题时快速定位。display current-configuration查看当前运行配置。这是最常用的命令任何修改后都可以用它来确认。display saved-configuration查看下次启动时加载的保存配置。务必确保运行配置和保存配置一致否则重启后配置会丢失。使用save命令保存当前配置。display interface [interface-name]查看指定接口的详细状态包括输入/输出流量、错包、丢包、CRC错误等。如果接口物理状态是DOWN检查网线、对端设备如果是UP但协议状态DOWN检查两端配置如速率、双工、VLAN是否匹配。display mac-address查看MAC地址表。可以看到哪个MAC地址通过哪个端口学习到属于哪个VLAN。这是排查终端连接问题和环路问题的利器。如果看到一个MAC地址在多个端口频繁跳动可能预示着环路。display arp查看ARP表。可以看到IP地址和MAC地址的对应关系对于三层通信排错至关重要。ping [ip-address]和tracert [ip-address]测试网络层连通性和路径。从交换机上ping其他设备可以判断三层路由是否正常。reset counters interface [interface-name]清空指定接口的统计计数器然后重新观察错包是否增长用于判断是否是瞬时故障还是持续问题。7. 从手动到自动Ansible网络自动化配置初探当你需要管理几十上百台交换机且配置类似时手动登录每台设备敲命令就成了噩梦。这时网络自动化工具如Ansible就能大显身手。以使用Ansible 2.9.27配置一台H3C交换机为例核心在于编写正确的Ansible配置文件和Playbook。首先在Ansible控制机上需要定义主机清单文件inventory.ini[huawei_switches] 192.168.100.1 ansible_connectionnetwork_cli ansible_network_osh3c ansible_useradmin ansible_passwordYourStrongPass123这里的关键是指定ansible_connectionnetwork_cli和ansible_network_osh3c告诉Ansible使用网络CLI模块并通过H3C的插件来连接。然后编写一个Playbookdeploy_vlan.yml来创建VLAN--- - name: 配置H3C交换机VLAN hosts: huawei_switches gather_facts: no tasks: - name: 创建VLAN 10和20 h3c_vlan: vlan_id: {{ item }} state: present loop: - 10 - 20 - name: 配置接口为Access并加入VLAN 10 h3c_interface: name: GigabitEthernet1/0/1 mode: access access_vlan: 10 state: up执行这个Playbookansible-playbook -i inventory.ini deploy_vlan.yml。Ansible会自动登录交换机进入系统视图执行创建VLAN和配置接口的命令。这种方式实现了配置的代码化、版本化和批量部署极大地提升了效率和准确性。对于更复杂的配置Ansible还提供了h3c_config模块来直接推送配置命令块。