Ansible برای خودکارسازی شبکه
Ansible از طریق SSH (یا API) به تجهیزات شبکه متصل میشود و پیکربندی را بهصورت Idempotent اعمال میکند.
نصب
BASH
pip install ansible ansible-pylibssh
ansible-galaxy collection install community.routeros cisco.iosفایل Inventory
INI
all:
children:
mikrotik:
hosts:
router1:
ansible_host: 192.168.1.1
ansible_user: admin
ansible_network_os: community.routeros.routeros
cisco:
hosts:
sw1:
ansible_host: 192.168.1.10
ansible_network_os: cisco.ios.iosPlaybook MikroTik: پشتیبانگیری از پیکربندیها
YAML
- name: پشتیبانگیری از پیکربندیهای MikroTik
hosts: mikrotik
gather_facts: false
tasks:
- name: Export پیکربندی
community.routeros.command:
commands:
- /export file=backup-{{ inventory_hostname }}Playbook Cisco IOS: فراهمسازی VLAN
YAML
- name: فراهمسازی VLANها روی سوئیچهای Cisco
hosts: cisco
gather_facts: false
tasks:
- name: ایجاد VLANها
cisco.ios.ios_vlans:
config:
- vlan_id: 10
name: CORP
- vlan_id: 20
name: GUEST
state: merged
- name: ذخیره پیکربندی
cisco.ios.ios_command:
commands: write memoryزمانبندی با Cron
BASH
# اجرای پشتیبانگیری هر شب ساعت ۲ بامداد
0 2 * * * ansible-playbook -i inventory/hosts.yml backup-configs.yml