رفتن به محتوا
بازگشت به وبلاگ
خودکارسازی

Ansible برای خودکارسازی شبکه: MikroTik و Cisco

خودکارسازی پیکربندی تجهیزات شبکه با Ansible: Playbook‌های واقعی برای MikroTik RouterOS و Cisco IOS.

اردیبهشت ۱۴۰۴
۱۴ دقیقه مطالعه

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.ios

Playbook 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