آموزش انسیبل سیسکو به زبان ساده و گام به گام
یکی از مباحث مهمی که در دوره سیسکو مطرح میشود، آموزش ansible سسیکو است. افرادی که در حوزهی شبکه و فناوری اطلاعات فعالیت دارند، عنوان آموزش انسیبل در سیسکو را بسیار شنیدهاند. در این مطلب به شما نشان دادهایم که Ansible چیست و سپس به آموزش انسیبل سیسکو برای چگونگی استفاده از آن در روترهای سیسکو پرداختهایم.
انسیبل چیست؟
پیش از ورود به بحث کاربرد و آموزش ansible سسیکو، بهتر است تا تعریفی از آن را ارائه دهیم. به زبان ساده، انسیبل یک ابزار خودکارسازی دیگر برای مدیریت شبکه شماست. شما با استفاده از انسیبل میتوانید وظایف مختلفی را به سادگی بر روی شبکهی خود انجام دهید. در واقع ansible سسیکو ابزاری برای اتوماسیونسازی این فرآیند را ارائه میدهد.
مزایای انسیبل سیسکو چیست؟
در میان ابزارهای اتوماسیون ساز برای مدیریت شبکه، انسیبل سیسکو مزایای بسیار زیادی دارد. در این بخش، به معرفی برخی از مزایای ansible پرداختهایم.
- انسیبل رایگان و متن باز است.
- بر خلاف Puppet، Chef و Salt، به صورت بومی بدون عامل (agentless) است. انسیبل نیازی به نصب یک عامل روی دستگاه برای انجام تغییرات ندارد. در عوض، از طریق SSH به دستگاه متصل میشود و خودش تغییرات را اعمال میکند.
- عدم نیاز به نصب در این ابزار سبب میشود تا فضای بیشتری برای منابع دیگر در سرور داشته باشید.
- راهاندازی انسبیلها ساده بوده و نیازی به مهارت کدنویسی خاصی ندارد.
آموزش انسیبل سیسکو
انسیبل از یک ایستگاه کنترل استفاده میکند. این یک سرور است که نرمافزار انسیبل روی آن اجرا میشود. میتوانیم درخواستها و تغییرات را از ایستگاه کنترل به میزبانهای راه دور ارسال کنیم.
انسیبل از playbookها استفاده میکند، که یک اصطلاح از فوتبال آمریکایی است. این playbookها تغییرات پیکربندی را اعمال و اطلاعات را بازیابی میکنند. Playbookها به زبان YAML نوشته میشوند و شامل plays هستند. این plays مجموعهای از taskها هستند که میتوانند روی یک یا چند دستگاه اعمال شوند.
Tasks واحدهای کار فردی هستند که روی یک دستگاه هدف انجام میشوند. برای مثال، میتواند یک بسته نرمافزاری را به یک دستگاه هدف ارسال کند. اغلب، playbookها به صورت زمانبندی شده اجرا میشوند، اما میتوانند به صورت فوری نیز از ایستگاه کنترل با استفاده از فرمان ‘ansible-playbook’ اجرا شوند.
برای پیگیری همه میزبانهای مدیریت شده، انسیبل از یک فایل موجودی (inventory file) استفاده میکند. این فایل میتواند انواع دستگاهها را گروهبندی کند، مانند گروهبندی سوئیچها و روترها.
بر خلاف Puppet، Chef و Salt، انسیبل در playbookها از رویکرد رویهای استفاده میکند که بیشتر به سبک مدیریت دستوری است. در این رویکرد، مدیران مراحل مورد نیاز برای رسیدن به یک وضعیت نهایی را فهرست میکنند، به جای اینکه فقط وضعیت نهایی را تعریف کنند و سیستم خود به خود تعیین کند که چگونه به آنجا برسد.
پیشنهاد مطالعه: آموزش روتینگ سیسکو – راهنمای ساده و جامع
چگونه از انسیبل با روترهای سیسکو استفاده کنیم؟
یک پلاگین انسیبل به نام network_cli وجود دارد که برای بازیابی پیکربندی دستگاههای شبکه برای پشتیبانگیری، بازرسی و حتی اجرای دستورات استفاده میشود. در آموزش جاری فرض کردهایم که انسیبل از قبل نصب شده و دو روتر داشته باشیم.
همچنین ما از Debian Linux استفاده کردهایم. بنابراین مجبور شدهایم تا Python 3 را نصب کنیم.
به علاوه اینکه pip را نصب کردهایم. چون میخواستیم تا نسخه خاصی از انسیبل (2.5.+) را نصب کنیم که به ما اجازه استفاده از پلاگین network_cli را بدهد.
* نکته: میتوانیم نسخههای موجود انسیبل را با تایپ pip install ansible== لیست کنیم.
همچنین یک کاربر به نام ansible ایجاد کردهایم.
فایل sudoers لینوکس را با دستور visudo ویرایش می کنیم.
و به کاربر انسیبل اجازه اجرای دستورات ریشه (root) را بدون درخواست رمز عبور میدهیم. بنابراین فایل ما به این شکل درمیآید:
آموزش تنظیمات سریع
این ساختار دایرکتوری ما در آموزش جاری است:
اینها فایلهایی هستند که برای این تست آزمایشگاهی استفاده کردهایم:
* نکته: میتوانیم cisco1.rodrigo.example را با یک آدرس IP جایگزین کنیم.
در انسیبل، یک فایل پیکربندی پیشفرض (ansible.cfg) وجود دارد که در آن پیکربندیهای جهانی را ذخیره میکنیم. به عبارت دیگر، در این فایل تعیین میکنیم که چگونه میخواهیم انسیبل رفتار کند. همچنین فهرست میزبانهای خود را در یک فایل موجودی (در اینجا inventory.yml) نگه میداریم.
یک پوشه پیشفرض (group_vars) وجود دارد که میتوانیم متغیرهایی که برای هر روتر که انسیبل را علیه آن اجرا میکنیم اعمال میشود را ذخیره کنیم. این امر، در این مورد منطقی است زیرا اعتبارنامههای روتر ما یکسان است. در نهایت، retrieve_backup.yml کتابچه راهنمای واقعی ما خواهد بود. یعنی جایی که به انسیبل میگوییم که دقیقاً چه کاری انجام دهد.
* نکته: ما به صورت دستی وارد cisco1.rodrigo.example و cisco2.rodrigo.example شدهایم تا فایلهای ssh known_hosts را پر کنیم. در غیر این صورت انسیبل از این میزبانها به عنوان میزبانهای نامعتبر شکایت میکند.
پیشنهاد مطالعه: آموزش bgp سیسکو – معرفی و پیکربندی بی جی پی سیسکو
پر کردن فایل Playbook ما retrieve_backup.yml
بخش دیگر آموزش ansible سسیکو را به پرکردن فایل Playbook ما retrieve_backup.yml اختصاص دادهایم. فرض کنید که میخواهیم فقط پیکربندی OSPF را از روترهای سیسکو خود بازیابی کنیم.
میتوانیم از ios_command استفاده کرده تا هر دستوری را به روتر سیسکو تایپ کنیم. از register برای ذخیره خروجی در یک متغیر استفاده میکنیم.
* نکته: به تورفتگی (indentation) دقت کنید. ما در اینجا از دو فاصله استفاده کردهایم.
اکنون میتوانیم محتوای متغیر را به یک فایل در یک دایرکتوری مشخص کپی کنیم. در این مورد، هر چیزی که در متغیر ospf_output باشد را به دایرکتوری ospf_config کپی کردیم.
از فایل Playbook بالا میتوانیم متوجه شویم که متغیرها بین {{ }} ارجاع داده میشوند. ممکن است تعجب کنید که چرا باید stdout[0] را به ospf_output اضافه کنیم؟ اگر با پایتون آشنا هستید، ممکن است علاقهمند باشید که بدانید در پشت صحنه چه میگذرد، بنابراین این موضوع کمی بیشتر توضیح خواهیم داد.
متغیر ospf_output در واقع یک دیکشنری بوده و stdout یکی از کلیدهای آن است. در واقعیت، ospf_output.stdout میتواند به صورت ospf_output[‘stdout’] نمایش داده شود.
ما [0] را اضافه میکنیم. زیرا شیء بازیابی شده توسط کلید stdout یک رشته نیست. این یک لیست است. [0] فقط نشاندهنده اولین شیء در لیست است.
پیشنهاد مطالعه: آموزش vlan سیسکو – راهنمای جامع برای افراد مبتدی
اجرای Playbook در آموزش انسیبل سیسکو
ابتدا ospf_config را ایجاد میکنیم:
و playbook خود را با صدور فرمان ansible-playbook اجرا میکنیم:
حالا بررسی کنیم که آیا پیکربندی OSPF ما بازیابی شده است:
ما میتوانیم تقریباً هر دستور IOS را که در یک روتر واقعی تایپ میکنیم (چه برای پیکربندی آن و چه برای بازیابی پیکربندی آن)، را در اینجا نیز تایپ کنیم. همچنین میتوانیم تاریخ را به نام فایل اضافه کنیم، اما این خارج از محدوده این مقاله است.
جمع بندی
در این مطلب به آموزش ansible سسیکو پرداختیم. ابتدا با بیانی ساده، سعی در تشریح این مفهوم داشته و سپس تکنیک استفاده از آن را در سیسکو ارائه دادیم. یادگیری و آموزش انسیبل سیسکو به شما کمک میکند تا بازار کار وسیع و گستردهای در زمینهی شبکههای سیسکو بیابید. شما همچنین میتوانید با آموزش لینوکس، دوره مجازی سازی لینوکس و دورههای دیگر در زمینهی لینوکس و شبکههای رایانهای، فرصتهای حرفهای بیشماری را دریافت کنید.
آموزش سیسکو در مکتب خونه
برای کسب مهارت سیسکو، شما نیاز به دورههای آموزشی جامع و برتر دارید. یکی از منابع معتبر برای یادگیری این موضوع، دورههای مکتب خونه است. دورههای آموزش سیسکو و آموزش شبکه در مکتب خونه، به شما کمک میکند که صفر تا صد سیسکو و مباحث مرتبط با آن را بیاموزید. زبان آموزش ساده و روان بوده و گنجاندن سطوح مقدماتی آموزش در این دورهها، سبب میشود تا کلیهی مفاهیم به نحو عملی و اصولی، درک شود.