راه اندازی VPN بین دو میکروتیک بدون آی پی استاتیک

VPN  براي زماني كه دفاتر جداگانه اي در شهرهاي مختلف داريد و ميخواهيد ارتباط اين دفاتر با يكديگر را برقرار نماييد بسيار مفيد خواهد بود ، اما براي اينكار لازم است حداقل یكي از دفاتر دارای آدرس IP استاتیک باشد. در زیر اسکریپتی وجود دارد که به شما امکان می دهد حتی اگر آدرس IP ایستا در هر مکان ندارید ، كانكشن  VPN را بين دفاتر خود برقرار کنید.  در این مثال با استفاده از L2TP VPN ارتباط بين دو نقطه برقرار مي شود ( اما اين گزينه بر روی هر نوع VPN کار می کند البته با تغییرات جزئی البته) طرح شبکه برای این مثال  به شرح ذيل مي باشد.

سمت سرور

در سمت سرور ابتدا کاربرانی را ایجاد می کنیم که به سرور متصل شوند: (حتماً یک رمز عبور پیچیده و یک نام کاربری طولانی تر تنظیم کنید)

/ppp secret add caller-id=”” comment=”Some description” disabled=no limit-bytes-in=0 \

limit-bytes-out=0 local-address=10.0.16.9 name=ka password=ka profile=default \

remote-address=10.0.16.10 routes=”” service=l2tp

سپس L2TP سرور را جهت كاربران ايجاد شده در روتر مي سازيم

/interface l2tp-server add disabled=no name=l2tp-ka user=ka

ساخت اينترفيس L2TP در ميكروتيك برای همه این موارد ضروری نیست .زيرا RouterOSهر بار که کاربر تأیید اعتبار می کند ، اينترفيس را بطور dynamic ایجاد می کند
فعال کردن سرور:

/interface l2tp-server server set authentication=pap,chap,mschap1,mschap2 \

default-profile=default-encryption enabled=yes max-mru=1460 max-mtu=1460 mrru=disabled

ايجاد روت جهت اتصال شبكه سمت كلاينت به روتر

/ip route add comment=Ka disabled=no distance=1 dst-address=10.1.16.0/28 gateway=10.0.16.10 \

scope=30 target-scope=10

فراموش نکنید DST-Address سمت كلاينت را به  محدوده IP خود تغییر دهید.

در اینجاست که باید از این script به منظور تغيير آي پي خود استفاده نماييد. از آنجا که هیچ آدرس IP استاتیک ندارید ، به DNS  پویا (Dynamic-DNS) در سمت سرور نیاز خواهید داشت. پس از پیکربندی اسکریپت ChangeIP.org از لينك ، به پیکربندی سمت مشتری بروید.

https://wiki.mikrotik.com/wiki/Sending_your_self_an_email_with_DSL_interface_IP_address

تنظيمات سمت كلاينت

برای اتصال به سرور یک اينتر فيس L2TP Client  ایجاد کنید. IP_OF_L2TP_SERVER را به آدرس IP روتر سمت سرور خود تغییر دهید.

/interface l2tp-client add add-default-route=no allow=pap,chap,mschap1,mschap2 \

connect-to=IP_OF_L2TP_SERVER dial-on-demand=no disabled=no max-mru=1460 \

max-mtu=1460 mrru=disabled name=l2tp-BL password=ka profile=default-encryption user=ka

روتي را به شبکه سمت سرور اضافه کنید:

/ip route add disabled=no distance=1 dst-address=10.0.0.0/24 gateway=10.0.16.9 scope=30 \

target-scope=10

فراموش نکنید که DST-Address را در محدوده IP خود در سمت سرور تغییر دهید
حالا پس از تغییر یکی از آدرسهای IP ، لینک را فعال کنید.
ابتدا اسکریپتی به نام ‘SetL2TP’ و با کد زیر اضافه کنید:

:global newr1 [:resolve hostname.changeip.org]

/int l2tp-client set l2tp-BL connect-to=$newr1

:log info “SetL2TPscript:Changing IP”

با اجرای این کار ، IP جدید را به نام میزبان ChangeIP.org که در سمت سرور تنظیم کرده اید ، resolve می کند.
سپس برنامه ای را اضافه کنید که اسکریپت فوق را هر 60 ثانیه اجرا کند (مطمئن شوید که برنامه زمان حال غیرفعال است)

/system scheduler add disabled=yes interval=1m name=SetL2TP on-event=”system script run SetL2TP” \

policy=read,write,test start-time=startup

اسكريپت بالا را با این فاصله زماني (interval) آزمایش کنید. شما فواصل زمانی خیلی کوتاه را نمی خواهید زیرا ممکن است یک IP را از cache دریافت کنید و برای مدت طولانی دیگر قادر به اتصال مجدد نباشید.
اکنون دو اسکریپت اضافه کنید که برنامه زمانبندی بالا را فعال و غیرفعال می کند. فقط کافی است این دو خط را در ترمینال ميكروتيك  قرار دهید:

/system script add name=EnaSched_1 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff \

source=”sys sched ena SetL2TP”

/system script add name=DisaSched_1 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff \

source=”sys sched disa SetL2TP”

درنهايت ، یک netwatch جدید ایجاد کنید که دسترسي سمت سرور را بررسی نمايد.

/tool netwatch add disabled=no down-script=EnaSched_1 host=10.0.16.9 interval=15s timeout=1s \

up-script=DisaSched_1

 Netwatch آدرس IP مشخص شده (IP سمت VPN SERVER) را پینگ می کند و در صورت موفقیت یا عدم موفقیت پینگ اسکریپت های مختلف را اجرا می کند.

چگونه این کار می کند
وقتی هر سمت شبكه (كلاينت یا سرور) آدرس IP خود را تغییر دهد و پیوند VPN قطع شود ، netwatch  اسکریپت EnaSched_1  را اجرا می کند که برنامه زمانبندی SetL2TP را فعال می کند. سپس scheduler سعی خواهد کرد نام hostname ChangeIP.org سمت سرور را resolve کند و آدرس IP را در اينترفيس L2TP Client به همین ترتیب تغییر دهد. اينترفيس L2TP Client اکنون به سرور متصل می شود و پینگ netwatch اکنون موفقیت آمیز خواهد بود ، بنابراین اسکریپت DisaSched_1 را اجرا می کند که اکنون برنامه زمانبندی را غیرفعال می کند.

در صورتی که تمایل داشته باشید میتوانید مقاله رعایت نکات امنیتی در میکروتیک را از اینجا مطالعه نمایید.

لطفا کانال تلگرام پویش نت را به دیگران معرفی نمایید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *