BGP در میکروتیک؛ آموزش مسیریابی بین دو سیستم مستقل – داماش

آموزش BGP در میکروتیک؛ مسیریابی بین دو سیستم مستقل

فهرست مطالب

وقتی صحبت از «مسیریابی اینترنت» می‌شود، پروتکلی که آن را چرخانده BGP است. BGP بین ارائه‌دهنده‌های اینترنت، بین دیتاسنترها و بین شبکه‌های بزرگ صحبت می‌کند. میکروتیک هم پشتیبانی کامل از BGP دارد و در پروژه‌های متوسط به خوبی کار می‌کند. در این آموزش یک سناریوی واقعی را پیکربندی می‌کنیم: اتصال یک روتر به دو ارائه‌دهنده‌ی اینترنت با BGP.

سازنده مسیریابی هوشمند میکروتیک
سازنده‌ی مسیریابی هوشمند میکروتیک
مسیریابی هوشمند میکروتیک – داماش
ابزار مسیریابی هوشمند روتر میکروتیک

این آموزش پیشرفته است؛ ابتدا میکروتیک چیست و OSPF در میکروتیک را بخوانید چون مفاهیم پایه‌ی مسیریابی را لازم دارید.

BGP چیست و کی لازم می‌شود؟

BGP (Border Gateway Protocol) پروتکلی است که مسیرها را بین سیستم‌های مستقل (Autonomous System یا AS) تبادل می‌کند. هر AS یک شماره دارد و شبکه‌ی داخلی خودش را دارد. وقتی شما از دو ISP سرویس می‌گیرید و می‌خواهید خودتان تصمیم بگیرید ترافیک کدام مقصد از کدام خط برود، BGP ابزار آن است.

تفاوت با OSPF در یک نگاه:

ویژگی OSPF BGP
محدوده داخل یک سازمان بین سازمان‌ها/ISPها
معیار انتخاب هزینه (cost) صدها attribute قابل تنظیم
سرعت همگرایی سریع آرام‌تر
شرط لازم هیچ شماره AS و آدرس IP عمومی

نکته‌ی عملی برای کسب‌وکارهای ایرانی: اگر دو اینترنت دارید ولی IP عمومی و شماره AS مستقل ندارید، BGP برای شما لازم نیست — با لود بالانس و مسیریابی هوشمند همان نتیجه را بگیرید.

مفاهیم پایه‌ای BGP

  • AS: شماره‌ی سیستم مستقل. ASهای عمومی بین ۱ تا ۴۲۹۴۹۶۷۲۹۵ هستند؛ ASهای خصوصی (برای استفاده‌ی داخلی) بازه‌ی ۶۴۵۱۲ تا ۶۵۵۳۴.
  • eBGP و iBGP: eBGP بین دو AS متفاوت، iBGP داخل یک AS.
  • NLRI: خود مسیر (پیشوند شبکه) که تبادل می‌شود.
  • AS-path: مسیری که یک route از چه ASهایی گذشته. BGP مسیر با AS-path کوتاه‌تر را ترجیح می‌دهد.
  • Local Preference: اولویتی که خودتان به مسیر می‌دهید (داخل AS). مقدار بالاتر = مطلوب‌تر.
  • MED: ارزشی که به AS همسایه پیشنهاد می‌دهید (پایین‌تر = مطلوب‌تر).

مرحله ۱: سناریو

روتر شما (AS ۶۵۰۰۱) به دو ISP وصل است:

مسیریابی BGP در میکروتیک

  • ISP الف: ۱۹۸.۵۱.۱۰۰.۱ / AS ۶۴۵۰۰
  • ISP ب: ۲۰۳.۱۱۳.۰.۱ / AS ۶۴۵۰۱
  • شبکه‌ی داخلی شما: ۱۹۲.۱۶۸.۱۰.۰/۲۴ (می‌خواهید به اینترنت عمومی منتشر شود)

مرحله ۲: پیکربندی BGP در RouterOS ۷

ابتدا نمونه‌ی BGP:

/routing bgp instance add name=default as=65001 router-id=1.1.1.1

سپس اتصال به ISP الف (در RouterOS ۷.۱۴ و بالاتر از connection استفاده می‌شود؛ در نسخه‌های قدیمی‌تر از peer):

