پالت فرمان

دنبال فرمانی برای اجرا بگردید…

ZarynZaryn
خودکارسازی شبکه·۱۰ دقیقه مطالعه·

شروع کار با خودکارسازی شبکه

مسیری راهنما از «Zaryn برای شبکه‌ام چه می‌کند؟» تا تغییرهایی امن و خودکار سنجیده: جمع‌آوری‌کنندهٔ فقط‌خواندنی، پشتیبان کانفیگ و انحراف، نقشهٔ زنده، چرا A به B نمی‌رسد، دوقلوی دیجیتالی که تغییر را اول می‌آزماید، rolloutهایی که خودشان برمی‌گردند، و دسترسی به دستگاه بی گذرواژهٔ مشترک. اول تصویر، هر گام با توضیح.

آموزش⏱ حدود ۴۰ دقیقه◔ از صفر تا پیشرفته☰ ۱۶ فصل
یاد می‌گیرید
  • Zaryn برای روترها و سوئیچ‌ها چه می‌کند و جمع‌آوری‌کنندهٔ فقط‌خواندنی آن چطور کار می‌کند
  • راه‌اندازی یک سایت، یک جمع‌آوری‌کننده و دستگاه‌هایتان، به‌شکلی امن
  • پشتیبان کانفیگ و انحراف، نقشهٔ زنده، طرح آدرس‌ها و خط زمانی تغییرها
  • یافتن اینکه چرا A به B نمی‌رسد، گام به گام، و پاییدن آنچه مهم است با پروب‌ها
  • آزمودن یک تغییر روی دوقلوی دیجیتال، اعمالش با بازگشت خودکار، و دادن دسترسی به دستگاه بی‌آنکه گذرواژه‌ای هم‌رسانی شود
لازم دارید
  • یک حساب Zaryn (رایگان تا ۱۰ دستگاه را پوشش می‌دهد)
  • یک ماشین لینوکسی در سایت برای جمع‌آوری‌کننده (یک ماشین مجازی کوچک یا Raspberry Pi کافی است)
  • ورود SSH به دستگاه‌هایتان: Cisco IOS/IOS-XE، Huawei VRP، MikroTik RouterOS، FRRouting یا VyOS
مسیر شما
  1. مرحلهٔ ۱درک
    1. Zaryn برای یک شبکه چه می‌کند
    2. چطور کار می‌کند
    3. چه چیزهایی را می‌خواند و چه چیزی رایگان است
  2. مرحلهٔ ۲راه‌اندازی
    1. یک سایت بسازید و جمع‌آوری‌کننده را راه بیندازید
    2. ورودها، آزموده پیش از استفاده
    3. دستگاه‌هایتان را اضافه کنید
  3. مرحلهٔ ۳هر روز
    1. پشتیبان و انحراف
    2. نقشه
    3. طرح آدرس‌ها
    4. چه چیزی کی عوض شد
  4. مرحلهٔ ۴یافتن مشکل‌ها
    1. چرا A به B نمی‌رسد؟
    2. آنچه مهم است را بپایید
  5. مرحلهٔ ۵تغییر بی‌خطر
    1. یک تغییر را روی دوقلو بیازمایید
    2. اعمالش کنید، با امکان برگشت
    3. یک تغییر، همهٔ دستگاه‌ها
    4. دسترسی به دستگاه بی گذرواژه
