این راهنما به شما کمک میکنه که روی سرور خودتون تونل DNS راه بندازید.
تونل DNS دادهها رو داخل درخواستهای DNS رمزگذاری میکنه و چون DNS تقریباً هیچوقت فیلتر نمیشه،
حتی در زمان قطعی کامل اینترنت هم کار میکنه.
پروتکلهایی که نصب میکنیم:
- Slipstream + SOCKS (سریعترین - حدود 63 کیلوبایت بر ثانیه)
- Slipstream + SSH (برای اتصال SSH از طریق DNS)
- DNSTT + SOCKS (کلاسیک و پایدار - حدود 42 کیلوبایت بر ثانیه)
پیشنیازها:
1. یک سرور VPS با سیستمعامل ترجیحا بر پایه Debian/Ubuntu
- حداقل 1GB رم
- آیپی ثابت (مثال: 1.2.3.4)
- دسترسی root با SSH
برای خرید سرور از طریق یکی از لینک های زیر با توجه به موقعیت مد نظر اقدام نمایید :
سرور مجازی کلود هتزنر از موقعیت => آلمان و فنلاند
سرور مجازی از کشورهای آلمان ، فنلاند ، آمریکا ، هلند ، انگلیس ، فرانسه ، لهستان ، روسیه ، ترکیه و سنگاپور
2. یک دامنه (مثال: example.com)
- دامنه باید روی Cloudflare باشه
3. اپلیکیشن SlipNet برای موبایل (اندروید)
- دانلود از GitHub: github.com/anonvector/SlipNet/releases
مرحله ۱: تنظیم DNS در Cloudflare
وارد داشبورد Cloudflare بشید و دامنهتون رو انتخاب کنید.
به قسمت DNS > Records برید.
رکوردهای زیر رو اضافه کنید:
رکورد ۱: نوع A | نام: ns | مقدار: آیپی سرور | پراکسی: خاموش (DNS Only)
رکورد ۲: نوع NS | نام: t2 | مقدار: ns.example.com
رکورد ۳: نوع NS | نام: d2 | مقدار: ns.example.com
رکورد ۴: نوع NS | نام: s2 | مقدار: ns.example.com
مهم:
- رکورد A حتماً باید DNS Only باشه (ابر خاکستری، نه نارنجی)
- نام رکورد A حتماً "ns" باشه (نه "tns")
- به جای "example.com" دامنه خودتون رو بذارید
- به جای "آیپی سرور" آیپی واقعی سرورتون رو بذارید
مثال برای example.com:
A ns 1.2.3.4 (DNS Only)
NS t2 ns.example.com
NS d2 ns.example.com
NS s2 ns.example.com
توضیح سابدامینها:
t2 = Slipstream + SOCKS
d2 = DNSTT + SOCKS
s2 = Slipstream + SSH
مرحله ۲: اتصال به سرور
از طریق SSH به سرور وصل بشید:
ssh root@آیپی_سرور
مرحله ۳: نصب dnstm
dnstm (DNS Tunnel Manager) ابزاریه که همه تونلها رو مدیریت میکنه.
قبل از نصب، مطمئن بشید پورت 53 آزاده:
ss -ulnp | grep :53
- اگه خروجی خالی بود: پورت آزاده، برید مرحله بعد.
- اگه توی خروجی کلمه "systemd-resolve" رو دیدید: باید غیرفعالش کنید:
systemctl stop systemd-resolved
systemctl disable systemd-resolved
echo "nameserver 8.8.8.8" > /etc/resolv.conf
حالا dnstm رو نصب کنید:
# دانلود باینری dnstm
curl -fsSL -o /usr/local/bin/dnstm https://github.com/net2share/dnstm/releases/latest/download/dnstm-linux-amd64
chmod +x /usr/local/bin/dnstm
# نصب (حالت مولتی تونل - برای چند تونل همزمان)
dnstm install --mode multi
# بررسی نصب
dnstm --version
نکته: دستور install همه چیز رو خودکار انجام میده:
- دانلود باینریهای تونل (slipstream-server, dnstt-server, microsocks)
- ساخت کاربر سیستمی dnstm
- تنظیم فایروال (پورت 53)
- ایجاد سرویس DNS Router
- نصب و راهاندازی microsocks (پراکسی SOCKS5)
مرحله ۴: بررسی پورت 53
دستور dnstm install فایروال سرور رو تنظیم کرده.
ولی باید مطمئن بشید پورت 53 از بیرون قابل دسترسه.
بررسی کنید DNS Router داره گوش میده:
ss -ulnp | grep :53
باید چیزی شبیه این ببینید:
UNCONN ... 0.0.0.0:53 ... users:(("dnstm"...))
اگه خروجی خالیه، روتر رو استارت کنید:
dnstm router start
اگه فایروال سرور پورت 53 رو بلاک کرده:
# ufw
ufw allow 53/tcp
ufw allow 53/udp
# iptables
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
مهم:
- بعضی هاستینگها یک فایروال جداگانه دارن (مثل پنل وب).
حتماً پورت 53 UDP و TCP رو از اون پنل هم باز کنید.
- مطمئن بشید هم UDP و هم TCP باز هستن (فقط TCP کافی نیست!)
مرحله ۵: ایجاد تونلها
--- تونل ۱: Slipstream + SOCKS ---
دستور زیر رو اجرا کنید (دامنه خودتون رو جایگزین کنید):
dnstm tunnel add --transport slipstream --backend socks --domain t2.example.com --tag slip1
--- تونل ۲: DNSTT + SOCKS ---
dnstm tunnel add --transport dnstt --backend socks --domain d2.example.com --tag dnstt1
بعد از ایجاد DNSTT، کلید عمومی (Public Key) نمایش داده میشه.
این کلید رو یادداشت کنید! برای تنظیم کلاینت لازمه.
اگه بعداً خواستید کلید رو ببینید:
cat /etc/dnstm/tunnels/dnstt1/server.pub
--- تونل ۳: Slipstream + SSH ---
dnstm tunnel add --transport slipstream --backend ssh --domain s2.example.com --tag slip-ssh
مرحله ۶: فعالسازی سرویسها
روتر DNS و تونلها رو فعال کنید:
# فعالسازی DNS Router
dnstm router start
# فعالسازی تونلها
dnstm tunnel start --tag slip1
dnstm tunnel start --tag dnstt1
dnstm tunnel start --tag slip-ssh
بررسی وضعیت:
dnstm tunnel list
باید همه تونلها Running باشن.
مرحله ۷: بررسی SOCKS Proxy
تونلهای SOCKS به یک پراکسی SOCKS5 نیاز دارن.
دستور dnstm install در مرحله ۳ خودکار microsocks رو نصب و راهاندازی کرده.
بررسی کنید:
ps aux | grep microsocks
systemctl status microsocks
اگه microsocks در حال اجراست، همه چیز اوکیه.
اگه به هر دلیلی کار نمیکنه:
systemctl enable microsocks
systemctl start microsocks
مرحله ۸: ایجاد کاربر SSH تونل
این مرحله فقط برای تونل Slipstream+SSH لازمه.
اگه فقط Slipstream+SOCKS و DNSTT نصب کردید، این مرحله رو رد کنید.
ابتدا sshtun-user رو نصب کنید:
curl -fsSL -o /usr/local/bin/sshtun-user https://github.com/net2share/sshtun-user/releases/latest/download/sshtun-user-linux-amd64
chmod +x /usr/local/bin/sshtun-user
# اعمال تنظیمات امنیتی SSH (فقط یکبار لازمه)
sshtun-user configure
# اگه خطای "already configured" گرفتید یعنی قبلاً اعمال شده و نیازی نیست
ایجاد کاربر:
sshtun-user create نامکاربری --insecure-password رمزدلخواه
مثال:
sshtun-user create myuser --insecure-password MyP@ssw0rd
این کاربر فقط میتونه تونل SSH بزنه و دسترسی shell نداره.
مرحله ۹: تست و بررسی
--- تست ۱: بررسی پورت 53 از بیرون ---
از سایت check-host.net/check-dns استفاده کنید:
آدرس: ns.دامنهشما.com
اگه همه نودها جواب دادن، پورت 53 بازه.
--- تست ۲: بررسی DNS Resolution ---
از کامپیوتر خودتون (ویندوز):
nslookup t2.دامنهشما.com 8.8.8.8
nslookup d2.دامنهشما.com 8.8.8.8
یا روی لینوکس/مک:
dig @8.8.8.8 t2.دامنهشما.com A
اگه خطای SERVFAIL گرفتید، یعنی مشکلی هست (پورت 53 بسته یا DNS رکوردها غلطه).
اگه جواب خالی بود بدون خطا، یعنی همه چیز اوکیه.
(تونل DNS جواب A نمیده، فقط ترافیک تونل رد میکنه)
--- تست ۳: بررسی پراکسی SOCKS ---
روی سرور:
curl --socks5 127.0.0.1:19801 https://api.ipify.org
باید آیپی سرورتون رو نشون بده.
--- تست ۴: بررسی سرویسها ---
dnstm tunnel list
dnstm router status
همه تونلها باید Running باشن.
مرحله ۱۰: تنظیم کلاینت (اپلیکیشن SlipNet)
اپلیکیشن SlipNet رو روی گوشی اندروید نصب کنید.
--- اضافه کردن Slipstream + SOCKS ---
1. روی + بزنید
2. نوع تونل: Slipstream
3. دامنه: t2.دامنهشما.com
4. DNS Resolver: 8.8.8.8:53
(یا هر resolver دیگهای مثل 1.1.1.1:53)
5. SSH رو غیرفعال بذارید
6. ذخیره و اتصال
--- اضافه کردن Slipstream + SSH ---
1. روی + بزنید
2. نوع تونل: Slipstream SSH
3. دامنه: s2.دامنهشما.com
4. DNS Resolver: 8.8.8.8:53
5. SSH فعال:
- Username: نامکاربری که ساختید
- Password: رمزی که ساختید
- Port: 22
6. ذخیره و اتصال
--- اضافه کردن DNSTT + SOCKS ---
1. روی + بزنید
2. نوع تونل: DNSTT
3. دامنه: d2.دامنهشما.com
4. DNS Resolver: 8.8.8.8:53
5. کلید عمومی: (کلید DNSTT سرور)
6. ذخیره و اتصال
نکات مهم
1. ریزالورهای DNS:
میتونید از ریزالورهای مختلف استفاده کنید.
اگه یکی کار نکرد، بقیه رو امتحان کنید:
- 8.8.8.8:53 (Google)
- 1.1.1.1:53 (Cloudflare)
- 9.9.9.9:53 (Quad9)
- 208.67.222.222:53 (OpenDNS)
- 94.140.14.14:53 (,)
- 185.228.168.9:53 (CleanBrowsing)
185.49.84.2:53
176.65.231.61:53
5.198.178.125:53
91.106.67.82:53
188.213.66.140:53
193.228.90.34:53
212.80.16.72:53
185.129.118.121:53
193.228.136.129:53
5.202.255.21:53
185.140.58.2:53
185.140.59.186:53
89.45.89.250:53
185.165.30.119:53
91.92.209.75:53
=====================
نکات مهم
=====================
1. ریزالورهای DNS:
میتونید از ریزالورهای مختلف استفاده کنید.
اگه یکی کار نکرد، بقیه رو امتحان کنید.
2. سرعت:
- تونل DNS سرعت بالایی نداره (حدود 40-60 کیلوبایت بر ثانیه)
- فقط برای پیامرسانی، مرور وب ساده و ارسال پیام مناسبه
- برای دانلود فایل بزرگ یا تماشای ویدیو مناسب نیست
3. امنیت:
- ترافیک بین کلاینت و سرور رمزگذاری شده (TLS در Slipstream، Noise در DNSTT)
- کاربر SSH تونل دسترسی shell نداره و فقط تونل میزنه
4. اگه کار نکرد:
- اول مطمئن بشید پورت 53 UDP از بیرون باز و قابل دسترسه
- رکوردهای DNS رو چک کنید (A record حتماً ns باشه، نه tns)
- از ریزالور دیگهای استفاده کنید
- لاگ سرویسها رو بررسی کنید:
dnstm router logs
dnstm tunnel logs --tag slip1
dnstm tunnel logs --tag dnstt1
خلاصه ساختار سرور
Port 53 (UDP) --> DNS Router --> Route by subdomain
|
|-- t2.domain --> Port 5310 --> Slipstream --> SOCKS (19801)
|-- d2.domain --> Port 5311 --> DNSTT --> SOCKS (19801)
|-- s2.domain --> Port 5312 --> Slipstream --> SSH (22)
Client (SlipNet) --> DNS Query --> Public Resolver --> Your Server --> Tunnel --> Internet
لینکهای مفید
کانال تلگرامی آی آر سرور را دنبال کنید:
https://t.me/irserverco
- dnstm: https://github.com/net2share/dnstm
- sshtun-user: https://github.com/net2share/sshtun-user
- SlipNet: https://github.com/anonvector/SlipNet/releases
- Cloudflare: https://dash.cloudflare.com