/routing bgp connection add name=isp-a remote.address=198.51.100.1 remote.as=64500 local.role=egp

و اتصال به ISP ب:

/routing bgp connection add name=isp-b remote.address=203.113.0.1 remote.as=64501 local.role=egp

اگر نسخه‌ی RouterOS شما قدیمی‌تر از ۷.۱۴ است، دستور به این شکل است:

/routing bgp peer add name=isp-a remote.address=198.51.100.1 remote.as=64500 instance=default

مرحله ۳: منتشر کردن شبکه‌ی داخلی

/routing bgp network add prefix=192.168.10.0/24 synchronize=no

این دستور می‌گوید شبکه‌ی ۱۹۲.۱۶۸.۱۰.۰/۲۴ به هر دو همسایه اعلام شود. دقت کنید: آدرس‌های خصوصی (مثل ۱۹۲.۱۶۸.x) در اینترنت عمومی قابل مسیریابی نیستند؛ این مثال فرضی است. در دنیای واقعی باید بلاک IP عمومی از ISP یا از رجیستر منطقه‌ای داشته باشید.

مرحله ۴: فیلتر کردن مسیرها

قانون مهم امنیت BGP: فقط مسیرهایی را بپذیرید که انتظار دارید. اگر از ISP الف فقط اینترنت می‌گیرید، نباید مسیرهای عجیب از او بپذیرید. یک فیلتر ساده:

/routing filter rule add chain=bgp-in rule="if (dst-len==0) { reject }"

این قانون مسیر پیش‌فرض (۰.۰.۰.۰/۰) را رد می‌کند. برای دادن اولویت به یک ISP:

/routing filter rule add chain=bgp-in rule="if (dst==0.0.0.0/0) { set-local-pref 200; accept }"

قوانین فیلتر در RouterOS ۷ زبان شرطی ساده‌ای دارند که در مستندات رسمی توضیح داده شده.

مرحله ۵: تأیید و عیب‌یابی

  • /routing bgp connection print — وضعیت session. باید established باشد.
  • /routing bgp session print — جزئیات هر جلسه و تعداد مسیر دریافتی.
  • /routing route print where bgp — مسیرهایی که از BGP یاد گرفته‌اید.
  • /routing bgp advertisements print — مسیرهایی که به همسایه اعلام کرده‌اید.

اگر session روی idle یا active می‌ماند: پینگ آدرس همسایه را چک کنید، TCP ۱۷۹ باید در مسیر باز باشد (از ابزار بررسی پورت کمک بگیرید)، و مطمئن شوید AS شماره‌ها درست تنظیم شده.

امنیت BGP

  • فیلتر ورودی: فقط پیشوندهایی که از هر همسایه انتظار دارید را بپذیرید.
  • GTSM (TTL security): ttl=default یا بالاتر تنظیم کنید تا بسته‌های جعلی از دور دست رد شوند.
  • MD5 برای session: اگر همسایه پشتیبانی می‌کند، فعال کنید.
  • RPKI: در نسخه‌های جدید RouterOS پشتیبانی از اعتبارسنجی RPKI وجود دارد؛ اگر IP عمومی دارید، حتماً فعال کنید.

کاربردهای واقعی در ایران

  • دو آپلینک از دو ISP: failover خودکار و تقسیم بار بین دو ارائه‌دهنده.
  • اتصال دو دیتاسنتر: وقتی هر دیتاسنتر AS مستقل دارد.
  • ارائه‌دهنده‌ی اینترنت محلی: اگر خودتان سرویس می‌دهید، BGP برای دریافت full table لازم می‌شود.

ترکیب BGP با مانیتورینگ الزامی است؛ بدون پایش sessionها، از قطعی یک خط مطلع نمی‌شوید.

سوالات متداول درباره BGP در میکروتیک

آیا می‌توانم بدون IP عمومی BGP راه بیندازم؟

می‌توانید با AS خصوصی و IP خصوصی در محیط آزمایشی یا بین شعبه‌های خودتان کار کنید، ولی در اینترنت عمومی مسیریابی نمی‌شود. برای استفاده‌ی واقعی به IP عمومی و شماره AS نیاز دارید.

میکروتیک برای Full BGP Table مناسب است؟

