با استفاده از روش مسیریابی مبتنی بر سیاست یا همان Policy-Based Routing که به اختصار PBR نامیده میشود، شما میتوانید ترافیک شبکه خود را به صورت هوشمند تفکیک کنید. این روش به شما اجازه میدهد به جای عبور دادن کل ترافیک روتر از VPN، فقط ترافیک کلاینت های خاص یا سایت های تحریمی را از تونل VPN عبور دهید و بقیه کاربران بدون افت سرعت از اینترنت عادی استفاده کنند.
این راهکار برخلاف آموزش های ناقص موجود، به صورت دقیق روی تفکیک ترافیک کلاینت های مشخص تمرکز دارد. این روش بهترین راه برای حل مشکل تحریم های نرم افزاری مانند بیگ بلو باتن و دسترسی امن به ابزارهای بین المللی است، بدون اینکه سرعت اینترنت داخلی سازمان یا خانه دچار اختلال شود.
مزایای اصلی این تنظیمات در MikroTik RouterOS عبارتند از:
-
حفظ کامل سرعت و پهنای باند اینترنت اصلی برای سایر کاربران شبکه
-
هدایت خودکار و بدون وقفه کاربران هدف به سمت لایه های ارتباطی VPN
-
مدیریت بهینه منابع روتر میکروتیک و کاهش استهلاک پهنای باند تونل ارتباطی
پیشنیازهای اتصال و تنظیمات vpn client در میکروتیک
قبل از شروع هرگونه عملیات مسیریابی، ابتدا باید یک اینترفیس VPN فعال مانند L2TP یا WireGuard در منوی PPP یا Interface روتر خود داشته باشید. این اتصال حتما باید در وضعیت Connected یا Running یعنی همان علامت R باشد تا مطمئن شوید ارتباط اولیه با سرور برقرار است. این مرحله پیشنیاز اصلی کار است و تا زمان پایداری آن نباید مراحل بعدی را اجرا کنید.
برای تضمین پایداری اتصال و جلوگیری از افت سرعت یا قطع و وصل شدن لینک، حتما مقادیر تنظیمات MTU و MRU را در تنظیمات همان کانکشن روی عدد 1380 قرار دهید. مهمترین نکته پیشگیرانه در این بخش، غیرفعال کردن یا برداشتن تیک گزینه Add Default Route است.
نکته کلیدی: فراموش کردن غیرفعالسازی Add Default Route، همان اشتباه رایجی است که باعث میشود کل ترافیک اینترنت روتر شما ناگهان وارد تونل VPN شود. این اتفاق اینترنت کل مجموعه را مختل کرده و سناریوی تفکیک ترافیک شما را با شکست مواجه میکند.
تا زمانی که از وضعیت R اینترفیس VPN و غیرفعال بودن روت پیشفرض مطمئن نشدهاید، به سراغ مراحل بعدی نروید.
مراحل هدایت ترافیک به سمت vpn client در میکروتیک v7
فرآیند هدایت ترافیک در نسخه ۷ میکروتیک شامل سه گام اصلی است: ۱. ایجاد جدول مسیریابی با ویژگی FIB، ۲. نشانه گذاری ترافیک هدف در Mangle، ۳. نوشتن روت خروجی در IP Route. چالش اصلی کاربران در RouterOS v7 تفاوت ساختاری آن با نسخه ۶ در مدیریت جداول مسیریابی است. در نسخه جدید دیگر نمیتوانید نام جدول دلخواه را مستقیما در منگل تایپ کنید، بلکه باید جدول ابتدا به صورت مجزا تعریف شده باشد. این راهنمای گام به گام به شما کمک میکند ترافیک کاربران خود را به راحتی به سمت یک تونل خروجی هدایت کنید.
-
ساخت جدول مسیریابی اختصاصی
-
علامت گذاری پکت ها در فایروال
-
تعریف مسیر خروجی برای ترافیک نشان دار
ساخت جدول مسیریابی یا Routing Table در نسخه ۷
برای شروع باید به مسیر Routing و سپس Tables در وینباکس بروید و یک جدول جدید با نام دلخواه بسازید و حتما تیک گزینه FIB را فعال کنید. فعال کردن ویژگی FIB یا همان Forwarding Information Base الزامی است تا روتر این جدول را در پایگاه داده مسیریابی اصلی خود در لایه سه قرار دهد. اگر تیک FIB را نزنید، ترافیک مشخص شده در منگل توسط روتر شناسایی نشده و پکت ها به جای عبور از مسیر اختصاصی، از اینترنت اصلی شبکه خارج میشوند که این امر کل سناریو را خراب میکند.
نشانه گذاری ترافیک با استفاده از Mangle در فایروال
به منوی ip firewall mangle بروید، یک رول جدید با زنجیره یا Chain روی حالت prerouting بسازید. آی پی کلاینت مورد نظر را در بخش Src. Address وارد کنید و در لبه اکشن، مقدار را روی mark routing و جدول ساخته شده در گام قبل تنظیم کنید. یک فوت کوزه گری مهم برای اینکه دسترسی کلاینت به تجهیزات داخل شبکه مثل پرینتر یا سرور محلی قطع نشود این است که در تب Advanced شرط dst-address-type را روی حالت local قرار داده و تیک ناٹ یا همان علامت تعجب کنار آن را بزنید تا رول فایروال میکروتیک روی شبکه داخلی اعمال نشود.
ایجاد مسیریابی جدید برای هدایت ترافیک به vpn client
به منوی ip route بروید و یک روت جدید بنویسید. مقدار Dst. Address را برابر 0.0.0.0/0 قرار دهید و در دکمه Gateway نام اینترفیس خروجی یا همان اینترفیس vpn خود را انتخاب کنید. در نهایت بخش Routing Table را روی جدولی که در گام اول ساختید تنظیم کنید. به عنوان یک ترفند فنی برای افزایش پایداری، در برخی سناریوها نوشتن آی پی سمت ریموت تونل به جای نام اینترفیس در بخش Gateway، مانع از بروز اختلال در زمان قطع و وصل شدن پکت ها میشود. با اتمام این گام، مسیریابی میکروتیک تکمیل شده و ترافیک کلاینت بدون مشکل از vpn عبور میکند.
تفکیک ترافیک ایران و خارج در میکروتیک با Address List
برای اینکه فقط ترافیک سایت های خارجی از VPN عبور کند و پهنای باند و سرعت شما بهینه شود، باید تکنیک Split Tunneling را اجرا کنید. در این روش، ابتدا لیست آدرس های ایران را تهیه کرده و سپس در رول Mangle یک شرط استثنا با علامت تعجب ! برای Dst. Address List قرار می دهید. با این کار تمام ترافیک به سمت خارج هدایت می شود به جز آی پی های ایران.
اما یک چالش تجربی مهم وجود دارد. بسیاری از سایت های بانکی و دولتی از CDN های داخلی مثل ابرآروان استفاده می کنند. این موضوع باعث می شود بانک ها باز نشوند یا با اختلال مواجه شوند. برای حل این مشکل، باید آدرس های این CDN ها را به طور دستی یا به عنوان استثنا در میکروتیک مدیریت کنید تا ترافیک آن ها کاملا از اینترنت معمولی عبور کند.
-
استفاده از تکینک Split Tunneling برای حفظ سرعت اینترنت
-
استثنا کردن رنج آی پی های ایران در رول منگل
-
مدیریت دستی آی پی های ابرآروان برای رفع مشکل سایت های بانکی
آپدیت خودکار لیست آی پی های ایران
بهترین راه برای داشتن لیست همیشه به روز آی پی های ایران و رهایی از وارد کردن دستی هزاران رکورد، خودکارسازی فرآیند است. شما می توانید از اسکریپت میکروتیک و ابزار Scheduler استفاده کنید. این ابزار فایل جدید را از منابع معتبر دانلود کرده و با دستور import جایگزین می کند.
یک نکته فنی و تجربی که باید به آن توجه کنید، بحث پردازش روتر است. اجرای اسکریپت های سنگین با چند هزار خط روی روترهای ضعیف مانند hAP lite ممکن است باعث پر شدن موقت 100 درصدی CPU و فریز شدن دستگاه شود. برای جلوگیری از این مشکل، زمان اجرای اسکریپت در Scheduler را روی ساعات کم مصرف شب مثلا نیمه شب تنظیم کنید.
چرا هدایت ترافیک به vpn client کار نمی کند؟
اگر تمام تنظیمات تفکیک ترافیک ایران و خارج را انجام داده اید اما کلاینت شما هنوز اینترنت ندارد، با یک مشکل رایج در عیب یابی میکروتیک مواجه هستید. علت اصلی این اتفاق معمولا یا تداخل با قابلیت FastTrack فایروال است یا فراموش کردن رول فایروال NAT روی اینترفیس VPN. اگر رول Masquerade نوشته نشود، پکت ها به مقصد می رسند اما جواب آن ها هرگز به روتر و کلاینت برنمی گردد و عدم کارکرد VPN رخ می دهد.
| علت اصلی مشکل | راه حل سریع |
| تداخل FastTrack فایروال با منگل | نوشتن استثنا برای کلاینت های VPN |
| نبود رول NAT برای اینترفیس تونل | نوشتن رول Masquerade برای اینترفیس VPN |
رفع مشکل تداخل FastTrack با قوانین Mangle
قابلیت FastTrack یک قاتل خاموش در سناریوهای میکروتیک است. این ویژگی پکت ها را برای افزایش سرعت از مسیر میان بر عبور می دهد و اجازه نمی دهد رول های Mangle آن ها را بررسی و علامت گذاری کنند. به همین دلیل ظاهر تنظیمات شما درست است اما در عمل کار نمی کند چون پکت ها فست ترک می شوند.
برای حل این تداخل و پردازش صحیح پکت ها، باید در مسیر Firewall Filter رول مربوط به fasttrack-connection را پیدا کنید. سپس در بخش سورس آدرس، لیست کلاینت های VPN را با قرار دادن علامت تعجب استثنا کنید تا این ترافیک خاص از مسیر میان بر عبور نکند.
جلوگیری از نشت آی پی با راه اندازی Kill Switch
برای حفظ امنیت و جلوگیری از نشت آی پی در صورت قطع ناگهانی کانکشن VPN، باید راهکار Kill Switch را پیاده سازی کنید. برای این کار رول فایروال NAT را به شدت محدود به اینترفیس VPN کنید تا اگر تونل قطع شد، ترافیک از اینترنت اصلی کشور عبور نکند و کلاینت کلا قطع شود.
-
ایجاد یک Interface List شامل تمام کانکشن های VPN
-
تنظیم Out. Interface List در رول NAT روی لیست ساخته شده
-
نوشتن رول Drop لایه دوم در فایروال فیلتر برای ترافیک مارک دار
به عنوان یک راهکار فوق امنیتی، یک رول Drop در فایروال فیلتر بنویسید که اگر ترافیکی مارک VPN داشت اما خواست از اینترفیس اینترنت اصلی یا همان WAN خارج شود، فورا بلاک شود.
روش های جلوگیری از DNS Leak در میکروتیک
حتی اگر ترافیک وب شما از VPN رد شود، درخواست های وب سایت ها یعنی همان DNS ممکن است از سرورهای داخلی عبور کنند و موقعیت شما را لو بدهند. برای حل این مشکل باید درخواست های پورت ۵۳ را به سمت VPN فورس کنید تا لو رفتن موقعیت مکانی کلاینت ها به طور کامل متوقف شود.
برای جلوگیری از DNS Leak در میکروتیک مراحل زیر را به ترتیب انجام دهید:
۱. تنظیم DNSهای عمومی امن: ابتدا به مسیر IP و سپس DNS در روتر بروید و آدرس های عمومی و امن مثل 8.8.8.8 و 1.1.1.1 را ست کنید.
۲. غیرفعال کردن ریموت ریکوئست: در همان صفحه، تیک گزینه Allow Remote Requests را در صورت عدم نیاز بردارید تا امنیت بالاتر برود.
۳. فوروارد کردن پورت ۵۳: یک رول نت بنویسید تا تمام پکت های UDP پورت ۵۳ کلاینت ها به اجبار به سمت آدرس تونل VPN هدایت شوند.
۴. کلیر کردن کش DNS سیستم: در نهایت به کاربر یادآوری کنید که دستور ipconfig /flushdns را در خط فرمان ویندوز اجرا کند. این کار کش قدیمی را پاک می کند و باعث اعمال فوری تغییرات جدید می شود.
آموزش تنظیم Failover برای چند vpn client در میکروتیک
تنظیم Failover برای چند vpn client در میکروتیک، یکی از بهترین راهها برای ایجاد پایداری ۱۰۰ درصدی در شبکه و دسترسی همیشگی به اینترنت پشتیبان است. با استفاده از پارامتر Distance و قابلیت Check Gateway در منوی مسیریابی میکروتیک، میتوانید چند کانکشن VPN را اولویتبندی کنید تا در صورت قطع شدن مسیر اصلی، ترافیک فوراً و خودکار به کانکشن بعدی هدایت شود.
برای این کار، اولویت کانکشن اصلی را با دستانس ۱ و کانکشن پشتیبان را با دستانس ۲ مشخص کنید. نکته حیاتی برای حل مشکل بزرگ تونلهای متصل ولی بدون دیتا، فعال کردن تیک Check Gateway روی حالت ping است. گاهی وضعیت VPN متصل است اما دیتا منتقل نمیشود. روتر با پینگ مداوم این ابزار، قطع بودن واقعی مسیر را متوجه میشود و ترافیک را بدون وقفه منتقل میکند.
کدهای CLI برای راه اندازی سریع سناریو
اگر ترجیح میدهید به جای محیط گرافیکی وینباکس، از ترمینال سریع میکروتیک استفاده کنید، کدهای استاندارد زیر تمام مراحل ساخت جدول مسیریابی، رول منگل، روت خروجی، نات و رفع تداخل فستترک را در چند ثانیه اعمال میکنند. این دستورات برای کدهای RouterOS v7 بهینه شدهاند و راهاندازی سریع سناریو را بدون اتلاف وقت ممکن میسازند.
/routing/table/add name=VPN_Table fib
/ip/firewall/mangle/add chain=prerouting src-address-list=VPN_Clients action=mark-routing new-routing-mark=VPN_Table
/ip/route/add dst-address=0.0.0.0/0 gateway=VPN_Interface routing-table=VPN_Table
/ip/firewall/nat/add chain=srcnat out-interface=VPN_Interface action=masquerade
/ip/firewall/filter/set [find action=fasttrack-connection] src-address-list=!VPN_Clients
نکته کلیدی دستورات ترمینال: خط آخر این باکس کد با استثنا کردن فستترک، مشکل قطع شدن ترافیک مسیریابی شده را کاملا حل میکند. این هماهنگی هوشمندانه رولها، وجه تمایز اصلی این کانفیگ نسبت به روشهای سنتی است.















