====== Ansible Cisco - VLANs ======
===== Criando a role =====
# cd /etc/ansible/roles/
# mkdir -p vlans/tasks
# vim vlans/tasks/main.yaml
---
- name: Configuration du VLAN 10 et 20 sur les switchs
ios_vlans:
config:
- name: Vlan_10
vlan_id: 10
state: active
shutdown: disabled
- name: Vlan_20
vlan_id: 20
state: active
shutdown: enabled
- name: Vlan_30
vlan_id: 30
state: active
shutdown: disabled
state: merged
- name: Affectation des vlans aux interfaces
ios_l2_interfaces:
config:
- name: Ethernet4/0
mode: access
access:
vlan: 10
- name: Ethernet4/1
mode: access
access:
vlan: 10
- name: Ethernet4/2
mode: access
access:
vlan: 10
- name: Ethernet4/3
mode: access
access:
vlan: 10
- name: Ethernet7/0
mode: trunk
trunk:
allowed_vlans: 10,30,40
encapsulation: dot1q
- name: Ethernet7/1
mode: trunk
trunk:
allowed_vlans: 10,30,40
encapsulation: dot1q
- name: Ethernet5/1
mode: access
access:
vlan: 20
- name: Ethernet6/0-3
mode: access
access:
vlan: 30
state: merged
- name: Configuration de la default gateway sur les switchs
ios_config:
lines: ip default-gateway 172.16.100.7
- name: Configuration de la security des ports
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet4/0
- name: Configuration de la security du port Ethernet4/1
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet4/1
- name: Configuration de la security du port Ethernet4/2
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet4/2
- name: Configuration de la security du port Ethernet4/3
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet4/3
- name: Configuration de la security du port Ethernet5/0
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet5/0
- name: Configuration de la security du port Ethernet5/1
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet5/1
- name: Configuration de la security du port Ethernet5/2
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet5/2
- name: Configuration de la security du port Ethernet5/3
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet5/3
- name: Configuration de la security du port Ethernet6/0
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet6/0
- name: Configuration de la security du port Ethernet6/1
ios_config:
lines:
- switchport port-security
- switchport port-security maximum 10
- switchport port-security mac-address sticky
- switchport port-security violation shutdown
parents: interface Ethernet6/1
===== Criando a plybook =====
# vim playbook_vlans.yaml
---
- name: Configuration de base des routeurs et switchs cisco
hosts: switchs
gather_facts: false
pre_tasks:
- debug:
msg: 'Debut de la configuration.'
roles:
- vlans
post_tasks:
- debug:
msg: 'Hosts configures.'
===== ReferĂȘncias =====
- [[https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_l2_interfaces_module.html#ansible-collections-cisco-ios-ios-l2-interfaces-module|cisco.ios.ios_l2_interfaces module]]