جدول کامل اینترنت (بیش از یک میلیون مسیر) نیازمند دستگاه‌های CCR با رم بالا است. برای دریافت مسیر پیش‌فرض یا چند هزار مسیر، هر دستگاه متوسطی کافی است.

BGP قطعی را خودکار حل می‌کند؟

بله، ولی نه فوری. همگرایی BGP می‌تواند چند ثانیه تا چند دقیقه طول بکشد. برای failover سریع، تنظیمات تایمر و فیلتر را با کارشناس خود هماهنگ کنید.

تفاوت local-pref و MED چیست؟

local-pref اولویت شما برای مسیر خروجی است (داخل AS خودتان). MED پیشنهاد شما به AS همسایه است که او تعیین می‌کند آیا عمل کند یا نه.

BGP با NAT کار می‌کند؟

نه به شکل استاندارد. BGP نیاز به ارتباط مستقیم روتر به روتر دارد. اگر در پشت NAT هستید، session برقرار نمی‌شود مگر اینکه پورت TCP ۱۷۹ پورت‌فوروارد شود.

جمع‌بندی

BGP زمانی لازم می‌شود که شبکه‌ی شما مرز مستقل دارد: چند آپلینک عمومی، شماره AS یا اتصال چند دیتاسنتر. راه‌اندازی آن در میکروتیک با ایجاد instance و دو connection شروع می‌شود، اما بخش مهم کار فیلتر کردن ورودی و پایش session است. اگر هنوز IP عمومی مستقل ندارید، لود بالانس و مسیریابی هوشمند راه‌حل ساده‌تری برای شماست.

منابع و مطالعه‌ی بیشتر

برای عمیق‌شدن در این موضوع، توصیه می‌کنیم مستندات رسمی BGP در میکروتیک را مطالعه کنید.

سوالات متداول درباره‌ی BGP در میکروتیک

BGP در میکروتیک چیست؟

BGP در میکروتیک موضوعی است که در این مقاله به طور کامل بررسی کردیم. BGP در میکروتیک به شما کمک می‌کند تا failover خودکار و پایداری شبکه داشته باشید و شبکه‌ی خود را حرفه‌ای‌تر مدیریت کنید.

آیا BGP در میکروتیک برای کسب‌وکار من مناسب است؟

اگر دو ISP دارید و پایداری می‌خواهید، BGP در میکروتیک می‌تواند راهکار مناسبی برای شما باشد. برای مشاوره‌ی رایگان با کارشناسان داماش تماس بگیرید.

مهم‌ترین مزیت BGP در میکروتیک چیست؟

مهم‌ترین مزیت BGP در میکروتیک، failover خودکار و پایداری شبکه است. با BGP در میکروتیک می‌توانید شبکه‌ی خود را پایدارتر و سریع‌تر کنید و از قطعی‌های ناگهانی در امان باشید.

جمع‌بندی نهایی: مسیریابی BGP در میکروتیک

در این آموزش یاد گرفتیم که پیکربندی BGP در میکروتیک برای اتصال دو شبکه‌ی مستقل کاملاً عملی است و با چند دستور ساده انجام می‌شود.

کلید موفقیت BGP در میکروتیک این است که AS Number هر طرف، شبکه‌های announce شده و مسیر پیش‌فرض را درست تنظیم کنید.

با BGP در میکروتیک می‌توانید failover خودکار بین دو اینترنت داشته باشید، بدون اینکه نیاز به تغییر دستی مسیرها باشد.

عیب‌یابی BGP در میکروتیک

اگر پس از پیکربندی BGP در میکروتیک، مسیرها تبادل نشدند، این مراحل را دنبال کنید.

بررسی وضعیت session: در Winbox به مسیر Routing > BGP > Sessions بروید. وضعیت باید Established باشد. اگر Idle یا Active است یعنی اتصال TCP برقرار نشده. پورت ۱۷۹ TCP را در فایروال هر دو طرف باز کنید.

بررسی AS Number: هر طرف باید AS Number متفاوتی داشته باشد. اگر هر دو یکی باشند، session برقرار نمی‌شود. این یک اشتباه رایج در سناریوهای آموزشی است.

بررسی شبکه‌های advertise شده: در مسیر Routing > BGP > Networks، مطمئن شوید شبکه‌های خود را اضافه کرده‌اید. اگر شبکه‌ای در لیست نباشد، طرف مقابل هرگز آن را یاد نمی‌گیرد.

