خلاصه
RoMON مخفف “روتر مدیریت روتر شبکه” است. RoMON با ایجاد یک شبکه مستقل کشف و ارسال داده ها از لایه MAC کار می کند. بسته های RoMON با EtherType 0x88bf و DST-MAC 01:80:c2:00:88:bf محصور شده اند و شبکه آن به طور مستقل از پیکربندی ارسال L2 یا L3 عمل می کند. هنگامی که RoMON فعال است، بسته های RoMON دریافتی توسط ابزارهای sniffer یا Torch نمایش داده نمی شوند.
به هر روتر در شبکه RoMON شناسه RoMON اختصاص داده شده است. RoMON ID را می توان از آدرس MAC پورت انتخاب کرد یا توسط کاربر مشخص شد.
پروتکل RoMON خدمات رمزگذاری را ارائه نمی دهد. رمزگذاری در سطح “برنامه” ارائه می شود، به عنوان مثال با استفاده از ssh یا با استفاده از یک Winbox امن.
اسرار
اسرار پروتکل RoMON برای احراز هویت پیام، بررسی یکپارچگی و جلوگیری از پخش مجدد با استفاده از هش کردن محتوای پیام با MD5 استفاده می شود.
برای هر رابط، اگر لیست مخفی مخصوص رابط خالی باشد، از یک لیست مخفی جهانی استفاده می شود. هنگام ارسال، پیامها با اولین راز در لیست هش میشوند، اگر لیست خالی نباشد و اولین راز خالی نباشد (رشته خالی = «»)، در غیر این صورت، پیامها بدون هش ارسال میشوند. در صورت دریافت، پیامهای هشنشده تنها در صورتی پذیرفته میشوند که یک لیست محرمانه خالی یا حاوی «راز خالی» باشد، پیامهای هششده در صورتی پذیرفته میشوند که با هر یک از اسرار موجود در فهرست هش شده باشند.
این طراحی امکان معرفی و/یا تغییر تدریجی اسرار در شبکه را بدون وقفه در سرویس RoMON فراهم میکند و میتواند روی خود RoMON اتفاق بیفتد، به عنوان مثال:
- در ابتدا، همه روترها بدون راز هستند.
- هر روتر را یکی یکی با secrets=”””””mysecret” پیکربندی کنید – این باعث می شود همه روترها همچنان فریم های محافظت نشده ارسال کنند، اما همه آنها آماده پذیرش فریم های محافظت شده با “mysecret” مخفی خواهند بود.
- هر روتر را یکی یکی با secrets=”mysecret”” پیکربندی کنید – این باعث می شود همه روترها از “mysecret” مخفی استفاده کنند، اما همچنان فریم های محافظت نشده (از روترهایی که هنوز تغییر نکرده اند) را بپذیرند.
- هر روتر را با secrets=”mysecret” پیکربندی کنید – این باعث می شود همه روترها از “mysecret” مخفی استفاده کنند و همچنین فقط فریم های محافظت شده با “mysecret” را بپذیرند.
تغییر راز در یک شبکه باید به روشی مشابه انجام شود که برای مدتی هر دو راز در شبکه استفاده می شوند.
کشف همتایان
برای کشف همه روترها در شبکه RoMON باید از دستور RoMON discover استفاده کرد:
[admin@MikroTik] > /tool/romon/discover
Flags: A - active
Columns: ADDRESS, COSt, Hops, PATH, L2MTu, IDENTITY, VERSION, BOARD
ADDRESS COS H PATH L2MT IDENTITY VERSION BOARD
A 6C:3B:6B:48:0E:8B 200 1 6C:3B:6B:48:0E:8B 1500 hEX 6.47beta7 RB750Gr3
A 6C:3B:6B:ED:83:69 200 1 6C:3B:6B:ED:83:69 1500 CCR1009 6.47beta7 CCR1009-7G-1C-1S+
A B8:69:F4:B3:1B:D2 200 1 B8:69:F4:B3:1B:D2 1500 4K11 6.47beta7 RB4011iGS+5HacQ2HnD
A CC:2D:E0:26:22:4D 200 1 CC:2D:E0:26:22:4D 1500 CCR1036 6.47beta7 CCR1036-8G-2S+
A CC:2D:E0:8D:01:88 200 1 CC:2D:E0:8D:01:88 1500 CRS328 6.47beta7 CRS328-24P-4S+
A E4:8D:8C:1C:D3:0E 200 1 E4:8D:8C:1C:D3:0E 1500 MikroTik 6.47beta7 RB2011iLS
A E4:8D:8C:49:49:DB 200 1 E4:8D:8C:49:49:DB 1500 hAP 6.47beta7 RB962UiGS-5HacT2HnT
نمونه های پیکربندی
برای اینکه یک دستگاه در شبکه RoMON شرکت کند، باید ویژگی RoMON فعال باشد و پورت هایی که در شبکه RoMON شرکت می کنند باید مشخص شوند.
/tool romon set enabled=yes secrets=testing
پورت هایی که در شبکه RoMON شرکت می کنند در منوی پورت RoMON پیکربندی می شوند . لیست پورت لیستی از ورودیهایی است که با پورت خاص یا همه پورتها مطابقت دارند و مشخص میکند که آیا پورت(های) منطبق برای شرکت در شبکه RoMON ممنوع است یا خیر و در صورتی که پورت مجاز به شرکت در ورود به شبکه RoMON باشد، هزینه پورت را نیز مشخص میکند. توجه داشته باشید که همه ورودیهای پورت خاص اولویت بیشتری نسبت به ورودی wildcard با interface=all دارند .
به عنوان مثال، لیست زیر مشخص می کند که همه پورت ها در شبکه RoMON با هزینه 100 و رابط ether7 با هزینه 200 شرکت می کنند:
[admin@MikroTik] > /tool/romon/port/print
Flags: * - default
Columns: INTERFace, FOrbid, COSt
# INTERF FO COS
0 * all no 100
1 ether7 no 200
به طور پیشفرض یک ورودی با حروف عام با forbid=no و cost=100 ایجاد میشود.
برنامه های کاربردی
چندین برنامه را می توان از طریق شبکه RoMON اجرا کرد.
به منظور تست دسترسی روتر خاص در شبکه RoMON می توان از دستور پینگ RoMON استفاده کرد:
[admin@MikroTik] > /tool/romon/ping id=6C:3B:6B:48:0E:8B count=5
SEQ HOST TIME STATUS
0 6C:3B:6B:48:0E:8B 1ms
1 6C:3B:6B:48:0E:8B 0ms
2 6C:3B:6B:48:0E:8B 1ms
3 6C:3B:6B:48:0E:8B 0ms
4 6C:3B:6B:48:0E:8B 1ms
sent=5 received=5 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=1ms
برای ایجاد یک اتصال ترمینال ایمن به روتر در شبکه RoMON می توان از دستور RoMON SSH استفاده کرد:
[admin@MikroTik] > /tool/romon/ssh 6C:3B:6B:48:0E:8B
RoMON را در Winbox با استفاده از CLI اجرا کنید
به منظور برقراری مستقیم جلسه RoMON با استفاده از خط فرمان در رایانه، باید عوامل RoMON و آدرس روترهای مورد نظر را مشخص کنید. عامل RoMON باید در لیست روترهای مدیریت شده در Winbox ذخیره شود تا بتوان یک اتصال موفقیت آمیز برقرار کرد:
winbox.exe --romon 192.168.88.1 6C:3B:6B:48:0E:8B admin ""