أتمتة أجهزة الشبكة باستخدام cli_command
أرسل الإعدادات إلى المحولات والموجّهات
أتمتة أجهزة الشبكة باستخدام cli_command درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
الخوادم ليست الأهداف الوحيدة
يمكن لـ Ansible إدارة أجهزة التوجيه والمبدّلات أيضًا، وليس مضيفات Linux فقط. تدفع أتمتة الشبكات الإعدادات إلى الأجهزة عبر SSH أو واجهة API. 🌐
لماذا تختلف أجهزة الشبكة
تفتقر المبدّلات عادةً إلى Python، لذلك لا يستطيع Ansible نسخ الوحدات إليها. ويشغّل اتصال network_cli الأوامر عن بُعد عبر واجهة سطر أوامر الجهاز بدلًا من ذلك.
vars:
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: cisco.ios.iosتعرّف إلى cli_command
ترسل وحدة cli_command أمرًا خامًا إلى جهاز شبكة وتعيد مخرجاته، تمامًا كما لو كتبت الأمر عند موجّه الجهاز بنفسك.
- name: Show version
ansible.netcommon.cli_command:
command: show versionالتقط المخرجات
استخدم register لحفظ ما يعيده الجهاز. وتوضع النتيجة في stdout، لتصبح جاهزة للفحص أو التحليل لاحقًا.
- name: Read running config
ansible.netcommon.cli_command:
command: show running-config
register: cfgأرسل أوامر الإعداد
لتغيير الإعدادات، يجب أن يكون الجهاز في وضع الإعداد. وتتولى cli_config الدخول إلى ذلك الوضع والخروج منه بأمان.
- name: Set hostname
ansible.netcommon.cli_config:
config: hostname core-sw01أجب عن المطالبات التفاعلية
تطلب بعض الأوامر تأكيدًا. ويمكن لـ cli_command الرد تلقائيًا باستخدام أزواج prompt وanswer، حتى لا يتوقف الـ play منتظرًا إدخالًا.
- ansible.netcommon.cli_command:
command: reload
prompt:
- Proceed with reload
answer:
- 'y'محايدة تجاه المورّدين بتصميمها
تعمل مهمة cli_command نفسها مع Cisco وJuniper وArista. ولا يتغير سوى ansible_network_os، لذلك يظل أسلوبك متسقًا.
استخدم وحدات المنصة متى أمكن
لإجراء تغييرات منظمة وقابلة لإعادة التنفيذ بأمان، فضّل وحدات مثل cisco.ios.ios_config. واستخدم cli_command عندما لا تناسب الحالة أي وحدة متخصصة.
- cisco.ios.ios_config:
lines:
- description uplink to core
parents: interface GigabitEthernet0/1بيانات الاعتماد عبر SSH
لا تزال أجهزة الشبكة تصادق عبر SSH. اضبط ansible_user وكلمة مرور محفوظة في vault أو مفتاحًا، حتى تتمكن ملفات الـ play من تسجيل الدخول بسلاسة.
vars:
ansible_user: netadmin
ansible_password: "{{ vault_net_pass }}"احفظ الإعدادات قيد التشغيل
تبقى التغييرات في الإعدادات قيد التشغيل إلى أن تُحفظ. نفّذ أمر write حتى تستمر الإعدادات بعد إعادة تشغيل الجهاز. 💾
- ansible.netcommon.cli_command:
command: write memoryمصدر هذه الوحدات
تأتي cli_command ضمن مجموعة ansible.netcommon. ثبّتها من Galaxy قبل أن تتمكن ملفات playbook الخاصة بالشبكة من استخدامها.
ansible-galaxy collection install ansible.netcommonتحقق سريع
لنتحقق من كيفية تواصلك مع مبدّل الشبكة.
مراجعة سريعة
تتيح وحدة cli_command، عبر اتصال network_cli، لـ Ansible تشغيل الأوامر وحفظها على المبدّلات والموجّهات عبر SSH. ✅
الأسئلة الشائعة
هل درس «أتمتة أجهزة الشبكة باستخدام cli_command» مجاني؟
نعم — نص درس «أتمتة أجهزة الشبكة باستخدام cli_command» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «أتمتة أجهزة الشبكة باستخدام cli_command»؟
أرسل الإعدادات إلى المحولات والموجّهات تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «أتمتة أجهزة الشبكة باستخدام cli_command»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أتمتة أجهزة الشبكة باستخدام cli_command
- delegate_to وrun_once للتنسيق
- تنسيق طبقات الويب والتطبيق وقاعدة البيانات
- إخراج العقد من Load Balancer ثم إعادة تفعيلها