بررسی مسیرهای دریافت شده: در مسیر Routing > BGP > Routes، مسیرهای دریافتی را ببینید. اگر مسیر وجود دارد ولی ترافیک عبور نمی‌کند، مشکل در مسیریابی یا فایروال است، نه BGP.

بهینه‌سازی همگرایی BGP

در شبکه‌های حساس، سرعت همگرایی BGP اهمیت دارد. با تنظیمات زیر می‌توانید زمان بازیابی را کاهش دهید: hold-time را به ۳۰ ثانیه کاهش دهید (پیش‌فرض ۹۰ ثانیه است)، و keepalive را روی ۱۰ ثانیه تنظیم کنید. این یعنی اگر یک روتر قطع شود، طرف مقابل در حدود ۳۰ ثانیه متوجه می‌شود و مسیر جایگزین را فعال می‌کند.

همچنین BGP Multipath را فعال کنید تا در صورت وجود چند مسور همزمان، ترافیک بین آن‌ها توزیع شود. این قابلیت در RouterOS ۷ به خوبی پشتیبانی می‌شود.

مثال کاربردی: اتصال دو شرکت مستقل با BGP

برای درک کاربرد واقعی BGP در میکروتیک، سناریوی زیر را بررسی می‌کنیم.

وضعیت: دو شرکت مستقل (شرکت A با AS ۶۵۰۰۱ و شرکت B با AS ۶۵۰۰۲) می‌خواهند شبکه‌های خود را از طریق یک خط اجاره‌شده به هم وصل کنند. شرکت A شبکه‌ی ۱۰.۱.۰.۰/۱۶ دارد و شرکت B شبکه‌ی ۱۰.۲.۰.۰/۱۶.

چرا BGP و نه مسیریابی استاتیک؟ اگر شرکت A بعداً شبکه‌ی جدیدی اضافه کند، با مسیریابی استاتیک باید دستی مسیر را در روتر شرکت B وارد کند. با BGP، شبکه‌ی جدید به طور خودکار announce می‌شود و طرف مقابل آن را یاد می‌گیرد. همچنین اگر یک مسیر از کار بیفتد، BGP به طور خودکار مسیر جایگزین را پیدا می‌کند.

پیاده‌سازی: در روتر شرکت A، instance BGP با AS ۶۵۰۰۱ ساخته می‌شود، peer با آی‌پی روتر شرکت B و AS ۶۵۰۰۲ تعریف می‌شود، و شبکه‌ی ۱۰.۱.۰.۰/۱۶ در بخش networks اضافه می‌شود. در روتر شرکت B همین کار برعکس انجام می‌شود. در کمتر از ۳۰ ثانیه، session برقرار می‌شود و هر دو طرف شبکه‌ی یکدیگر را یاد می‌گیرند.

ملاحظات امنیتی BGP

BGP به صورت پیش‌فرض امن نیست. هرکسی که بتواند session BGP را برقرار کند، می‌تواند مسیرهای جعلی announce کند. حتماً these measures را اعمال کنید: فقط از آی‌پی‌های شناخته‌شده peer قبول کنید (با تنظیم remote-as و آی‌پی ثابت)، TTL security را فعال کنید تا session فقط از یک hop برقرار شود، و اگر ممکن است مسیرها را با route-map فیلتر کنید تا فقط شبکه‌های مجاز announce شوند.

همچنین MD5 authentication برای sessionها را فعال کنید تا کسی نتواند session را ربوده یا مسیرها را دستکاری کند. این تنظیمات در RouterOS ۷ به سادگی قابل اعمال هستند.

سوالات متداول تکمیلی درباره‌ی BGP در میکروتیک

BGP برای شبکه‌ی کوچک هم لازم است؟

اگر فقط یک اینترنت دارید و یک شبکه‌ی ساده، BGP نیاز نیست. مسیریابی استاتیک یا OSPF کافی است. BGP زمانی لازم می‌شود که چند سیستم مستقل باید به هم وصل شوند یا می‌خواهید از چند ارائه‌دهنده‌ی اینترنت به طور همزمان استفاده کنید.

AS Number از کجا بگیرم؟

