آموزش جامع ساخت دی ان اس تحریم‌شکن و گیمینگ به زبان ساده با استفاده از Nginx و Dnsmasq

آموزش جامع ساخت دی ان اس تحریم‌شکن و گیمینگ به زبان ساده با استفاده از Nginx و Dnsmasq

در دنیای امروز که بسیاری از سرویس‌ها و وب‌سایت‌ها به‌دلیل تحریم‌های بین‌المللی برای کاربران ایرانی قابل دسترس نیستند، استفاده از دی‌ان‌اس تحریم‌شکن (Smart DNS) یکی از بهترین راه‌حل‌ها برای عبور از این محدودیت‌هاست. در این آموزش، به‌صورت گام‌به‌گام نحوه‌ی ساخت یک دی‌ان‌اس هوشمند با استفاده از Nginx و Dnsmasq را بررسی می‌کنیم.

دی ان اس تحریم‌شکن چیست؟

دی ان اس تحریم‌شکن نوعی سیستم دی‌ان‌اس هوشمند است که درخواست‌های DNS شما را بررسی کرده و در صورت نیاز، آن‌ها را به‌صورت خاص به مسیرهای غیربومی هدایت می‌کند. این سیستم فقط ترافیک مربوط به دامنه‌های خاص را از طریق سرورهای غیرایرانی هدایت کرده و باعث افزایش سرعت و بهینه‌سازی مصرف پهنای باند می‌شود.

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


پیش‌نیازها

قبل از شروع، به موارد زیر نیاز دارید:

  • یک سرور لینوکسی (Ubuntu یا Debian پیشنهاد می‌شود)

  • دسترسی root یا کاربر sudo

  • آشنایی ابتدایی با خط فرمان لینوکس


توضیحات کلی برای راه‌اندازی دی ان اس تحریم شکن و گیمینگ

دی ان اس ( DNS ) مخفف کلمه Domain Name Server بوده که آدرس دامنه‌ای که سیستم شما قصد اتصال به آن را دارد را به آی‌پی تبدیل می‌کند. یعنی هنگامی که شما تلاش برای باز کردن وبسایت google.com انجام می‌دهید، ابتدا سیستم شما از DNS می‌پرسد که آیپی این دامنه چیست که به آن متصل شوم و پس از دریافت آیپی، درخواست خود را به سمت آن ارسال می‌کند.
سرویس dnsmasq تنها وظیفه برگرداندن آدرس آیپی سرور مقصدی که شما قرار است به آن متصل شوید را دارد. این یعنی ما با راه اندازی یک سرویس دی ان اس شخصی می‌توانیم به سیستم خود و کاربران بگوییم که آدرس آیپی یک دامنه خاص چیز دیگری می‌باشد. این به ما کمک می‌کند که هنگامی که قصد باز کردن وبسایت‌های تحریم‌شده را داریم بجای آن‌که درخواست خودمان را به صورت مستقیم به آدرس آیپی آن وبسایت ارسال نماییم، آن را به سرور دیگری ارسال می‌کنیم که می‌رود همان محتوا را از سرور مقصد می‌گیرد و به ما برمی‌گرداند. اینطوری وبسایت مقصد آی‌پی واقعی ما را ندیده و نمی‌تواند تشخیص دهد که از یک کشور تحریم‌شده در حال ارسال درخواست به آن هستیم و در نتیجه تحریم دور زده می‌شود.
سرویس Nginx در اینجا نقش یک حرف بیار و ببر را بازی می‌کند. به این شکل که پس از آن‌که ما برای دسترسی به وبسایتی خاص مانند chatgpt.com به سرور خودمان درخواستمان را ارسال کردیم، Nginx متوجه درخواست ما برای باز نمودن chatgpt.com شده و محتوای این وبسایت را روی سرور ما دریافت کرده و سپس به ما برمی‌گرداند. 
به منظور افزایش سرعت سرویس دی ان اس تحریم شکن و گیمینگ خود توصیه ما استفاده از سرور ایران ابر کایا در کنار یک سرور خارج می‌باشد.

مرحله ۱: نصب Dnsmasq

Dnsmasq یک سرویس سبک برای DNS و DHCP است که برای اجرای یک DNS شخصی ایده‌آل است.

sudo apt update
sudo apt install dnsmasq

پس از نصب، فایل پیکربندی را ویرایش کنید:

sudo nano /etc/dnsmasq.conf

در این فایل، دامنه‌هایی که می‌خواهید از مسیر خاصی (مثلاً از طریق یک هدایت‌کننده درخواست‌ها یا آی‌پی غیرایرانی) هدایت شوند را مشخص کنید:

server=/netflix.com/YOUR_SERVER_IP 
server=/spotify.com/YOUR_SERVER_IP

مرحله ۲: پیکربندی Nginx به‌عنوان پراکسی معکوس

در این مرحله از Nginx برای هدایت ترافیک دامنه‌های خاص استفاده می‌کنیم:

sudo apt install nginx

سپس فایل کانفیگ nginx خود را باز نموده و محتوای زیر را داخل آن قرار دهید: ( این فایل معمولا در سیستم‌عامل‌های اوبونتو و دبیان در مسیر /etc/nginx/nginx.conf قرار دارد )

worker_processes  auto;
load_module /usr/lib/nginx/modules/ngx_stream_module.so;

events {
    worker_connections  15000;
    multi_accept off;
}

http{
    server {
            listen 80 default_server;
            listen [::]:80 default_server;
            server_name _;
            return 301 https://$host$request_uri;
    }
}

stream {
    server {
        resolver 1.1.1.1 ipv6=off;
        listen 443;
        ssl_preread on;
        proxy_pass $ssl_preread_server_name:443;
    }
}
( این فایل از پروژه متن بازی در گیت‌هاب کپی شده است. )

فایل را ذخیره کرده و سپس Nginx را ریستارت کنید:

sudo systemctl restart nginx

مرحله ۳: ترکیب Dnsmasq با Nginx

حالا کافی است تنظیمات Dnsmasq را طوری تنظیم کنید که دامنه‌های خاص به Nginx هدایت شوند. برای این کار می‌توانید یک آی‌پی لوکال یا خارجی برای هدایت درخواست‌ها مشخص کنید.


مرحله ۴: تست و اطمینان از عملکرد

برای اطمینان از عملکرد سیستم:

dig netflix.com @127.0.0.1

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


نتیجه‌گیری

با ترکیب Dnsmasq و Nginx می‌توانید یک دی ان اس تحریم‌شکن قدرتمند ایجاد کنید که امکان دسترسی به سایت‌های تحریم‌شده را با کمترین تأخیر فراهم می‌کند. این راه‌حل مناسب افرادی است که به‌دنبال سرعت بالا و کنترل بیشتر روی ترافیک اینترنت خود هستند.

همینطور می‌توانید از سرور‌های ویژه گیم ایران ابر کایا و یا سرور ایران ما بازدید نمایید.

    آموزش جامع ساخت دی ان اس تحریم‌شکن و گیمینگ به زبان ساده با استفاده از Nginx و Dnsmasq | ابر کایا