Python 批量配置交换机脚本
使用 Python 脚本批量配置交换机
以下是一个使用 Python 编写的脚本,用于批量配置多个交换机。脚本使用 paramiko 库连接 SSH,并从配置文件中读取配置命令。
import paramiko
# 配置文件列表
config_files = ['switch1.txt', 'switch2.txt', 'switch3.txt']
# 连接 SSH 函数
def connect_ssh(ip, username, password):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port=22, username=username, password=password)
return ssh
# 配置交换机函数
def configure_switch(ip, username, password, config_file):
# 连接 SSH
ssh = connect_ssh(ip, username, password)
print(f'连接到交换机 {ip}')
# 打开配置文件
with open(config_file, 'r') as f:
config_commands = f.readlines()
# 执行配置命令
for command in config_commands:
ssh.exec_command(command.strip())
# 关闭 SSH 连接
ssh.close()
print(f'配置交换机 {ip} 完成')
# 主函数
def main():
# 交换机信息
switches = [
{'ip': '192.168.1.1', 'username': 'admin', 'password': 'password1'},
{'ip': '192.168.1.2', 'username': 'admin', 'password': 'password2'},
{'ip': '192.168.1.3', 'username': 'admin', 'password': 'password3'}
]
# 遍历交换机进行配置
for switch in switches:
ip = switch['ip']
username = switch['username']
password = switch['password']
# 遍历配置文件进行配置
for config_file in config_files:
configure_switch(ip, username, password, config_file)
# 执行主函数
if __name__ == '__main__':
main()
脚本流程:
- 定义配置文件列表:
config_files存储要应用的配置文件名。 - 连接 SSH 函数:
connect_ssh函数使用paramiko库连接到交换机。 - 配置交换机函数:
configure_switch函数连接到交换机,读取配置文件中的命令并执行。 - 主函数:
main函数包含交换机信息和配置文件信息,遍历每个交换机并执行配置。
使用说明:
- 确保安装
paramiko库:pip install paramiko - 将
config_files列表中的文件名替换为实际的配置文件名。 - 修改
switches列表中的 IP 地址、用户名和密码。 - 修改配置文件内容以匹配您的实际配置需求。
示例配置文件 (switch1.txt):
interface GigabitEthernet0/0
ip address 10.10.10.1 255.255.255.0
no shutdown
注意:
- 该脚本仅供参考,实际应用中需要根据具体环境和需求进行调整。
- 使用 SSH 连接时,请确保安全设置,例如使用 SSH 密钥或限制访问权限。
- 在进行任何配置更改之前,请做好备份工作。
原文地址: https://www.cveoy.top/t/topic/dxkm 著作权归作者所有。请勿转载和采集!