از نخستین نگاه فقط‌خواندنی به دستگاه‌هایتان تا تغییرهایی که خودشان را می‌سنجند و برمی‌گردانند، فصل به فصل. طراحی شبکه به صورت کد مسیر جداگانه‌ای است: [شروع کار با مخزن‌های طراحی شبکه](/docs/fa/get-started-network-design). ## ۱. Zaryn برای یک شبکه چه می‌کند ```diagram type: cards --- 🗂 | پشتیبان کانفیگ و انحراف | هر کانفیگ به صورت نسخه‌ها نگه داشته می‌شود؛ هر چه از کانفیگ تأییدشده دور شود، خط به خط علامت می‌خورد | accent 🗺 | نقشهٔ زنده | کشیده‌شده از آنچه دستگاه‌ها دربارهٔ همسایه‌هایشان می‌گویند، با نقطه‌های شکست یگانه | 🧮 | طرح آدرس‌ها | هر زیرشبکه و آدرس، و تعارض‌ها: یک IP روی دو اینترفیس، دو MAC، ماسک‌های ناهمخوان | 🔎 | چرا A به B نمی‌رسد | گام به گام از میان مسیرها، ACLها و فایروال‌ها، با قانونی که بسته را دور می‌اندازد | good 🔮 | دوقلوی دیجیتال | یک تغییر چه چیزی را می‌شکند، پیش از آنکه به دستگاهی برسد | good 🔁 | rollout امن | تغییرهایی که جمع‌آوری‌کننده انجام می‌دهد، زنده می‌سنجد و اگر شبکه نپذیرد برمی‌گرداند | warn ``` **سایت** جایی با دستگاه‌های شبکه است: یک دفتر، یک مرکز داده، یک POP. Zaryn هر سایت را زنده نشان می‌دهد و تاریخچه‌اش را نگه می‌دارد. ## ۲. چطور کار می‌کند ```diagram type: graph title: یک جمع‌آوری‌کننده در سایت، Zaryn در ابر alt: جمع‌آوری‌کننده با فرمان‌های فقط‌خواندنی از راه SSH به دستگاه‌ها وارد می‌شود و آنچه چاپ می‌کنند را با HTTPS خروجی به Zaryn می‌فرستد؛ شما سایت را روی Zaryn می‌بینید legend: ghost=SSH، فرمان‌های فقط‌خواندنی; path=HTTPS خروجی height: 44 --- box سایت شما | 2 2 62 40 | good node r1 | روتر هسته | 12 10 | router | | `show`، `display`، `print`، `/export`: فرمان‌هایی ساخته‌شده درون zev node sw | سوئیچ‌ها | 12 22 | switch | node fw | فایروال | 12 34 | firewall | node col | جمع‌آوری‌کنندهٔ zev | 46 22 | collector | accent | هر ماشین لینوکسی در سایت. گذرواژه‌ها را نگه می‌دارد؛ فقط اتصال خروجی می‌سازد node z | Zaryn | 82 10 | cloud | | نقشه، پشتیبان، انحراف، مسیرها، دوقلو، تاریخچه node you | شما | 82 34 | user | good | link r1 col | | ghost link sw col | | ghost link fw col | | ghost link col z | HTTPS خروجی | path link z you | | path2 ``` **جمع‌آوری‌کننده** همان zev است که روی ماشینی در سایت اجرا می‌شود. با SSH به دستگاه‌هایتان وارد می‌شود و فقط **فرمان‌های فقط‌خواندنی** ساخته‌شده درون zev را اجرا می‌کند، پس هیچ چیزی که Zaryn بفرستد نمی‌تواند وادارش کند دستگاهی را عوض کند. گذرواژه‌ها روی جمع‌آوری‌کننده می‌مانند و فقط **به بیرون** وصل می‌شود: هیچ پورتی را باز نمی‌کنید. ## ۳. چه چیزهایی را می‌خواند و چه چیزی رایگان است ```diagram type: cards --- 🟦 | Cisco IOS و IOS-XE | روترها و سوئیچ‌ها، ACLها، OSPF و BGP | 🟥 | Huawei VRP | روترها و سوئیچ‌ها | 🟧 | MikroTik RouterOS | از جمله قانون‌های فایروال و کشف همسایهٔ خودش | 🐧 | FRRouting، VyOS | روترهای لینوکسی | 🆓 | رایگان: تا ۱۰ دستگاه | همهٔ بررسی‌ها، دوقلو و rollout تا ۱۰ دستگاه | good ✦ | پریمیوم: تا ۱٬۰۰۰ | موج‌ها، canary، پنجره‌های نگهداری، تمرین‌های خرابی | accent ``` ## ۴. یک سایت بسازید و جمع‌آوری‌کننده را راه بیندازید ```diagram type: flow title: ده دقیقه تا یک جمع‌آوری‌کنندهٔ فعال --- ساختن سایت | zaryn.xyz/sites ← سایت تازه، مثلاً `hq` | | 🏢 ~ Collector and settings پیوستن | `zev site join zsite_…` روی ماشین جمع‌آوری‌کننده | accent | 🔑 ~ sudo zev site install در حال کار | یک سرویس: هر ۳۰ ثانیه سر می‌زند، هر ۱۵ دقیقه می‌خواند | good | ▶ ``` ```bash zev site join zsite_… --server https://api.zaryn.xyz sudo zev site install ``` اول روی جمع‌آوری‌کننده [zev را نصب کنید](/docs/fa/installation). سرویس فایل‌هایش را در `/var/lib/zev/site` نگه می‌دارد. ## ۵. ورودها، آزموده پیش از استفاده ```bash zev site cred add core-admin --user netops # asks for the password zev site cred add old-ios --user admin --enable # Cisco: also the enable secret zev site test 10.0.0.1 --cred core-admin ``` ```text ✓ CORE-SW1 Cisco IOS / IOS-XE 15.2(2)E7 WS-C2960X-48FPD-L (1840 ms) interfaces 52 (31 up) neighbors 4 config 612 lines, 7 secrets replaced before upload ``` هر ورود یک **اعتبارنامهٔ** نام‌دار روی جمع‌آوری‌کننده است. `zev site test` بی‌درنگ یک دستگاه را می‌خواند و نشان می‌دهد Zaryn چه خواهد دید، بی آنکه چیزی بفرستد. رازهای درون کانفیگ‌ها پیش از بیرون رفتن از جمع‌آوری‌کننده جایگزین می‌شوند. ## ۶. دستگاه‌هایتان را اضافه کنید ```diagram type: flow title: دو راه پر کردن سایت or: یا --- با آدرس | در زبانهٔ Devices: آدرس، سازنده (یا بگذارید zev تشخیص دهد)، اعتبارنامه | accent | ➕ ? پیدایشان کنید | بازه‌هایی مثل `10.0.0.0/24` بیفزایید؛ همسایه‌هایی که دستگاه‌ها گزارش می‌کنند هم پیدا می‌شوند ~ ظرف یک دقیقه خوانده‌شده | کانفیگ، اینترفیس‌ها، مسیرها، همسایه‌ها، آدرس‌ها | good | ✓ ``` هر چه پیدا شود زیر **Found on the network** منتظر می‌ماند تا با یک کلیک اضافه یا نادیده‌اش بگیرید. ## ۷. پشتیبان و انحراف ```diagram type: diff title: دستگاهی که از کانفیگ تأییدشده‌اش دور شده file: core-sw1 · running vs approved --- @@ interface GigabitEthernet0/1 interface GigabitEthernet0/1 description to-servers - switchport trunk allowed vlan 10,20 + switchport trunk allowed vlan 10,20,99 > کسی VLAN 99 را به یک trunk افزوده. عمدی بوده؟ Approve this config. نبوده؟ دقیقاً همین را برگردانید. + spanning-tree portfast trunk ``` نخستین کانفیگی که جمع‌آوری‌کننده می‌خواند **تأییدشده** می‌شود. هر تغییر بعدی نسخه‌ای تازه است؛ کانفیگ در حال اجرایی که با تأییدشده فرق کند **منحرف** است و تفاوتش خط به خط نشان داده می‌شود. خط‌هایی که خودشان عوض می‌شوند (زمان‌ها، دورهٔ ساعت NTP) نادیده گرفته می‌شوند، پس کانفیگی که عوض نشده هرگز عوض‌شده به نظر نمی‌رسد. ۵۰۰ نسخهٔ آخر هر دستگاه نگه داشته می‌شود. ## ۸. نقشه ```diagram type: graph title: کشیده‌شده از آنچه دستگاه‌ها می‌گویند alt: نقشهٔ زندهٔ یک روتر هسته، دو سوئیچ توزیع و سوئیچ‌های دسترسی، با یک نقطهٔ شکست یگانهٔ علامت‌خورده legend: down=اگر از کار بیفتد start: نقشه height: 46 --- node core | core | 50 8 | router | accent node d1 | dist1 | 28 24 | switch node d2 | dist2 | 72 24 | switch | warn | نقطهٔ شکست یگانه: acc3 فقط به آن وصل است node a1 | acc1 | 12 40 | switch node a2 | acc2 | 40 40 | switch node a3 | acc3 | 72 40 | switch link core d1 link core d2 link d1 a1 link d1 a2 link d2 a2 link d2 a3 step dist2 از کار می‌افتد | acc2 هنوز dist1 را دارد. acc3 جدا می‌شود: Zaryn پیش از رخ دادن، dist2 را نقطهٔ شکست یگانه علامت می‌زند. node d2 | bad link core d2 | down link d2 a2 | down link d2 a3 | down node a3 | bad ``` نقشه از خود دستگاه‌ها می‌آید: CDP، LLDP، کشف همسایهٔ MikroTik، همسایه‌های OSPF و BGP، و زیرشبکه‌های مشترک. دستگاه‌ها و پیوندهایی که از دست رفتنشان دیگران را جدا می‌کند علامت می‌خورند. ## ۹. طرح آدرس‌ها ```diagram type: cards title: آنچه زبانهٔ Addresses می‌گیرد --- ⚠ | یک آدرس، دو اینترفیس | همان IP دو بار پیکربندی شده: یکی‌شان می‌بازد | bad 👥 | یک آدرس، دو MAC | دو ماشین برای یک IP جواب می‌دهند | bad 📏 | ماسک‌های ناهمخوان | یک زیرشبکه با ‎/24 اینجا و ‎/25 آنجا | warn 📊 | چقدر پر | هر زیرشبکه، آدرس‌هایش و چقدر جا مانده | good ``` ## ۱۰. چه چیزی کی عوض شد ```diagram type: cards --- 📝 | تغییر کانفیگ | هر تغییر در کانفیگ در حال اجرا، با دیفش | accent 🔌 | اینترفیس‌ها | بالا، پایین، نوسان | 🤝 | همسایه‌ها | پیدا و ناپیدا شدن | 📵 | دسترس‌پذیری | دستگاهی که جمع‌آوری‌کننده دیگر به آن نمی‌رسد | warn ``` فهرست **Changes** سایت خط زمانی شبکه است: نخستین جایی که پس از «دیروز کار می‌کرد» باید نگاه کرد. ## ۱۱. چرا A به B نمی‌رسد؟ ```diagram type: flow title: Path Explain، گام به گام --- پرسش | از، به، پروتکل و پورت، مثلاً لپ‌تاپ ← سرور، TCP 80 | | ❓ ~ دنبال‌شده از میان هر دستگاه گام‌ها | مسیر هر گام و هر قانون ACL یا فایروالی که به آن برمی‌خورد | accent | 🚶 ~ پاسخ چرا | «sw1 آن را دور می‌اندازد: SERVERS-OUT قانون ۴۰ deny ip any any» | bad | ✕ ``` ```text Blocked by a filter sw1 drops it (outbound on GigabitEthernet0/2): SERVERS-OUT, rule 40 deny ip any any log ``` در زبانهٔ **Paths** پاسخ یکی از این‌هاست: دسترس‌پذیر در هر دو سو، مسدود با یک فیلتر، بی‌مسیر، حلقهٔ مسیریابی، اینترفیسی پایین، پاسخی که برنمی‌گردد، بیرون رفتن از سایت، یا «نمی‌توان گفت» همراه با آنچه کم است. قانون یا مسیری را که تصمیم می‌گیرد نقل می‌کند و مسیرهای هم‌هزینه یکی‌یکی دنبال می‌شوند. [با جزئیات](/docs/fa/network-paths). ## ۱۲. آنچه مهم است را بپایید ```diagram type: flow title: یک پروب، و آنچه هنگام شکستش رخ می‌دهد --- پروب | پینگ، یک پورت TCP، یک نشانی HTTP(S) یا یک نام DNS، هر ۳۰ ثانیه تا یک ساعت | | 📡 ~ دو شکست پشت سر هم ناموفق | در Health و Changes نشان داده می‌شود | warn | ⚠ ~ خودکار توضیح‌داده‌شده | Zaryn از جمع‌آوری‌کننده تا هدف Path Explain اجرا می‌کند | good | 🔎 ``` «Refused» (میزبان جواب داد، چیزی گوش نمی‌دهد) از «no answer» (در راه دور ریخته شد) جدا می‌شود و هر پروب یک هفته نتیجه نگه می‌دارد. ## ۱۳. یک تغییر را روی دوقلو بیازمایید ```diagram type: flow title: ببینید چه می‌کند، پیش از آنکه بکند --- ویرایش | کانفیگ کنونی دستگاه در ویرایشگر؛ چند دستگاه اگر تغییر چندتا را بپوشاند | accent | ✎ ~ See what it would do پیش‌بینی | هر جفت زیرشبکه، پروب‌ها و مسیرهای پاییده، روی شبکه آن‌طور که هست و خواهد بود | | 🔮 ~ پاسخ تفاوت‌ها | آنچه از کار می‌افتد اول، به رنگ قرمز، با قانون یا مسیری که فرق را می‌سازد | warn | ⚖ ``` یک سایت را باز کنید، سپس **Try a change**. هیچ چیزی به دستگاه‌ها فرستاده نمی‌شود: دوقلو از آنچه آن‌ها آخرین بار گفتند کار می‌کند. از اسکریپت یا CI: `zev site diff acme/hq r1=r1.cfg`. [دوقلوی دیجیتال](/docs/fa/network-twin). ## ۱۴. اعمالش کنید، با امکان برگشت ```diagram type: sequence title: rolloutی که خودش را می‌سنجد lanes: شما | Zaryn | جمع‌آوری‌کننده | دستگاه‌ها alt: شما تأیید می‌کنید؛ جمع‌آوری‌کننده تغییر را اعمال می‌کند، صبر می‌کند شبکه آرام شود، آن را با پیش‌بینی دوقلو می‌سنجد و یا نگهش می‌دارد یا برمی‌گرداند --- شما -> Zaryn : تأیید (چهار چشم اگر سایت بخواهد) Zaryn -> جمع‌آوری‌کننده : فرمان‌ها، و برگرداننده‌شان جمع‌آوری‌کننده -> دستگاه‌ها : اعمال note جمع‌آوری‌کننده : بگذار شبکه آرام شود، سپس بسنج: دسترس‌پذیر؟ همسایه‌ها ماندند؟ مسیرها همان‌طور که دوقلو گفت؟ پروب‌ها موفق؟ جمع‌آوری‌کننده -> دستگاه‌ها : پایدار است: نگه دار | good جمع‌آوری‌کننده -> دستگاه‌ها : نیست: برگردان | bad جمع‌آوری‌کننده --> Zaryn : چه رخ داد، گام به گام ``` جمع‌آوری‌کننده فقط وقتی می‌تواند دستگاه‌ها را عوض کند که کسی روی ماشین خودش `sudo zev site changes on` را اجرا کند. هیچ چیزی که Zaryn بگوید این را روشن نمی‌کند. روی MikroTik، FRRouting و VyOS اگر جمع‌آوری‌کننده وسط تغییر ناپدید شود، خود دستگاه هم برمی‌گرداند. [rolloutها](/docs/fa/network-rollouts). ## ۱۵. یک تغییر، همهٔ دستگاه‌ها ```diagram type: cards --- 📚 | Runbookها | NTP، syslog، DNS، چرخاندن کامیونیتی SNMP، کاربری که رفته: یک بار برای هر سازنده نوشته می‌شود و روی هر دستگاهی که لازم دارد اجرا می‌شود | accent 🐤 | Canary (پریمیوم) | نخستین دستگاه به‌تنهایی؛ بقیه فقط اگر پایدار بماند دنبال می‌کنند | 🌊 | موج‌ها (پریمیوم) | هر بار N دستگاه، هر موج پیش از بعدی سنجیده می‌شود | 🕐 | پنجره‌های نگهداری (پریمیوم) | هیچ چیزی پیش از آن شروع نمی‌شود؛ آنچه مانده با پایانش می‌ایستد | good ``` rolloutهای رایگان تا ۱۰ دستگاه در یک موج را می‌پذیرند، با همهٔ بررسی‌ها و بازگشت خودکار. ## ۱۶. دسترسی به دستگاه بی گذرواژه ```diagram type: flow title: یک ترمینال، تأییدشده، ضبط‌شده، پایان‌یافته --- درخواست | `zev site ssh acme/hq core-sw --minutes 30 --reason …` | | ✋ ~ مدیر سایت تأیید می‌کند وصل | جمع‌آوری‌کننده با گذرواژه‌ای که نگه می‌دارد وارد می‌شود؛ شما هرگز آن را نمی‌بینید | accent | 🔑 ~ هر کلید ضبط می‌شود پایان | زمان تمام شد، یا لغو شد؛ در زبانهٔ Access بازپخشش کنید | good | ⏹ ``` دیگر گذرواژهٔ مدیر مشترک در جدول‌ها نیست: یک مهندس یا پیمانکار برای مدتی محدود ترمینالی می‌گیرد، تأییدشده با یک مدیر، ضبط‌شده کلید به کلید. [دسترسی به دستگاه](/docs/fa/network-access). از یک نگاه فقط‌خواندنی تا تغییرهای امن و سنجیده آمدید. بعد: [سایت‌های شبکه](/docs/fa/network-sites)، [Path Explain](/docs/fa/network-paths)، [دوقلوی دیجیتال](/docs/fa/network-twin) و [rolloutها](/docs/fa/network-rollouts) با جزئیات، و [مخزن‌های طراحی](/docs/fa/get-started-network-design) برای شبکه به صورت کد.
آموزش را به پایان رساندید

