جلوگیری از مسدود شدن آدرس IP سرور
در برخی شبکهها، آدرس IP سرور VPN تنها چند ساعت پس از راهاندازی مسدود میشود. با چند تغییر ساده، مسدود کردن سرور بسیار دشوارتر خواهد شد. کار را با اختصاص یک IP جداگانه برای ترافیک خروجی سرور شروع کنید تا متوجه شوید شبکه چگونه سرور شما را شناسایی میکند.
شبکه چگونه سرور VPN را شناسایی میکند؟
شبکه میتواند خود اتصال را شناسایی کند: از روی الگوی ترافیک، یا پاسخ سرور به کاوشگرها (Probing). قابلیت Cloak Mode ردپایی برای شناسایی باقی نمیگذارد. این قابلیت روی سرور شما فعال است و کاربران فقط باید آن را در اپلیکیشن خود روشن کنند.
یا از روی مقصد ترافیک، آن را شناسایی میکند. برخی کشورها از سیستمهای اعتبارسنجی استفاده میکنند: وقتی افراد زیادی از یک IP خارجی مشترک به بانکها، خدمات دولتی و دیگر سایتهای داخلی وصل میشوند، آن آدرس به عنوان VPN یا پراکسی شناسایی شده و به فهرست مسدودشدهها اضافه میشود.
یا اینکه شخص دیگری آن را لو میدهد! کلید دسترسی رمزگذاری نشده است و هر کسی آن را داشته باشد میتواند آدرس سرور را ببیند؛ بنابراین کلیدهای خود را تنها با افراد قابل اعتماد به اشتراک بگذارید.
استفاده از یک IP برای اتصال و یک IP برای خروج
به سرور دو آدرس IP عمومی اختصاص دهید، هر کدام برای یک وظیفه مشخص:
- IP اتصال (Connection IP): آدرسی است که اپلیکیشن کاربران به آن متصل میشود و همان آدرسی است که داخل کلیدهای دسترسی قرار دارد.
- IP خروجی (Outgoing IP): آدرسی است که ترافیک سرور از طریق آن به وبسایتها فرستاده میشود و تنها آدرسی است که وبسایتها مشاهده میکنند.
وبسایتها فقط میتوانند آدرسی را که میبینند گزارش کنند؛ بنابراین اگر آدرسی مسدود شود، فقط IP خروجی است و کاربران شما همچنان با آدرس دیگر متصل میمانند. حتی میتوانید IP خروجی مسدودشده را بدون نیاز به ارسال کلید جدید برای کاربران تغییر دهید، چون در هیچ کلیدی ثبت نشده است.
در VpnHood! SERVER تنظیمی برای IP خروجی وجود ندارد. سرور مانند هر برنامه دیگری روی سیستم به وبسایتها متصل میشود، بنابراین سیستمعامل تعیین میکند ترافیک از کدام آدرس خارج شود. شما IP خروجی را در سیستمعامل و IP اتصال را در VpnHood تنظیم میکنید.
افزودن آدرس IP دوم
یک آدرس IPv4 اضافی از ارائهدهنده هاستینگ خود تهیه کرده و طبق راهنمای آن به سیستم اضافه کنید. خارج از Docker، میتوانید این بخش را به سرور بسپارید: سرور بهطور خودکار آدرسی را که برای گوش دادن روی آن تنظیم شده اضافه میکند.
آدرس اصلی سیستم را به عنوان IP خروجی نگه دارید و آدرس جدید را به IP اتصال اختصاص دهید. از آنجا که سیستمعامل بهطور پیشفرض ترافیک را از آدرس اصلی ارسال میکند، نیازی به تغییرات زیاد نیست؛ حتی اگر دسترسی کاربران به آدرس اصلی قطع شود، این آدرس همچنان کارایی خود را برای خروج ترافیک حفظ میکند.
تنظیم IP خروجی
این دستور آدرسی را نشان میدهد که سیستم ترافیک خود را از آن ارسال میکند: همان آدرس بعد از src.
ip route get 1.1.1.1
خروجی، با 198.51.100.20 به عنوان IP خروجی
1.1.1.1 via 198.51.100.1 dev eth0 src 198.51.100.20 uid 0
cache
اگر به جای آدرس اصلی، آدرس جدید نمایش داده شد، سیستم برعکس تنظیم شده است. سادهترین راهحل، جابهجا کردن نقشهاست: از آدرس نمایشدادهشده به عنوان IP خروجی و از آدرس دیگر به عنوان IP اتصال استفاده کنید.
در Docker، سرور از شبکه سیستم میزبان استفاده میکند؛ بنابراین تنظیمات میزبان اعمال میشود.
در سرویسهای ابری مثل AWS، Google Cloud، Azure یا Oracle Cloud که سیستم فقط آدرسهای خصوصی دارد، هر IP عمومی به یکی از این آدرسها نگاشت میشود. از آدرسهای خصوصی روی سیستم و در تنظیمات گوش دادن سرور استفاده کنید، و IP اتصال عمومی را در کلیدها قرار دهید.
تنظیم سرور برای استفاده از IP اتصال
به VpnHood! SERVER مشخص کنید که فقط روی IP اتصال گوش دهد و تنها همین آدرس را در کلیدهای دسترسی قرار دهد. به این ترتیب، IP خروجی حتی در صورت بررسی و اسکن، پاسخی به عنوان سرور VPN نمیدهد.
هر دو را خودتان تنظیم کنید: در حالت پیشفرض، سرور چه در حالت مستقل و چه مدیریتشده، آدرس خود را از ترافیک خروجی تشخیص میدهد و ممکن است IP خروجی را انتخاب کند. راهنمای تنظیم آدرسهای IP سرور نحوه انجام این کار را نشان میدهد.
کلیدهایی که قبلاً صادر کردهاید حاوی آدرس قدیمی هستند. سرور را چند روز روی آن آدرس فعال نگه دارید تا اپلیکیشنها کلید جدید را بهطور خودکار دریافت کنند، سپس آن را حذف کنید: تا پیش از حذف، IP خروجی همچنان به عنوان سرور VPN پاسخ میدهد.
بررسی نتیجه
با یک دستگاه متصل شوید و آدرس IP خود را در سایتی که آن را نشان میدهد بررسی کنید. باید IP خروجی سرور را ببینید.
اگر IP اتصال بعد از آن در دسترس باقی بماند، شبکه سرور شما را از روی مقصد ترافیکش شناسایی میکرده است. اما اگر همچنان ظرف چند ساعت مسدود میشود، شبکه خود ارتباط را شناسایی میکند: از کاربران بخواهید Cloak Mode را فعال کنند و برای سرور یک دامنه اختصاص دهید.
اتصال از طریق دامنه
سرور بهصورت پیشفرض از یک گواهی خودامضا (self-signed) با نامی ساختگی استفاده میکند. یک دامنه اختصاصی به همراه گواهی معتبر از مراکزی مثل Let's Encrypt برای آن ثبت کنید تا ترافیک اتصال دقیقاً شبیه بازدید از یک وبسایت معمولی به نظر برسد.
استفاده از دامنه در صورت مسدود شدن IP سرور نیز مشکلگشاست. در این حالت کلیدها حامل دامنه خواهند بود و اپلیکیشنها با دامنه متصل میشوند؛ بنابراین اگر IP سرور تغییر کند، کافی است دامنه را به آدرس جدید هدایت کنید تا همه کلیدها بدون نیاز به تغییر همچنان کار کنند.
راهنمای اتصال از طریق دامنه نحوه انجام این کار را در سرورهای مستقل و سرورهای متصل به پنل مدیریت آموزش میدهد.
قرار دادن سرور پشت Reverse Proxy
در صورت امکان، میتوانید سرور را پشت یک Reverse Proxy یا CDN مانند Cloudflare قرار دهید تا کاربران بهجای اتصال مستقیم به IP سرور، به پروکسی متصل شوند. دسترسیپذیری و کارایی این روش به کشور و ارائهدهنده شبکه بستگی دارد.
مستثنی کردن سایتهای داخلی از عبور از سرور
از کاربران بخواهید گزینه کشور من مستثنی شود را در اپلیکیشن خود فعال کنند. با این کار، سایتهای داخلی مانند بانکها و سامانههای دولتی مستقیماً باز میشوند و الگوی مشکوک ترافیک خارجی برای سرور شما شکل نمیگیرد.