پالت فرمان

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

ZarynZaryn
امکانات Zaryn·۷ دقیقه مطالعه

سایت‌های شبکه (روترها و سوئیچ‌ها)

روترها و سوئیچ‌هایتان را زنده ببینید: از هر کانفیگ نسخهٔ پشتیبان گرفته و با نسخهٔ تأییدشده مقایسه می‌شود، نقشه‌ای از اتصال دستگاه‌ها و طرح آدرس‌ها با تداخل‌هایش. Cisco، Huawei، MikroTik، FRRouting و VyOS.

یک **سایت** جایی است که دستگاه‌های شبکه در آن هستند: یک دفتر، یک دیتاسنتر، یک POP. زارین هر سایت را زنده نشان می‌دهد: - **فهرست دستگاه‌ها.** مدل، نسخهٔ سیستم‌عامل، شمارهٔ سریال، اینترفیس‌ها و مدت روشن بودن هر دستگاه. - **پشتیبان کانفیگ و انحراف.** کانفیگ هر دستگاه هر بار که تغییر کند ذخیره می‌شود. زارین آن را با نسخهٔ **تأییدشده** مقایسه می‌کند، پس بلافاصله می‌بینید کدام دستگاه تغییر کرده، چند خط و دقیقاً چه چیزی. - **نقشهٔ زنده.** نقشه از آنچه دستگاه‌ها دربارهٔ همسایه‌هایشان می‌گویند (CDP، LLDP و MNDP میکروتیک)، همسایگی‌های مسیریابی (OSPF، BGP) و زیرشبکه‌های مشترک کشیده می‌شود. دستگاه‌ها و پیوندهایی که از دست رفتنشان دستگاه‌های دیگر را جدا می‌کند، به‌عنوان **نقطهٔ شکست منفرد** علامت می‌خورند. - **طرح آدرس‌ها.** همهٔ زیرشبکه‌ها، آدرس‌های داخلشان، میزان پر بودنشان و **تداخل‌ها**: یک آدرس روی دو اینترفیس، آدرسی که دو MAC به آن پاسخ می‌دهند، یک زیرشبکه با ماسک‌های متفاوت در دستگاه‌های مختلف. - **چه چیزی کی تغییر کرد.** تغییر کانفیگ، قطع و وصل شدن اینترفیس‌ها، پیدا یا گم شدن همسایه‌ها، از دسترس خارج شدن دستگاه‌ها. - **چرا A به B نمی‌رسد.** [توضیح مسیر](/docs/fa/network-paths) ترافیک را گام‌به‌گام از میان روت‌ها، ACLها و فایروال‌های دستگاه‌ها دنبال می‌کند، و **پروب‌ها** هر دقیقه آنچه مهم است را بررسی می‌کنند. - **یک تغییر پیش از انجامش چه می‌کند.** [دوقلوی دیجیتال](/docs/fa/network-twin) نشان می‌دهد یک تغییر کانفیگ کدام ترافیک را قطع، برقرار یا جابه‌جا می‌کند، و هر درخواست ادغام روی مخزن کانفیگ‌ها را بررسی می‌کند. سایت‌ها با **Cisco IOS و IOS-XE، Huawei VRP، MikroTik RouterOS، FRRouting و VyOS** کار می‌کنند. تا ۱۰ دستگاه رایگان است. پریمیوم تا ۱٬۰۰۰ دستگاه می‌خواند. ## چطور کار می‌کند یک **جمع‌آوری‌کننده** روی ماشینی در همان سایت اجرا می‌شود: هر سیستم لینوکسی، ماشین مجازی یا رزبری‌پای که zev رویش نصب باشد. با SSH وارد دستگاه‌ها می‌شود و **فقط دستورهای خواندنی** اجرا می‌کند (`show`، `display`، `print`، `/export`). این دستورها داخل خود zev هستند، پس هیچ چیزی که زارین بفرستد نمی‌تواند جمع‌آوری‌کننده را وادار به تغییر یک دستگاه کند. خروجی دستگاه‌ها با HTTPS به زارین فرستاده می‌شود. گذرواژهٔ دستگاه‌هایتان **هرگز از جمع‌آوری‌کننده بیرون نمی‌رود**. در فایلی نگه داشته می‌شود که فقط جمع‌آوری‌کننده می‌تواند بخواند، و زارین فقط نام هر اعتبارنامه را می‌داند. رازهای داخل کانفیگ (enable secret، کامیونیتی SNMP، هش کاربران محلی، کلیدهای VPN) **پیش از** ارسال با برچسبی مثل `<secret:3fa2c1d0>` جایگزین می‌شوند. این برچسب با کلیدی ساخته می‌شود که فقط جمع‌آوری‌کنندهٔ شما دارد: گذرواژه‌ای که عوض شود همچنان به‌عنوان تغییر دیده می‌شود، اما کسی نمی‌تواند از روی برچسب گذرواژه را حدس بزند. جمع‌آوری‌کننده فقط اتصال خروجی برقرار می‌کند. لازم نیست پورتی باز کنید. ## ۱. یک سایت بسازید در [zaryn.xyz/sites](https://zaryn.xyz/sites) برای خودتان یا یک سازمان سایتی بسازید (مثلاً `hq`). در سایت یک سازمان، مالکان و مدیرانش همه چیز را مدیریت می‌کنند و اعضایش می‌توانند ببینند. ## ۲. جمع‌آوری‌کننده را راه بیندازید در زبانهٔ **جمع‌آوری‌کننده و تنظیمات**، **راه‌اندازی جمع‌آوری‌کننده** را بزنید. زارین یک توکن را فقط یک بار نشان می‌دهد. روی ماشین جمع‌آوری‌کننده اجرا کنید: ```bash zev site join zsite_… --server https://api.zaryn.xyz ``` سپس به جمع‌آوری‌کننده بگویید چطور وارد دستگاه‌هایتان شود. هر ورود یک **اعتبارنامه** با نامی دلخواه است: ```bash zev site cred add core-admin --user netops # گذرواژه را می‌پرسد zev site cred add branch-mt --user admin # ورود دوم، برای دستگاه‌های دیگر zev site cred add old-ios --user admin --enable # سیسکو: enable secret را هم می‌پرسد zev site cred add frr --user netops --key /root/.ssh/id_ed25519 ``` پیش از افزودن دستگاه‌ها، یکی را امتحان کنید: ```bash 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, serial FOC1234X5YZ (1840 ms) interfaces 52 (31 up) neighbors 4 config 612 lines, 7 secrets replaced before upload ``` `zev site test` همان لحظه دستگاه را می‌خواند و نشان می‌دهد زارین چه خواهد دید، بدون اینکه چیزی بفرستد (با `--config` کانفیگ را همان‌طور که فرستاده می‌شود چاپ می‌کند). وقتی همه چیز درست بود، جمع‌آوری‌کننده را به‌صورت سرویس اجرا کنید: ```bash sudo zev site install ``` سرویس فایل‌هایش را در `/var/lib/zev/site` نگه می‌دارد. هر ۳۰ ثانیه از زارین کار می‌گیرد و هر دستگاه را هر ۱۵ دقیقه می‌خواند (در تنظیمات سایت قابل تغییر است). ## ۳. دستگاه‌ها را اضافه کنید در زبانهٔ **دستگاه‌ها**، دستگاهی را با آدرسش اضافه کنید، سازنده‌اش را انتخاب کنید (یا بگذارید zev از بنر SSH آن تشخیص دهد) و اعتبارنامهٔ ورود را بگذارید. ظرف یک دقیقه جمع‌آوری‌کننده آن را می‌خواند. برای پیدا کردن دستگاه‌ها، بازه‌های جست‌وجو را در **جمع‌آوری‌کننده و تنظیمات** بنویسید (مثلاً `10.0.0.0/24`). جمع‌آوری‌کننده بررسی می‌کند کدام آدرس‌ها به SSH پاسخ می‌دهند و خودشان را چه معرفی می‌کنند. همسایه‌هایی که دستگاه‌هایتان گزارش می‌کنند و هنوز در سایت نیستند هم نمایش داده می‌شوند. هر دو در **پیداشده در شبکه** می‌آیند و با یک کلیک اضافه یا نادیده گرفته می‌شوند. ## پشتیبان کانفیگ و انحراف اولین کانفیگی که جمع‌آوری‌کننده می‌خواند کانفیگ **تأییدشده** می‌شود. هر تغییر بعدی نسخهٔ تازه‌ای ذخیره می‌کند. وقتی کانفیگ در حال اجرا با نسخهٔ تأییدشده فرق داشته باشد، دستگاه **منحرف‌شده** علامت می‌خورد و صفحه‌اش تفاوت را خط به خط نشان می‌دهد. - اگر تغییر عمدی بود، **تأیید این کانفیگ** را بزنید. نسخهٔ تأییدشدهٔ تازه می‌شود و زارین ثبت می‌کند چه کسی آن را تأیید کرد. - اگر نبود، تفاوت دقیقاً نشان می‌دهد چه چیزی باید برگردد. خط‌هایی که خودبه‌خود عوض می‌شوند (مثل «Last configuration change at…» در سیسکو، دورهٔ ساعت NTP یا زمان export در RouterOS) کنار گذاشته می‌شوند، پس کانفیگی که تغییر نکرده هرگز تغییرکرده به نظر نمی‌رسد. هر نسخه را می‌توان به‌صورت فایل دانلود کرد. زارین ۵۰۰ نسخهٔ آخر هر دستگاه را نگه می‌دارد و نسخهٔ تأییدشده را همیشه. ## نقشه زبانهٔ **نقشه** دستگاه‌های سایت و اتصالشان را نشان می‌دهد: - **خط‌های پیوسته** پیوندهای کابلی‌اند که CDP، LLDP یا MNDP گزارش کرده‌اند، با پورت هر سر (نشانگر را روی دستگاه نگه دارید تا ببینید). گزارش یک دستگاه کافی است و وقتی هر دو سر یک پیوند را گزارش کنند، یک بار نمایش داده می‌شود. - **خط‌چین‌ها** همسایگی‌های مسیریابی‌اند (OSPF، BGP) که پیوند کابلی‌ای برایشان گزارش نشده. - **خط‌های نقطه‌ای** دستگاه‌هایی را که زیرشبکهٔ مشترک دارند به هم وصل می‌کنند. وقتی سه دستگاه یا بیشتر در یک زیرشبکه باشند، به بخشی با نام آن زیرشبکه وصل می‌شوند. - همسایه‌هایی که دستگاه این سایت نیستند (روتر سرویس‌دهندهٔ اینترنت، یک سرور) با خط‌چین دور نمایش داده می‌شوند. - **حلقهٔ کهربایی** نقطهٔ شکست منفرد را نشان می‌دهد: دستگاه یا پیوندی که از دست رفتنش دستگاه‌هایی از سایت را از بقیه جدا می‌کند. نقشه می‌گوید چند دستگاه. ## طرح آدرس‌ها زبانهٔ **آدرس‌ها** همهٔ زیرشبکه‌هایی را که روی اینترفیسی تنظیم شده‌اند با آدرس‌های داخلشان فهرست می‌کند: آدرس‌های خود دستگاه‌ها و میزبان‌هایی که جدول ARP آن‌ها دیده، با MAC و دستگاهی که آن را دید. یک نوار نشان می‌دهد هر زیرشبکه چقدر پر است. تداخل‌ها کنار زیرشبکه فهرست می‌شوند: | تداخل | یعنی چه | |---|---| | روی دو اینترفیس | یک آدرس دو بار تنظیم شده، روی دو دستگاه یا دو اینترفیس. | | دو MAC به آن پاسخ می‌دهند | دو ماشین برای یک آدرس پاسخ می‌دهند. معمولاً آی‌پی تکراری، یا یک جفت پشتیبان. | | ماشین دیگری هم از آن استفاده می‌کند | جای دیگری MAC دیگری به آدرس خود یک دستگاه پاسخ می‌دهد. | | ماسک‌ها در دستگاه‌ها متفاوت‌اند | یک زیرشبکه با ماسک‌های متفاوت تنظیم شده، مثلاً اینجا /24 و آنجا /25. | ## وقتی دستگاهی خوانده نمی‌شود صفحهٔ دستگاه دلیلش را به زبان ساده می‌گوید: | آنچه می‌بینید | چه کنید | |---|---| | دستگاه ورود را رد کرد | کاربر و گذرواژهٔ اعتبارنامه را بررسی کنید: اجرای دوبارهٔ `zev site cred add <name> …` آن را جایگزین می‌کند. | | روی پورت SSH چیزی پاسخ نمی‌دهد | SSH را روی دستگاه روشن کنید، یا پورت را در تنظیمات دستگاه بررسی کنید. | | جمع‌آوری‌کننده به دستگاه نمی‌رسد | مسیر و فایروال میان جمع‌آوری‌کننده و دستگاه را بررسی کنید. | | کلید میزبان SSH دستگاه عوض شده | اگر انتظارش را داشتید (دستگاه نو، نصب دوباره)، روی جمع‌آوری‌کننده `zev site forget-key <address>` را اجرا کنید. | | به حالت privileged نیاز دارد | سیسکو: با privilege 15 وارد شوید، یا enable secret را با `--enable` اضافه کنید. | | جمع‌آوری‌کننده اعتبارنامه‌ای به این نام ندارد | روی جمع‌آوری‌کننده `zev site cred add <name> …` را اجرا کنید، یا اعتبارنامهٔ دیگری انتخاب کنید. | zev از OpenSSH خود سیستم استفاده می‌کند و الگوریتم‌های قدیمی‌تری را که بسیاری از دستگاه‌ها هنوز لازم دارند (`diffie-hellman-group14-sha1`، `ssh-rsa`، رمزهای CBC) هم مجاز می‌کند، تا وقتی OpenSSH شما هنوز آن‌ها را داشته باشد. ## دستورها ```text zev site join <token> [--server URL] این ماشین را جمع‌آوری‌کنندهٔ سایت کن zev site cred add <name> --user <user> [--key <file>] [--enable] [--password-stdin] zev site cred ls · zev site cred rm <name> ورودهایی که روی این جمع‌آوری‌کننده نگه داشته شده‌اند zev site test <address> [--cred <name>] [--vendor cisco|huawei|mikrotik|frr|vyos] [--config] [--json] zev site discover <range>… کدام آدرس‌ها به SSH پاسخ می‌دهند و چه هستند zev site probe ping|tcp|http|dns <target> یک پروب را از همین‌جا اجرا کن (توضیح مسیر و پروب‌ها را ببینید) zev site run [--once] آنچه زارین می‌خواهد را جمع کن و پروب‌هایش را اجرا کن (همان کاری که سرویس می‌کند) sudo zev site install جمع‌آوری‌کننده را به‌صورت سرویس systemd اجرا کن zev site status این جمع‌آوری‌کننده، دستگاه‌هایش، اعتبارنامه‌های جاافتاده zev site forget-key <address> پس از اینکه کلید SSH دستگاهی عمداً عوض شد ``` جمع‌آوری‌کننده با دسترسی root فایل‌هایش را در `/var/lib/zev/site` و در غیر این صورت در `~/.config/zev/site` نگه می‌دارد (با `ZEV_SITE_DIR` قابل انتخاب است). `zev site status` وقتی با `sudo` اجرا شود فایل‌های سرویس را می‌خواند.