写一个 playbook 给交换机接口配置vlan
时间: 2023-05-22 13:06:11 浏览: 62
好的,以下是一个示例 playbook,用于配置交换机上的接口和 VLAN:
```yaml
---
- name: 配置交换机接口 VLAN
hosts: switch
gather_facts: no
tasks:
- name: 配置接口
ios_interface:
name: "{{ item.interface }}"
description: "Connected to {{ item.host }}"
state: present
provider: "{{ cli }}"
loop: "{{ interfaces | default([]) }}"
- name: 配置 VLAN
ios_vlan:
vlan_id: "{{ item.vlan }}"
name: "{{ item.name }}"
state: present
provider: "{{ cli }}"
loop: "{{ vlans | default([]) }}"
- name: 配置接口 VLAN
ios_interface:
name: "{{ item.interface }}"
vlan: "{{ item.vlan }}"
provider: "{{ cli }}"
loop: "{{ interfaces_vlans | default([]) }}"
vars:
cli:
host: "{{ inventory_hostname }}"
username: "{{ ansible_user }}"
password: "{{ ansible_password }}"
transport: ssh
port: 22
interfaces:
- interface: GigabitEthernet1/0/1
- interface: GigabitEthernet1/0/2
vlans:
- vlan: 10
name: Users
- vlan: 20
name: Servers
interfaces_vlans:
- interface: GigabitEthernet1/0/1
vlan: 10
- interface: GigabitEthernet1/0/2
vlan: 20
```
这个 playbook 用到了 Ansible 的一些模块,例如 `ios_interface` 和 `ios_vlan`,可以通过 Ansible 运行来配置交换机上指定的接口和 VLAN。你可以用你自己的交换机信息来替换 `cli` 变量以及 `interfaces`、`vlans` 和 `interfaces_vlans` 列表中的元素来添加或修改接口和 VLAN 的配置。