批量配置VLAN:如何快速部署多个VLAN到多台交换机
在大型网络部署中,批量配置VLAN 是网工必须掌握的技能。如果还靠Console线一台台配置,不仅效率低下,还容易出错。
今天就来讲讲4种高效批量配置VLAN的方法,从脚本到自动化工具,帮你把原本需要一整天的工作,压缩到10分钟内完成。
方法1:使用Python脚本 + SSH(适合中小规模)
适用场景:
- 5~20台交换机
- 需要一定灵活性
- 有Python基础
核心思路:
用 paramiko 库通过SSH登录交换机,
批量执行VLAN配置命令。
示例脚本(python-vlan-batch.py):
import paramiko
import time
# 交换机列表
switches = [
{"ip": "192.168.1.10", "name": "SW-Access-01"},
{"ip": "192.168.1.11", "name": "SW-Access-02"},
{"ip": "192.168.1.12", "name": "SW-Access-03"},
]
# VLAN配置命令
vlan_commands = [
"system-view",
"vlan batch 10 20 30", # 创建VLAN 10,20,30
"interface range gigabitethernet 0/0/1 to 0/0/24",
"port link-type access",
"port default vlan 10", # 默认VLAN 10
"quit",
"interface Vlanif10",
"ip address 192.168.10.1 255.255.255.0",
"return"
]
# 执行配置
for switch in switches:
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(switch["ip"], username="admin", password="Huawei@123", timeout=10)
shell = ssh.invoke_shell()
for cmd in vlan_commands:
shell.send(cmd + "\n")
time.sleep(1) # 等待命令执行
print(f"✅ {switch['name']} ({switch['ip']}) VLAN配置完成")
ssh.close()
except Exception as e:
print(f"❌ {switch['name']} 配置失败: {str(e)}")
执行:
python python-vlan-batch.py
✅ 优点:灵活、无需额外软件
⚠️ 注意:确保SSH开启,密码统一
方法2:使用华为eSight(适合华为设备集群)
适用场景:
- 全华为设备
- 大规模部署(50+设备)
- 需要可视化管理
操作步骤:
- 登录 eSight 管理平台
- 进入“配置” → “配置脚本”
- 创建脚本:
system-view
vlan batch 10 20 30interface Vlanif10ip address 192.168.10.1 24quit - 选择目标交换机(可批量选择)
- 执行“立即执行”或“定时执行”
✅ 优点:
- 图形化界面,操作简单
- 支持回滚、审计
- 可保存为模板,重复使用
方法3:使用Ansible(适合自动化运维)
适用场景:
- 已有自动化运维体系
- 跨厂商设备(华为、华三、思科)
- 需要版本控制
示例 playbook(vlan-batch.yml):
---
-name:批量配置VLAN
hosts:huawei_switches
gather_facts:no
vars:
ansible_network_os:community.network.ce
ansible_user:admin
ansible_password:Huawei@123
tasks:
-name:配置VLAN
community.network.ce_command:
commands:
-system-view
-vlanbatch102030
-interfaceVlanif10
-ipaddress192.168.10.1255.255.255.0
register:result
-name:显示结果
debug:
msg:"{{ result.stdout }}"
主机清单(inventory.ini):
[huawei_switches]
sw1 ansible_host=192.168.1.10
sw2 ansible_host=192.168.1.11
sw3 ansible_host=192.168.1.12
执行:
ansible-playbook vlan-batch.yml
✅ 优点:幂等性、可集成CI/CD、支持多厂商
方法4:TFTP/FTP 批量导入配置文件
适用场景:
- 无自动化工具
- 设备支持TFTP/FTP
步骤:
- 在PC上搭建TFTP服务器(如Tftpd64)
- 编写配置文件 vlan-config.cfg:
system-view
vlan 10 name Financevlan 20 name HRvlan 30 name R&Dinterface Vlanif10 ip address 192.168.10.1 255.255.255.0return - 在每台交换机上执行:
<Huawei> tftp 192.168.1.100 get vlan-config.cfg startup.cfg
<Huawei> reboot或:<Huawei> ftp get vlan-config.cfg
<Huawei> load configuration from vlan-config.cfg
✅ 优点:简单直接,无需编程
⚠️ 风险:覆盖现有配置,建议先备份
最佳实践:安全与效率并重

总结:4种方法对比

行动建议:
- 小规模 → 用 Python脚本 或 TFTP
- 华为设备集群 → 上 eSight
- 长期运维 → 学 Ansible
云服务器爆款直降90%
新客首单¥68起 | 人人可享99元套餐,续费同价 | u2a指定配置低至2.5折1年,立即选购享更多福利!