کنترل دسترسی کاربران Lan و تانل به ویپ و امکانات داخلی شبکه
من یک روتر میکر وتیک دارم میخوام یک شبکه داخلی داشته ابشم با آی پی 192.168.80..1/24 روی پ.ورت بریج که به کاربرا آی پی دی اچ سی پی بده و یک اینترنت pppoe به مخابرات وصل باشخ که به نام ADSL و یک سری کاربر از طریق ovpn با آی پی های 192.168.81.1-192.168.81.50 به اینم شبکه وصل بشوند و از امکانات این شبکه استفاده کنند .
برای پیادهسازی سناریوی شما با استفاده از روتر MikroTik، باید مراحل زیر را طی کنید:
۱. تنظیم شبکه داخلی با DHCP Server
- وارد Winbox یا WebFig شوید و به روتر متصل شوید.
- Bridge ایجاد کنید:
- به Bridge > Add New بروید و یک Bridge جدید با نام
bridge-local
بسازید. - پورتهای LAN را به این Bridge اضافه کنید:
- به Bridge > Ports بروید و هر پورتی که به شبکه داخلی شما متصل است را به این Bridge اضافه کنید.
- به Bridge > Add New بروید و یک Bridge جدید با نام
- تنظیم IP Address برای شبکه داخلی:
- به IP > Addresses بروید و یک آدرس IP برای Bridge اضافه کنید:makefileCopy code
Address: 192.168.80.1/24 Interface: bridge-local
- به IP > Addresses بروید و یک آدرس IP برای Bridge اضافه کنید:makefileCopy code
- تنظیم DHCP Server:
- به IP > DHCP Server > DHCP Setup بروید و bridge-local را انتخاب کنید.
- تنظیمات را طبق مقادیر زیر انجام دهید:
- DHCP Range: 192.168.80.10 – 192.168.80.100
- Gateway: 192.168.80.1
- DNS Server: میتوانید از IP روتر (192.168.80.1) یا DNS سرورهای عمومی (مانند 8.8.8.8) استفاده کنید.
۲. تنظیم اتصال PPPoE به مخابرات
- به PPP > Interfaces بروید و یک Interface جدید برای PPPoE Client اضافه کنید:
- Interface: پورت متصل به مودم مخابرات
- Username: نام کاربری PPPoE ارائهشده توسط مخابرات
- Password: رمز عبور PPPoE
- Default Route: فعال باشد.
- پس از اتصال موفقیتآمیز، روتر شما به اینترنت دسترسی خواهد داشت.
۳. تنظیم OVPN برای کاربران ریموت
- به PPP > Profiles بروید و یک پروفایل جدید با تنظیمات زیر ایجاد کنید:
- Local Address: 192.168.81.1
- Remote Address: 192.168.81.2-192.168.81.50
- DNS Server: 192.168.80.1 (یا DNS دلخواه)
- در تب PPP > Secrets، یک کاربر جدید اضافه کنید:
- Name: نام کاربری
- Password: رمز عبور
- Service: ovpn
- Profile: پروفایلی که در مرحله قبل ساختید.
- به IP > Firewall > NAT بروید و قانون زیر را اضافه کنید:
- Chain: srcnat
- Out Interface:
pppoe-out1
(اتصال اینترنت مخابرات) - Action: masquerade
- به IP > Firewall > Filter Rules بروید و اجازه دسترسی OVPN کاربران به شبکه داخلی را فراهم کنید:
- Chain: forward
- Src. Address: 192.168.81.0/24
- Dst. Address: 192.168.80.0/24
- Action: accept
۴. فعال کردن OVPN Server
- به PPP > OVPN Server بروید و OVPN را فعال کنید:
- Enabled: تیک بزنید.
- Port: 1194
- Mode: IP
- Certificate: (اگر گواهینامه TLS ندارید، میتوانید از مقادیر پیشفرض استفاده کنید.)
- مطمئن شوید که پورت 1194 در تنظیمات فایروال باز است:
- Chain: input
- Protocol: tcp
- Dst. Port: 1194
- Action: accept
۵. تست اتصال کاربران OVPN
- کاربران ریموت میتوانند از MikroTik OVPN Client یا OpenVPN Client برای اتصال استفاده کنند.
- در تنظیمات OVPN Client:
- Server Address: آدرس عمومی روتر (مانند IP استاتیک یا DDNS MikroTik).
- Username: نام کاربری تعریفشده.
- Password: رمز عبور.
۶. تست دسترسی کاربران به شبکه داخلی
کاربران OVPN باید به تمام منابع شبکه داخلی (192.168.80.0/24) مانند پرینترها، سرورها، و اینترنت دسترسی داشته باشند. اگر مشکلی وجود داشت، موارد زیر را بررسی کنید:
- تنظیمات فایروال
- اتصال PPPoE و NAT
- تنظیم پروفایل و دسترسی کاربران
درصورتی که به هر دلیلی بعد از برقراری تانل دسسترسی به اینترنت و منابع مشکل داشت مراحل زیر طی شود
مشکل شما مربوط به تنظیمات NAT (ترجمه آدرس شبکه) یا فایروال است که ممکن است دسترسی به اینترنت را برای کاربران VPN محدود کرده باشد. برای رفع این مشکل، مراحل زیر را به دقت انجام دهید:
۱. بررسی و تنظیم NAT
برای اطمینان از اینکه کاربران OVPN میتوانند از اتصال PPPoE استفاده کنند:
- به IP > Firewall > NAT بروید.
- یک قانون Masquerade اضافه کنید:
- Chain:
srcnat
- Src. Address:
192.168.81.0/24
(رنج آیپی OVPN) - Out Interface:
pppoe-out1
(اتصال PPPoE) - Action:
masquerade
- Chain:
این قانون باعث میشود که ترافیک کاربران VPN به درستی از طریق اتصال PPPoE به اینترنت مسیردهی شود.
۲. تنظیم Default Route برای OVPN
اگر تنظیمات Default Route برای OVPN درست نیست:
- به IP > Routes بروید.
- مطمئن شوید که Gateway به سمت اتصال PPPoE (
pppoe-out1
) تنظیم شده باشد.
۳. بررسی فایروال
برای اطمینان از اینکه ترافیک OVPN مجاز است:
- به IP > Firewall > Filter Rules بروید.
- یک قانون اضافه کنید:
- Chain:
forward
- Src. Address:
192.168.81.0/24
(رنج آیپی کاربران VPN) - Action:
accept
- Chain:
این قانون تضمین میکند که ترافیک از کاربران VPN به سمت اینترنت و شبکه داخلی مسدود نشود.
۴. تست پینگ از روتر
برای اطمینان از مسیریابی صحیح:
- از Terminal در روتر، آدرس اینترنتی (مثل
8.8.8.8
) را پینگ کنید:ping 8.8.8.8
- سپس از همان ترمینال آدرس IP یک کاربر VPN را پینگ کنید:
ping 192.168.81.X
- اگر هر دو موفق بود، مسیریابی صحیح است.
۵. بررسی تنظیمات کلاینت OVPN
در کلاینت OVPN:
- مطمئن شوید که گزینه Use Default Gateway on Remote Network یا مشابه آن فعال باشد.
- اگر همچنان مشکل دارید، بررسی کنید که DNS Server درست تنظیم شده باشد:
- Primary DNS: 8.8.8.8
- Secondary DNS: 8.8.4.4 یا آدرس روتر (192.168.80.1)
۶. دیباگ با لاگ
برای یافتن مشکل دقیق:
- به Log در MikroTik بروید و ترافیک OVPN را بررسی کنید.
- از Tools > Torch برای مانیتور ترافیک روی اینترفیسها استفاده کنید.
قطع و وصل مکرر در اتصال OpenVPN (OVPN) میتواند به دلایل مختلفی اتفاق بیفتد،
از جمله مشکلات در پیکربندی روتر، شبکه اینترنت، یا تنظیمات کلاینت. برای رفع این مشکل، میتوانید مراحل زیر را بررسی و انجام دهید:
اما مهممترین نکته اینکه برای رفع مشکل میکروتیک را به ورژن 7 ارتقاء دهید
۱. بررسی اتصال اینترنت
- اطمینان حاصل کنید که اتصال اینترنت PPPoE پایدار است:
- به Log در MikroTik بروید و وضعیت PPPoE را بررسی کنید.
- در صورت ناپایداری، اتصال اینترنت خود را بررسی کرده و در صورت لزوم با ISP تماس بگیرید.
- اگر از سرویس DDNS برای اتصال استفاده میکنید:
- به IP > Cloud بروید و مطمئن شوید که تنظیمات DDNS فعال و پایدار است.
- نام میزبان (hostname) را بررسی کنید که صحیح و در دسترس باشد.
۲. بررسی تنظیمات OVPN
- Keepalive Timeout را افزایش دهید:
- به PPP > Profiles بروید و پروفایل مرتبط با OVPN را ویرایش کنید.
- در قسمت Keepalive Timeout، مقدار را به
30
یا بیشتر تنظیم کنید.
- مطمئن شوید که پورت OVPN (1194) به درستی تنظیم و باز است:
- به IP > Firewall > Filter Rules بروید و قانون زیر را بررسی کنید:
- Chain:
input
- Protocol:
tcp
- Dst. Port:
1194
- Action:
accept
- Chain:
- به IP > Firewall > Filter Rules بروید و قانون زیر را بررسی کنید:
- در تنظیمات OVPN Server:
- به PPP > OVPN Server بروید و Max MTU را به مقدار
1500
یا کمتر تغییر دهید.
- به PPP > OVPN Server بروید و Max MTU را به مقدار
۳. بررسی کیفیت ارتباط بین کلاینت و سرور
- Ping Stability:
- از کلاینت، آدرس IP سرور (مثلاً IP عمومی روتر MikroTik) را پینگ کنید.
- اگر پینگ ناپایدار است یا زمان زیادی طول میکشد، مشکل از کیفیت اتصال اینترنت است.
- اگر از اتصال بیسیم (Wi-Fi) استفاده میکنید:
- به اتصال کابلی تغییر دهید یا اطمینان حاصل کنید که شبکه Wi-Fi پایدار و با سیگنال قوی است.
۴. فعال کردن Keepalive در کلاینت
در تنظیمات کلاینت OVPN، مقادیر زیر را به کانفیگ اضافه کنید (اگر امکانپذیر است):
vbnetCopy codekeepalive 10 60
ping-timer-rem
persist-tun
persist-key
این مقادیر باعث میشوند اتصال در صورت قطع موقتی، سریعاً بازسازی شود.
۵. بررسی منابع روتر MikroTik
- مطمئن شوید که روتر بار اضافی ندارد:
- به System > Resources بروید و مصرف CPU و RAM را بررسی کنید.
- اگر مصرف بالا است، بررسی کنید که آیا قوانین فایروال یا NAT پیچیدهای دارید که بار اضافی ایجاد میکند.
- تعداد کاربران متصل به OVPN را محدود کنید:
- در PPP > Secrets، تعداد کاربران مجاز را کنترل کنید.
۶. بروزرسانی سیستمعامل MikroTik
- به System > Packages بروید و بررسی کنید که آیا نسخه روتر بهروز است یا خیر.
- در صورت قدیمی بودن، نسخه جدید RouterOS را دانلود و نصب کنید.
۷. تست با پورت جایگزین
اگر مشکل همچنان ادامه داشت، ممکن است محدودیتی در شبکه یا ISP وجود داشته باشد:
- پورت پیشفرض OVPN (1194) را تغییر دهید:
- به PPP > OVPN Server بروید و پورت را به مقدار دیگری (مثلاً 443) تغییر دهید.
- مطمئن شوید که فایروال این پورت جدید را نیز مجاز میکند.
۸. فعال کردن لاگهای دقیق برای عیبیابی
- به System > Logging بروید و یک Rule جدید برای PPP و Debug اضافه کنید.
- پس از اتصال کلاینت، لاگها را بررسی کنید تا دلیل قطع و وصل مشخص شود.
در فایل کانفیگ ovpn چطور پورت معرفی کنم ؟
remote 192.168.80.1 1199
در فایل کانفیگ OpenVPN Client، اگر میخواهید پورت خاصی (به غیر از پورت پیشفرض 1194) برای اتصال معرفی کنید، به صورت زیر عمل کنید:
۱. تنظیم پورت در فایل کانفیگ کلاینت
در فایل .ovpn
یا فایل تنظیمات کلاینت، از دستور remote
استفاده کنید و آدرس سرور به همراه پورت را مشخص کنید.
برای مثال، اگر سرور شما روی پورت 1199 تنظیم شده است:
remote 192.168.80.1 1199
این خط به کلاینت میگوید که به IP 192.168.80.1
با استفاده از پورت 1199
متصل شود.
۲. اطمینان از تنظیمات سرور
- مطمئن شوید که پورت 1199 در تنظیمات OVPN Server روی MikroTik تعریف شده است:
- به PPP > OVPN Server بروید.
- مقدار Port را به
1199
تغییر دهید.
- در Firewall، مطمئن شوید که قانون زیر تعریف شده باشد:
- Chain:
input
- Protocol:
tcp
- Dst. Port:
1199
- Action:
accept
- Chain:
۳. تست کانفیگ کلاینت
- فایل کانفیگ کلاینت را ذخیره کنید و در نرمافزار OpenVPN Client وارد کنید.
- اتصال را تست کنید. اگر مشکل دارید، لاگ کلاینت را بررسی کنید.
۴. چند آدرس سرور (اختیاری) در فایل کانفیگ ovpn
اگر چندین آدرس سرور یا پورت دارید، میتوانید مقادیر مختلف remote
را در فایل کانفیگ وارد کنید. کلاینت به ترتیب هر کدام را امتحان میکند:
coderemote 192.168.80.1 1199
remote 192.168.80.1 1194
remote vpn.example.com 443
توضیحات مختصر فایل کانفیگ ovpn
client dev tun proto tcp-client remote 192.168.80.1 1194 remote 94550a7ad0d7.sn.mynetname.net 1194 remote 192.168.80.1 1199 remote 94550a7ad0d7.sn.mynetname.net 1199 resolv-retry infinite nobind keepalive 10 60 ping-timer-rem persist-tun persist-key remote-cert-tls server auth-user-pass cipher AES-128-CBC auth SHA1 comp-lzo verb 3 این پورتها درسته؟
کانفیگ فایل شما از نظر تعریف آدرسهای سرور و پورتهای مختلف صحیح به نظر میرسد. با این تنظیمات، کلاینت OpenVPN به ترتیب تلاش میکند تا به آدرسهای مشخصشده با پورتهای مختلف متصل شود. بیایید جزئیات کانفیگ را بررسی کنیم:
توضیح بخشهای مهم کانفیگ ovpn فایل
- remote
remote 192.168.80.1 1194 remote 94550a7ad0d7.sn.mynetname.net 1194 remote 192.168.80.1 1199 remote 94550a7ad0d7.sn.mynetname.net 1199
- اگر سرور شما فقط در یک شبکه داخلی قابل دسترسی است،
192.168.80.1
کافی است. - اگر از Dynamic DNS استفاده میکنید، آدرس
94550a7ad0d7.sn.mynetname.net
صحیح به نظر میرسد (با فرض اینکه این آدرس معتبر و به سرور MikroTik شما اشاره دارد).
- اگر سرور شما فقط در یک شبکه داخلی قابل دسترسی است،
- proto
تنظیم شده است روی:proto tcp-client
این مشخص میکند که OpenVPN با پروتکل TCP کار میکند. اطمینان حاصل کنید که سرور OpenVPN نیز روی TCP تنظیم شده باشد. - پورتها
شما از دو پورت1194
(پورت پیشفرض) و1199
استفاده میکنید:- مطمئن شوید که هر دو پورت در تنظیمات OVPN Server روی MikroTik و در Firewall باز هستند.
- keepalive
این گزینه باعث میشود اتصال به صورت منظم چک شود و اگر قطع شد، دوباره برقرار شود: codekeepalive 10 60
- auth-user-pass
این گزینه نشان میدهد که کلاینت برای احراز هویت از نام کاربری و رمز عبور استفاده میکند. مطمئن شوید فایلauth.txt
یا ورود دستی اطلاعات به درستی انجام شده باشد. - cipher و auth
مطمئن شوید این الگوریتمهای رمزنگاری با تنظیمات سرور مطابقت دارند:cipher AES-128-CBC auth SHA1
تست اتصال
- مطمئن شوید که OpenVPN Server در MikroTik برای پورتهای
1194
و1199
به درستی تنظیم شده است. - تنظیمات فایروال را بررسی کنید تا این پورتها باز باشند.
- اگر از Dynamic DNS استفاده میکنید، بررسی کنید که نام دامنه به درستی به IP عمومی روتر اشاره میکند:
ping 94550a7ad0d7.sn.mynetname.net
- اتصال را با هر دو پورت تست کنید:
openvpn --config client.ovpn
مشکلات احتمالی
- اگر یکی از پورتها یا آدرسها کار نمیکند، ممکن است:
- پورت موردنظر در فایروال مسدود باشد.
- Dynamic DNS به درستی به روز نشده باشد.
- سرور فقط روی یک پورت خاص تنظیم شده باشد.
پیشنهاد بهبود
- اگر سرور از UDP پشتیبانی میکند، تست کنید که اتصال روی پروتکل UDP پایدارتر است:
proto udp
- برای دیباگ، مقدار verb را به
6
یا7
تغییر دهید تا لاگهای بیشتری برای عیبیابی داشته باشید:verb 6
اگر باز هم مشکلی داشتید، جزئیات بیشتری از وضعیت لاگها یا خطاها ارسال کنید تا دقیقتر راهنمایی کنم. 😊
این دستور برای چند سرور کار نکرد
اگر فایل کانفیگ شما با چندین سرور و پورت کار نمیکند، ممکن است یکی از مشکلات زیر باعث ایجاد اختلال شود. برای رفع این مشکل، میتوانید موارد زیر را بررسی و مراحل زیر را اجرا کنید:
۱. بررسی تنظیمات سرورهای OVPN
- پورتها در سرور:
اطمینان حاصل کنید که سرور MikroTik برای هر دو پورت (1194
و1199
) به درستی تنظیم شده باشد:- به PPP > OVPN Server بروید.
- مقدار Port را بررسی کنید. اگر تنها یک پورت تعریف شده است، نمیتوانید با چند پورت کار کنید. MikroTik تنها از یک پورت برای OVPN پشتیبانی میکند. بنابراین، لازم است در صورت نیاز، سرور جداگانهای برای پورت دیگر راهاندازی کنید.
- قوانین فایروال:
مطمئن شوید که پورتهای موردنظر (1194
و1199
) در Firewall باز هستند:- IP > Firewall > Filter Rules:
- برای هر پورت، یک قانون accept بسازید:
- Chain:
input
- Protocol:
tcp
- Dst. Port:
1194
(و همچنین1199
) - Action:
accept
- Chain:
- برای هر پورت، یک قانون accept بسازید:
- IP > Firewall > Filter Rules:
۲. بررسی فایل کانفیگ کلاینت
- تنظیمات کانفیگ شما صحیح به نظر میرسد، اما OpenVPN تنها به اولین سروری که پاسخگو است، متصل میشود. اگر سرور اول در لیست فعال نباشد، به سرور بعدی میرود.
اگر هیچکدام پاسخگو نباشند، اتصال برقرار نخواهد شد. - تست اتصال جداگانه برای هر سرور:
- فایل کانفیگ را ویرایش کنید و فقط یک
remote
را فعال کنید:remote 192.168.80.1 1194
- اتصال را تست کنید. سپس برای پورت و سرور دیگر نیز به همین روش تست کنید:
192.168.80.1 1199
- فایل کانفیگ را ویرایش کنید و فقط یک
۳. بررسی Dynamic DNS
اگر از آدرس Dynamic DNS استفاده میکنید (94550a7ad0d7.sn.mynetname.net
):
- از طریق خط فرمان، وضعیت بهروزرسانی DNS را بررسی کنید:
ping 94550a7ad0d7.sn.mynetname.net
مطمئن شوید که این آدرس به IP عمومی MikroTik شما اشاره دارد. - اگر از MikroTik DDNS استفاده میکنید:
- به IP > Cloud بروید و مطمئن شوید گزینه DDNS Enabled فعال است.
- آدرس DDNS (مثلاً
94550a7ad0d7.sn.mynetname.net
) با IP عمومی شما مطابقت داشته باشد.
۴. بررسی محدودیتهای MikroTik
MikroTik معمولاً از یک پورت OVPN پشتیبانی میکند. اگر بخواهید چندین پورت استفاده کنید:
- ممکن است نیاز به اجرای سرور OVPN روی دستگاه دیگری داشته باشید.
- یا برای دسترسی با یک پورت کار کنید (ترجیحاً
1194
بهعنوان پورت پیشفرض).
۵. افزایش لاگ برای عیبیابی
در کلاینت OpenVPN، مقدار verb را افزایش دهید:
verb 7
سپس تلاش کنید به سرور متصل شوید و لاگها را بررسی کنید. به دنبال پیامهای خطا مانند موارد زیر باشید:
- Connection Refused: نشاندهنده مسدود بودن پورت یا عدم وجود سرور در آن پورت.
- Timeout: نشاندهنده عدم پاسخگویی سرور یا مشکل در DNS.
۱. بررسی تنظیمات DDNS
- بررسی آدرس DDNS
اطمینان حاصل کنید که DDNS به درستی به IP عمومی شما اشاره دارد:- با استفاده از دستور زیر، آدرس DDNS را به IP تبدیل کنید:
ping 94550a7ad0d7.sn.mynetname.net
- خروجی باید همان IP عمومی روتر MikroTik باشد. اگر خروجی اشتباه است، ممکن است DDNS به درستی بهروزرسانی نشده باشد. در این صورت:
- به IP > Cloud بروید.
- گزینه Force Update را انتخاب کنید.
- با استفاده از دستور زیر، آدرس DDNS را به IP تبدیل کنید:
- فایروال و NAT
اگر از IP عمومی استفاده میکنید، مطمئن شوید که پورت 1199 روی فایروال و NAT برای دسترسی از بیرون به درستی تنظیم شده است:- IP > Firewall > NAT:
- Chain:
dstnat
- Protocol:
tcp
- Dst. Port:
1199
- Action:
dst-nat
- To Address:
192.168.80.1
- To Ports:
1199
- Chain:
- IP > Firewall > NAT:
- چک کردن پاسخدهی MikroTik
از دستگاه خارج از شبکه داخلی، به پورت 1199 سرور با استفاده از آدرس DDNS متصل شوید:telnet 94550a7ad0d7.sn.mynetname.net 1199
- اگر خطا دریافت کردید (مثلاً
Connection Refused
یاTimeout
)، مشکل احتمالاً در NAT یا فایروال است.
- اگر خطا دریافت کردید (مثلاً
۲. بررسی فایل کانفیگ کلاینت
فایل کانفیگ شما ممکن است نیاز به تغییر داشته باشد. تنظیمات زیر را در فایل .ovpn
بررسی کنید:
- خطوط remote: مطمئن شوید آدرس و پورت DDNS به درستی تعریف شده است:
remote 94550a7ad0d7.sn.mynetname.net 1199
- proto: مطمئن شوید پروتکل TCP یا UDP با سرور مطابقت دارد:
proto tcp-client
- resolv-retry: اگر سرور DDNS گاهی اوقات در دسترس نیست، مقدار
resolv-retry
را بهinfinite
تنظیم کنید:resolv-retry infinite
۳. تست اتصال از خارج شبکه
از دستگاه خارج از شبکه داخلی (مثلاً با اینترنت موبایل)، کانفیگ را تست کنید.
برای مثال، اجرای دستور زیر لاگ اتصال را نشان میدهد:
openvpn --config client.ovpn
به لاگهای زیر توجه کنید:
TLS Error: TLS key negotiation failed
: ممکن است NAT یا فایروال پورت را مسدود کرده باشد.Cannot resolve host address
: ممکن است DNS یا آدرس DDNS مشکل داشته باشد.
۴. تغییر تنظیمات DNS کلاینت
اگر مشکل از DNS کلاینت است، میتوانید به طور دستی DNS را در فایل کانفیگ کلاینت تعریف کنید.
به خط زیر اضافه کنید:
dhcp-option DNS 8.8.8.8
این خط از Google DNS برای حل آدرس استفاده میکند.
۵. فعال کردن Debug Mode
برای دریافت اطلاعات بیشتر از لاگها، سطح verbosity را افزایش دهید:
verb 7
این تغییر باعث میشود لاگهای دقیقتری از تلاش برای اتصال با آدرس DDNS ببینید.
۶. بررسی مشکل از سمت ISP
گاهی اوقات ISP ممکن است دسترسی به پورت خاصی را مسدود کند. برای بررسی این مورد:
- یک پورت دیگر مانند 443 (پورت HTTPS) را روی سرور OVPN تنظیم کنید.
- فایل کانفیگ کلاینت را تغییر دهید:
remote 94550a7ad0d7.sn.mynetname.net 443
۷. راهحل جایگزین (Bridge NAT Issue)
اگر باز هم مشکل ادامه دارد، میتوانید پورت 1199 را روی روتر به پورت دیگری روی دستگاه دیگری نگاشت کنید:
- یک قانون NAT تعریف کنید:
- Dst. Port: 1199
- To Address: 192.168.80.1
- To Ports: 1199
اگر با این تغییرات باز هم مشکل ادامه داشت، لطفاً لاگهای کلاینت OpenVPN را ارسال کنید تا دقیقتر بررسی کنم. 😊
نتیجه بررسی مشکل از دستورات keepalive 10 60 ping-timer-rem است که مانع کانکت میشد
ممنون که نتیجه بررسی را به اشتراک گذاشتید! به نظر میرسد تنظیمات مربوط به keepalive و ping-timer-rem در فایل کانفیگ شما باعث ایجاد مشکل شده بودند. این دستورات نقش مهمی در مدیریت ارتباط پایدار بین کلاینت و سرور دارند، اما در برخی سناریوها ممکن است با تنظیمات دیگر تداخل داشته باشند.
چرا این مشکل رخ داده است؟
keepalive 10 60
این دستور باعث میشود که کلاینت هر ۱۰ ثانیه یک بسته برای بررسی وضعیت ارتباط ارسال کند و اگر تا ۶۰ ثانیه پاسخی دریافت نکند، اتصال قطع شود. اگر تاخیر شبکه یا مشکلات دیگر وجود داشته باشد، این تنظیم میتواند منجر به قطع غیرضروری ارتباط شود.ping-timer-rem
این دستور مربوط به مدیریت تایمر پینگ است. گاهی اوقات با تنظیمات keepalive و persist-tun/key تداخل دارد و باعث قطع ارتباط میشود.
رفع مشکل با تنظیمات جایگزین
برای جلوگیری از این مشکل، میتوانید از این تنظیمات جایگزین استفاده کنید:
- حذف دستورات متداخل
دستورات زیر را از فایل کانفیگ حذف کنید:keepalive 10 60 ping-timer-rem
- استفاده از ping-restart به جای keepalive
دستور ping-restart را جایگزین کنید. این دستور مدیریت بهتری برای بازیابی اتصال فراهم میکند:ping 15 ping-restart 120
ping 15
: هر ۱۵ ثانیه یک پینگ ارسال میشود.ping-restart 120
: اگر پاسخی در ۱۲۰ ثانیه دریافت نشود، اتصال مجدداً برقرار میشود.
- تنظیم دوباره persist-key و persist-tun
این دستورات کمک میکنند تا تنظیمات تونل و کلیدها پس از قطع ارتباط حفظ شوند:persist-key persist-tun
تنظیم نهایی کانفیگ کلاینت
فایل کانفیگ شما پس از بهینهسازی به این شکل خواهد بود:
client
dev tun
proto tcp-client
remote 192.168.80.1 1194
remote 94550a7ad0d7.sn.mynetname.net 1194
resolv-retry infinite
nobind
ping 15
ping-restart 120
persist-key
persist-tun
remote-cert-tls server
auth-user-pass
cipher AES-128-CBC
auth SHA1
comp-lzo
verb 3
اگر اتصال برقرار شده و به اینترنت (مثل پینگ 8.8.8.8) دسترسی دارید، اما پینگ شبکه داخلی (192.168.80.x) وجود ندارد، احتمالاً مشکل به یکی از موارد زیر مربوط است:
۱. مشکل در تنظیمات روتر MikroTik
- مسیردهی (Routing)
اطمینان حاصل کنید که کلاینت VPN به شبکه داخلی مسیر (route) دارد. باید یک مسیر استاتیک برای شبکه داخلی اضافه شود:- وارد IP > Routes شوید و بررسی کنید که مسیری برای شبکه داخلی 192.168.80.0/24 با gateway مربوط به VPN وجود دارد.
- در غیر این صورت، این مسیر را اضافه کنید:
/ip route add dst-address=192.168.80.0/24 gateway=bridge1
- Firewall Rules
قوانین فایروال را بررسی کنید. ممکن است ارتباط بین اینترفیس VPN و شبکه داخلی مسدود شده باشد:- به IP > Firewall > Filter Rules بروید و مطمئن شوید قانونی برای input یا forward وجود ندارد که مانع دسترسی VPN به شبکه داخلی شود.
- اگر نیاز بود، قانون زیر را اضافه کنید:
/ip firewall filter add chain=forward src-address=192.168.81.0/24 dst-address=192.168.80.0/24 action=accept
۲. مشکل در تنظیمات DHCP یا NAT
- DHCP Server
اطمینان حاصل کنید که کلاینت VPN از آدرس شبکه داخلی (192.168.80.x) اطلاعات صحیح Gateway و DNS دریافت کرده است. اگر این اطلاعات بهدرستی پیکربندی نشدهاند، کلاینت نمیتواند به شبکه داخلی دسترسی پیدا کند. - Masquerade NAT
اگر VPN از Masquerade NAT استفاده میکند، این مسئله ممکن است باعث شود که کلاینت به شبکه داخلی دسترسی نداشته باشد. در این صورت:- به IP > Firewall > NAT بروید.
- بررسی کنید که قانون NAT فقط برای دسترسی به اینترنت اعمال شده باشد و نه شبکه داخلی.
۳. مشکل در کلاینت OVPN
- عدم تعریف مسیر داخلی
در فایل کانفیگ کلاینت، باید مسیر شبکه داخلی بهدرستی تعریف شده باشد:route 192.168.80.0 255.255.255.0
این خط را به فایل کانفیگ اضافه کنید و اتصال را دوباره امتحان کنید. - مشکل در Push Route از سمت سرور
ممکن است سرور MikroTik مسیر شبکه داخلی را به کلاینت VPN ارسال نکند. برای این کار:- به PPP > Profiles بروید.
- پروفایلی که به کلاینت OVPN اختصاص داده شده را ویرایش کنید و در قسمت Routes مسیر شبکه داخلی را اضافه کنید:
192.168.80.0/24
۴. تست مستقیم
- از دستگاه کلاینت VPN:
- دستور زیر را اجرا کنید و بررسی کنید که آیا مسیر شبکه داخلی وجود دارد:
route print
- باید خطی مانند زیر وجود داشته باشد:Copy code
192.168.80.0 255.255.255.0 Gateway-VPN
- اگر این خط وجود ندارد، فایل کانفیگ کلاینت را با دستور
route
اصلاح کنید.
- دستور زیر را اجرا کنید و بررسی کنید که آیا مسیر شبکه داخلی وجود دارد:
- اگر مسیر وجود دارد، پینگ یک دستگاه خاص در شبکه داخلی را بررسی کنید:
ping 192.168.80.10
۵. لاگها و بررسی بیشتر
- در MikroTik لاگها را بررسی کنید:
/log print
هرگونه پیام خطا مربوط به VPN یا فایروال را بررسی کنید. - از کلاینت OpenVPN نیز لاگها را دریافت کنید تا وضعیت ارتباط بررسی شود.
با استفاده از ovpn به شبکه وصل شده ایم اما دسترسی به شبگه داخلی نداریم .
راه حل :
ابرای تنظیم فایل کانفیگ کلاینت OVPN، میتوانید انواع مختلفی از روتها (Routes) را تعریف کنید تا دسترسی مناسب به شبکهها و اینترنت برقرار شود. در ادامه انواع روتها را با توضیحات آوردهایم:
۱. روت پیشفرض (Default Route)
این نوع روت باعث میشود که تمام ترافیک کلاینت (شامل اینترنت و شبکههای داخلی) از طریق VPN ارسال شود.
دستور:
redirect-gateway def1
- این دستور دو روت پیشفرض برای کلاینت ایجاد میکند که ترافیک اینترنت از طریق تونل VPN عبور کند.
- برای دسترسی به اینترنت از طریق VPN ضروری است.
۲. روت استاتیک به شبکه خاص (Static Route)
برای دسترسی کلاینت فقط به یک شبکه خاص (مثل شبکه داخلی)، میتوانید روت استاتیک اضافه کنید.
دستور:
route 192.168.80.0 255.255.255.0
- این دستور به کلاینت میگوید که ترافیک مربوط به شبکه 192.168.80.0/24 را از طریق VPN ارسال کند.
- مناسب برای زمانی که نیاز به عبور ترافیک اینترنت از VPN نیست.
۳. روت چندگانه (Multiple Routes)
اگر چندین شبکه داخلی دارید، میتوانید برای هر کدام یک روت جداگانه تعریف کنید.
دستور:
route 192.168.80.0 255.255.255.0
route 192.168.81.0 255.255.255.0
route 10.0.0.0 255.255.255.0
- این حالت زمانی استفاده میشود که کلاینت نیاز به دسترسی به چند شبکه داخلی مختلف داشته باشد.
۴. روت با مشخص کردن گیتوی (Gateway Route)
اگر گیتوی خاصی در شبکه داخلی دارید که باید از آن استفاده شود، میتوانید آن را بهصورت دستی مشخص کنید.
دستور:
route 192.168.80.0 255.255.255.0 gw 192.168.80.1
- این دستور به کلاینت میگوید که برای دسترسی به شبکه 192.168.80.0/24 از گیتوی 192.168.80.1 استفاده کند.
۵. روت برای رد کردن شبکهای خاص (Exclude Route)
برای جلوگیری از ارسال ترافیک یک شبکه خاص از طریق VPN، میتوانید از route-nopull و سپس روتهای خاص استفاده کنید.
دستور:
route-nopull
route 192.168.81.0 255.255.255.0
- این تنظیم به کلاینت میگوید که هیچ روتی از سمت سرور دریافت نکند، اما همچنان میتواند به شبکه 192.168.81.0/24 متصل شود.
۶. روت برای استفاده از اینترنت لوکال (Local Internet Use)
برای حالتی که فقط شبکه داخلی از VPN عبور کند و اینترنت از شبکه اصلی کلاینت باشد.
دستور:
route 192.168.80.0 255.255.255.0
- در این حالت دستور
redirect-gateway def1
را حذف کنید تا اینترنت به VPN هدایت نشود.
۷. حذف روت پیشفرض (Disable Default Route)
اگر سرور VPN بهصورت پیشفرض کل ترافیک را هدایت میکند ولی شما نمیخواهید از این قابلیت استفاده کنید، میتوانید روت پیشفرض را غیرفعال کنید.
دستور:
route-nopull
route 192.168.80.0 255.255.255.0
- مناسب برای زمانی که فقط میخواهید به یک شبکه خاص دسترسی داشته باشید.
ترکیب چندین روت
شما میتوانید این دستورات را ترکیب کنید تا رفتار دقیقتری برای کلاینت تنظیم کنید. بهعنوان مثال:
redirect-gateway def1
route 192.168.80.0 255.255.255.0
route 192.168.81.0 255.255.255.0
این ترکیب باعث میشود:
- کل ترافیک اینترنت از VPN عبور کند.
- دسترسی به شبکههای داخلی نیز برقرار شود.
عیبیابی و نکات مهم
- بررسی جدول روت کلاینت
پس از اتصال، دستور زیر را در سیستم کلاینت اجرا کنید تا جدول روت را بررسی کنید:route print
- بررسی دسترسی به شبکهها
از کلاینت به آیپی گیتوی شبکه داخلی پینگ بزنید:ping 192.168.80.1
اگر همچنان مشکلی وجود داشت، لطفاً خروجی جدول روت و فایل کانفیگ کلاینت را ارسال کنید تا کمک بیشتری ارائه شود. 😊