از اینجا کجا بروید

سایت‌های شبکه (روترها و سوئیچ‌ها)
روترها و سوئیچ‌هایتان را زنده ببینید: از هر کانفیگ نسخهٔ پشتیبان گرفته و با نسخهٔ تأییدشده مقایسه می‌شود، نقشه‌ای از اتصال دستگاه‌ها و طرح آدرس‌ها با تداخل‌هایش. Cisco، Huawei، MikroTik، FRRouting و VyOS.
توضیح مسیر و پروب‌ها
چرا A به B نمی‌رسد؟ زارین ترافیک را گام‌به‌گام از میان روت‌ها، ACLها و فایروال‌های دستگاه‌هایتان دنبال می‌کند، دستگاه و قانونی را که جلویش را می‌گیرد نام می‌برد و راه‌حل را با دستورهای همان دستگاه می‌دهد. پروب‌ها هر دقیقه آنچه مهم است را بررسی می‌کنند.
دوقلوی دیجیتال: تغییر را پیش از انجامش بیازمایید
پیش از آنکه کسی تغییری را در کانفیگ وارد کند، ببینید با شبکه‌تان چه می‌کند. کدام ترافیک قطع می‌شود، برقرار می‌شود یا از راه دیگری می‌رود و چرا، هر مدخل جدول مسیریابی که تغییر می‌کند، و نقاط شکست تکی‌ای که می‌سازد. در صفحهٔ سایت، از خط فرمان، و روی هر درخواست ادغام.
اعمال تغییر: تغییر کانفیگ را با خیال راحت انجام دهید
تغییر کانفیگ را روی خود دستگاه‌ها انجام دهید، روی شبکهٔ زنده بررسی‌اش کنید، و اگر شبکه پایدار نماند خودبه‌خود برگردانده شود. فرمان‌های دقیق در هر دو جهت، نظر دوقلو، تأیید دونفره، موج‌ها با قناری، safe mode میکروتیک و کلید مرد مرده روی دستگاه، و ثبت همهٔ فرمان‌ها و پاسخ‌ها.