这是一个用于批量配置华为交换机的Python自动化工具。通过SSH连接,可以同时对多台交换机执行配置命令。
- 支持批量配置多台交换机
- 多设备并发配置 - 支持同时配置多台设备,大幅提高效率
- 可视化进度显示 - 实时显示配置进度和状态
- 通过SSH安全连接
- 自动执行配置命令序列
- 支持华为交换机设备
- 详细的执行日志输出
- 智能重试机制 - 自动重试失败的设备
- Python 3.7+
- Windows/Linux/macOS
git clone https://github.com/Jaycelu/network_backup.git
cd 交换机# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txt编辑 devices.json 文件,添加需要配置的交换机信息:
{
"devices": [
{
"hostname": "交换机名称",
"ip": "交换机IP地址",
"username": "用户名",
"password": "密码",
"device_type": "huawei"
}
]
}python switch_config.py程序将显示:
- 实时进度条
- 当前处理的设备
- 配置状态和结果
- 详细的统计信息
每个设备需要包含以下字段:
hostname: 设备主机名ip: 设备IP地址username: SSH登录用户名password: SSH登录密码device_type: 设备类型(目前支持"huawei")
程序默认执行以下配置命令:
system-view- 进入系统视图acl name vtyallowlogin number 2024- 进入ACLrule 55 permit source 10.128.2.3 0- 添加ACL规则quit- 退出ACL视图quit- 退出系统视图save- 保存配置Y- 确认保存
如需修改配置命令,请编辑 switch_config.py 文件中的 commands 列表:
commands = [
"sysview",
"your_command_1",
"your_command_2",
"quit",
"save",
"Y"
]- 网络连接: 确保运行程序的机器能够访问所有交换机的IP地址
- SSH服务: 确保交换机已启用SSH服务
- 用户权限: 确保提供的用户名具有配置权限
- 安全考虑: 请妥善保管设备密码,建议使用环境变量或加密存储
- 备份配置: 执行配置前建议备份交换机当前配置
- 连接超时: 检查网络连接和交换机IP地址
- 认证失败: 验证用户名和密码
- 权限不足: 确认用户具有配置权限
- 命令执行失败: 检查命令语法和交换机型号兼容性
如需查看详细的连接和命令执行过程,可以修改代码添加更多日志输出。
交换机/
├── switch_config.py # 主程序文件
├── devices.json # 设备配置文件
├── requirements.txt # Python依赖包
├── config.py # 配置文件(可自定义参数)
├── README.md # 项目说明文档
├── 使用说明.md # 中文使用说明
├── test_concurrent.py # 并发测试脚本
├── devices_test.json # 测试设备配置
├── run.bat # Windows快速启动脚本
└── venv/ # 虚拟环境目录
本项目仅供学习和内部使用。
欢迎提交Issue和Pull Request来改进这个项目。