批量配置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+设备)
  • 需要可视化管理

操作步骤:

  1. 登录 eSight 管理平台
  2. 进入“配置” → “配置脚本”
  3. 创建脚本:

    system-view
    vlan batch 10 20 30interface Vlanif10ip address 192.168.10.1 24quit

  4. 选择目标交换机(可批量选择)
  5. 执行“立即执行”或“定时执行”

✅ 优点

  • 图形化界面,操作简单
  • 支持回滚、审计
  • 可保存为模板,重复使用

方法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

步骤:

  1. 在PC上搭建TFTP服务器(如Tftpd64)
  2. 编写配置文件 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

  3. 在每台交换机上执行:

    <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种方法对比

行动建议

  1. 小规模 → 用 Python脚本 或 TFTP
  2. 华为设备集群 → 上 eSight
  3. 长期运维 → 学 Ansible
阅读剩余
THE END
阿里云ECS特惠活动
阿里云ECS服务器 - 限时特惠活动

云服务器爆款直降90%

新客首单¥68起 | 人人可享99元套餐,续费同价 | u2a指定配置低至2.5折1年,立即选购享更多福利!

新客首单¥68起
人人可享99元套餐
弹性计费
7x24小时售后
立即查看活动详情
阿里云ECS服务器特惠活动