برای استفاده‌ی داخلی (Private ASN) می‌توانید از محدوده‌ی ۶۴۵۱۲ تا ۶۵۵۳۵ استفاده کنید که رایگان و بدون ثبت هستند. برای اتصال به اینترنت عمومی نیاز به Public AS دارید که باید از یک RIR مانند RIPE NCC دریافت کنید. اکثر شرکت‌های ایرانی از Private ASN استفاده می‌کنند.

آیا BGP روی روترهای ارزان‌قیمت میکروتیک کار می‌کند؟

بله، BGP روی هر روتر میکروتیک با RouterOS ۷ کار می‌کند. برای شبکه‌های کوچک با چند مسیر، حتی روترهای خانگی هم کافی هستند. برای شبکه‌های بزرگ با جدول مسیریابی کامل اینترنت، به روترهای سری CCR نیاز دارید.

نکات حرفه‌ای BGP در میکروتیک

در پایان چند نکته که از تجربه‌ی راه‌اندازی BGP در شبکه‌های واقعی جمع‌آوری کرده‌ایم.

۱. مسیرها را فیلتر کنید: هرگز تمام مسیرهای دریافتی را نپذیرید. با route-map فقط شبکه‌های مورد انتظار را قبول کنید. این هم امنیت را بالا می‌برد و هم از پر شدن جدول مسیریابی جلوگیری می‌کند.

۲. از AS path prepend استفاده کنید: اگر چند مسیر به یک مقصد دارید و می‌خواهید ترافیک از مسیر خاصی برود، AS path prepend به شما اجازه می‌دهد مسیر را طولانی‌تر نمایش دهید تا اولویت آن کاهش یابد.

۳. session را مانیتور کنید: اگر session BGP قطع و وصل می‌شود، این معمولاً نشانه‌ی بی‌ثباتی شبکه‌ی زیرین است. لاگ‌های روتر را بررسی کنید.

۴. زمان همگرایی را بسنجید: در یک پنجره‌ی تست، یک مسیر را قطع کنید و ببینید چقدر طول می‌کشد تا BGP مسیر جایگزین را فعال کند. اگر بیشتر از ۶۰ ثانیه طول کشید، تایمرها را بهینه کنید.

توصیه نهایی داماش درباره‌ی BGP

BGP در میکروتیک ممکن است در نگاه اول پیچیده به نظر برسد، اما همان‌طور که در این آموزش دیدید، راه‌اندازی پایه‌ی آن فقط چند دقیقه طول می‌کشد. اگر در سناریوی خود مشکلی دارید، بخش عیب‌یابی را مرور کنید و اگر حل نشد، با تیم پشتیبانی داماش در تماس باشید.

اگر برای شبکه‌ی خود به روتر میکروتیک یا سرور نیاز دارید، می‌توانید از پلن‌های داماش دیدن کنید. مشاوره‌ی انتخاب روتر مناسب برای BGP رایگان است.

نکته‌ی پایانی

BGP در میکروتیک یکی از مهارت‌هایی است که مدیران شبکه را از آماتورها متمایز می‌کند. شروع کنید، در محیط تست تمرین کنید و به مرور در شبکه‌ی واقعی پیاده‌سازی کنید. اگر سوالی پیش آمد، تیم داماش آماده‌ی کمک رایگان است.

روترهای میکروتیک و سرورهای داماش بستر مناسبی برای آزمایش و اجرای BGP فراهم می‌کنند. با شبکه‌ی پایدار و پشتیبانی فارسی، می‌توانید با خیال راحت شبکه‌ی خود را بسازید.

شروع کنید همین امروز

بهترین روش برای یادگیری BGP، اجرای یک سناریوی واقعی است. دو روتر میکروتیک (حتی مجازی) کنار هم بگذارید، این آموزش را دنبال کنید و session BGP را برقرار کنید. وقتی اولین session برقرار شد، بقیه کارها ساده می‌شود. تیم داماش در این مسیر با مشاوره‌ی رایگان کنار شماست.

فراموش نکنید که BGP در میکروتیک وقتی ارزش خود را نشان می‌دهد که چند سیستم مستقل باید به هم وصل شوند.

اگر فقط یک اینترنت دارید، BGP در میکروتیک بیش از حد لازم است؛ مسیریابی استاتیک کافی است.

پس از تسلط بر BGP در میکروتیک، می‌توانید شبکه‌های پیچیده‌ی چند شرکتی را مدیریت کنید.