DNSCrypt (استمپهای SDNS)
سرور DNS از نوع sdns پرسشها را به یک resolver از نوع DNSCrypt میفرستد که با استمپ DNS آن
(رشتهای که با sdns:// شروع میشود) مشخص شده است. DNSCrypt هر پرسش و پاسخ را رمزنگاری و امضا
میکند. این یک سرور DNS است: "type": "sdns" در فهرست dns.servers.
چرا از آن استفاده کنیم
- شبکهٔ شما پاسخهای DNS ساده را تغییر میدهد یا مسدود میکند و DNS رمزنگاریشدهای میخواهید که از TLS یا HTTPS استفاده نکند.
- resolverی که به آن اعتماد دارید استمپ DNSCrypt منتشر میکند، مثلاً در فهرستهای عمومی resolverهای DNSCrypt.
چطور از فیلترینگ عبور میکند
فیلتر نمیتواند پرسشهای DNSCrypt را بخواند و نمیتواند پاسخها را بیآنکه تغییر شناسایی شود عوض کند. پس مسموم کردن DNS، که روشی رایج برای مسدود کردن سایتهاست، روی آن اثر ندارد.
این روش پنهان نمیکند که از DNSCrypt استفاده میکنید. نشانی resolver در استمپ هست و شکل ترافیک
شناختهشده است، پس فیلتر میتواند resolver یا خود پروتکل را مسدود کند. در این حالت پرسشها را با
detour از یک پراکسی بفرستید.
چطور کار میکند
- استمپ نشانی resolver، نام ارائهدهنده و کلید عمومی آن را در خود دارد.
- پیش از اولین پرسش، سرور گواهی فعلی resolver را میگیرد و آن را با کلید عمومی استمپ بررسی میکند. سپس پرسش رمزنگاریشده را میفرستد و پاسخ را رمزگشایی میکند.
- سرور گواهی را برای پرسشهای بعدی نگه میدارد، پس هر کدام یک رفتوبرگشت طول میکشد. وقتی گواهی منقضی شود، پرسشی ناموفق شود یا شبکه عوض شود، گواهی تازهای میگیرد.
- پرسشها روی UDP فرستاده میشوند. هر مرحله پس از ۱۰ ثانیه رها میشود.
- فقط استمپهای DNSCrypt کار میکنند. استمپ DNS over HTTPS، DNS over TLS یا DNS ساده هنگام
بارگذاری کانفیگ رد میشود. برای آن از نوع سرور
https،tlsیاudpاستفاده کنید.
پیکربندی
{
"dns": {
"servers": [
{
"type": "sdns",
"tag": "dnscrypt",
"stamp": "sdns://AQcAAAAAAAAA..."
}
],
"final": "dnscrypt"
}
}
| فیلد | نوع | پیشفرض | معنی |
|---|---|---|---|
stamp |
string | الزامی | استمپ DNSCrypt مربوط به resolver که با sdns:// شروع میشود. |
فیلدهای اتصال سرورهای DNS راه دور دیگر اینجا هم کار میکنند، مثلاً detour برای فرستادن پرسشها
از یک خروجی. نشانی سرور از استمپ گرفته میشود: server و server_port استفاده نمیشوند.