131 lines
12 KiB
Markdown
131 lines
12 KiB
Markdown
---
|
||
title: چگونه نشتی DNS را چک کنیم و از آن جلوگیری کنیم
|
||
---
|
||
|
||
# چگونه نشتی DNS را چک کنیم و از آن جلوگیری کنیم
|
||
یکی از مهمترین مسائل در دنیای اینترنت،بحث امنیت و حفظ حریم خصوصی است. ما روزانه اطلاعات مهمی را از طریق
|
||
اینترنت رد و بدل میکنیم و نشت این اطلاعات به بیرون از شبکه، میتواند مشکلاتی را به دنبال داشته باشد. در این مقاله ما
|
||
قصد داریم درباره دو مورد از این مشکلات یعنی DNS Leakage و WebRTC Leakage بحث کنیم.
|
||
|
||
## نشتی DNS یا DNS leakage چیست؟
|
||
|
||
به طور معمول، درخواستهای شما به سمت سرورهای DNS ارائهدهنده سرویس اینترنت (ISP) شما ارسال میشود و ISP
|
||
ها معمولا درخواستها را به سرورهای عمومی DNS ارسال میکنند. اما وقتی به VPN متصل
|
||
میشوید، این درخواستها به سرورهایی متفاوت با سرورهایISP ارسال میشوند. نشت DNS زمانی اتفاق میافتد که یک
|
||
VPNبه درستی از شما محافظت نکند و درخواستهایDNS، سابقه مرور و شاید آدرسIPدستگاه شما را در اختیار دیگران
|
||
قرار دهد.
|
||
|
||
|
||
## نحوه تست نشتی DNS
|
||
وبسایتهای زیادی برای تست نشتی DNS وجود دارند که میتوانید از آنها استفاده کنید. در این مقاله ما چند نمونه از آنها را بررسی میکنیم.
|
||
|
||
### ۱. وبسایت DNSleaktest.com :
|
||
به هنگام ورود در صفحه اول [این سایت](https://dnsleaktest.com/) IP شما نمایش داده میشود. کمی پایینتر از آن، دو گزینه Standard Test و Extended Test وجود دارد. در Standard Test، فقط سرورهای DNS محلی و سرور DNS شرکت اینترنتی شما بررسی میشوند اما در Extended Test، علاوه بر سرور DNS شرکت اینترنتی شما و سرور های DNS محلی، به تست کردن سرورهای DNS در سراسر جهان نیز پرداخته میشود. در نتیجه، Extended Test به شما کمک میکند تا ترافیک DNS خود را در حین استفاده از VPN بهتر بررسی کنید. در تصویر زیر ما بر روی گزینه Extended Test زده تا فرآیند ارزیابی شروع شود.
|
||
|
||

|
||
|
||
|
||
پس از اتمام ارزیابی چنانچه لیست سرورهای نمایش داده شده در قسمت نتایج، با سرورهای DNS ارائه دهنده سرور مطابقت داشته باشند، نشتی DNS نخواهید داشت. به بیان سادهتر اگر لیست سرورهایی که نشان داده میشوند، همگی با لوکیشن سرور VPN شما مطابقت داشته باشند، به این معنی است که تمام ترافیک DNS ؤما از طریق سرور DNS شبکه VPN شما عبور کرده و هیچ نشتی DNSی رخ نداده است. در غیر اینصورت شما نشتی DNS دارید.
|
||
|
||
در تصویر زیر همانطور که مشاهده میکنید لیست سرورهای نمایش داده شده با سرورهای DNS ارائه دهنده سرور و لوکیشن سرور VPN ما مطابقت دارند. پس در نتیجه ما اینجا نشتی DNS نداریم.
|
||
|
||

|
||
|
||
|
||
### ۲. وبسایت Browserleaks.com
|
||
پس از ورود به این وبسایت وارد بخش [DNS Leakage Test](https://browserleaks.com/dns) شده، وبسایت به صورت خودکار شروع به ارزیابی کرده و پس از ارزیابی نتایج آن را نمایش میدهد.
|
||
|
||
در تصویر زیر نیز مثل سایت قبلی لیست سرورهای نمایش داده شده با سرورهای DNS ارائه دهنده سرور و لوکیشن سرور VPN ما مطابقت دارند. پس در نتیجه ما نشتی DNS نداریم.
|
||
|
||
|
||

|
||
|
||
|
||
### ۳. وبسایت ipleak.net
|
||
پس از ورود، [این وبسایت](https://ipleak.net) به صورت خودکار شروع به ارزیابی کرده و پس از ارزیابی نتایج آن را نمایش میدهد.
|
||
در تصویر زیر نیز مثل در سایت قبلی، سرور نمایش داده شده با سرور DNS ارائه دهنده سرور و لوکیشن سرور CPN ما مطابقت دارد. پس در نتیجه نشتی نداریم.
|
||
|
||

|
||
|
||
|
||
|
||
### ۴. وبسایت Dnsleaktest.org
|
||
پس از ورود به این وبسایت وارد بخش [DNS Leak Test](https://dnsleaktest.org/dns-leak-test) شده تا ارزیابی به صورت خودکار شروع شود. پس از ارزیابی، نتایج آن نمایش داده میشود.
|
||
|
||

|
||
|
||
|
||
|
||
در تصویر زیر برخلاف سایتهای قبلی علاوه بر سرورهای DNS ارائه دهنده سرور، سرورهایی در لیست وجود دارند که متعلق به سرور VPN ما نمیباشند و لوکیشن واقعی ما را نشان میدهند؛ پس در نتیجه نشتی DNS داریم.
|
||
|
||
> نکته: همواره توصیه میشود که برای بررسی نشتی DNS خود از چندین سایت مختلف برای تست استفاده کنید تا از عدم نشتی DNS خود اطمینان حاصل نمایید.
|
||
|
||

|
||
|
||
|
||
## رفع نشتی DNS
|
||
برای رفع نشتی DNS، میتوانید از روشهای زیر استفاده کنید:
|
||
### ۱. استفاده از DNS سرورهای امن:
|
||
بهتر است از DNS سرورهای امن و معتبری مانند Google DNS (8.8.8.8 , 8.8.4.4) و یا Cloudflare DNS (1.1.1.1 , 1.0.0.1) استفاده کنید. شما میتوانید DNS سرورهای خود را بر روی این DNSها تنظیم کنید.
|
||
|
||
### تنظیم DNS در سرور ابونتو
|
||
|
||
برای رفع مشکل dns در ابونتو ابتدا باید فایل تنظیمات را ادیت کنید. در ترمینال این کد را اجرا کنید:
|
||
|
||
```
|
||
sudo nano /etc/resolv.conf
|
||
```
|
||
|
||
ویرایشگر متنی فایل تنظیمات را برای شما باز کرده. باید مقادیر مربوط به nameserver ها را روی dns های معتبر بذارید. همه اطلاعات را پاک کنید این دو خط را اضافه کنید:
|
||
|
||
```
|
||
nameserver 8.8.8.8
|
||
nameserver 1.1.1.1
|
||
```
|
||
|
||
برای ذخیره ctrl+s و برای خروج ctrl+x بزنید.
|
||
کار تمام است!
|
||
|
||
### ۲. تنظیمات DNS در کلاینت:
|
||
بررسی کنید که تنظیمات DNS در کلاینت شما به درستی پیکربندی شده باشد و DNS سرورهای معتبری در آن تنظیم شده باشد.
|
||
|
||
### ۳. غیرفعال کردن IPv6 :
|
||
اگر از IPv6 استفاده نمیکنید، میتوانید آن را در تنظیمات سیستم خود غیر فعال کنید. IPv6 ممکن است باعث DNS leakage شود، بنابراین غیرفعال کردن آن میتواند به حل مشکل کمک کند.
|
||
|
||
### ۴. استفاده از برنامههای جانبی:
|
||
شما میتوانید از برنامههای جانبی مانند `DNSCrypt` یا `Simple DNS Crypt` استفاده کنید که به شما اجازه میدهند تا DNS خود را از طریق DNS سرورهای امن و رمزگذاری شده به طور خودکار پویش کنید.
|
||
|
||
|
||
## پروتکل WebRTC چیست؟
|
||
این کلمه مخفف Web Real Time Communications است و به معنای ارتباط فوری و بلادرنگ است. WebRTC یک پروژه منبع باز است که ارتباطات رسانهای بلادرنگ مانند انتقال صدا، ویدئو و دادهها را به طور طبیعی بین مرورگرها و دستگاهها امکان پذیر میکند و باعث میشود تا از داخل مرورگر وب اصلی خود بدون نیاز به پلاگینهای پیچیده یا سختافزار اضافی ارتباط برقرار شود. به طور معمول برنامههایی که از WebRTC استفاده میکنند مبتنی بر مرورگر هستند. با این حال، برنامههای مستقلی مانند Facebook Messenger و Whatsapp وجود دارد که از WebRTC استفاده میکنند.
|
||
|
||
|
||
|
||
## نشتی WebRTC چیست؟
|
||
- این نشتی نقطه ضعفی در مرورگرهای وب نظیر Chrom, Firefox و edge است که باعث میشود علیرغم استفاده از VPN ، امکان افشای آدرس آیپی واقعی شما وجود داشته باشد. وقتی شما با مرورگر به یک وبسایت سر میزنید، بین مرورگر و سایت ارتباط برقرار میشود و تبادل اطلاعات رخ میدهد. حالا در مواردی آن وبسایت با استفاده از این رخنه میتواند تونل رمزگذاری شده VPN را دور بزند و به آیپی واقعی شما برسد.
|
||
-
|
||
## نحوه تست نشتی WebRTC
|
||
-وبسایتهای زیادی برای این تست وجود دارند که برای این کار میتوانید از آنها استفاده نمایید. در ادامه ما یک نمونه از آنها را بررسی میکنیم.
|
||
|
||
### وبسایت Browserleaks.com
|
||
|
||
پس از ورود به آن وارد بخش[ WebRTC Leak test](https://browserleaks.com/webrtc) شده، وبسایت به صورت خودکار شروع به ارزیابی میکند و پس از آن نتایج نمایش داده میشود.
|
||
|
||
در تصویر زیر میبینیم که با وجود استفاده از VPN، آدرس آیپی واقعی تشخیص داده شده است، پس ما نشتی داریم.
|
||
|
||

|
||
|
||
|
||
## رفع نشتی WebRTC
|
||
|
||
برای رفع نشتی WebRTC ، در مرورگر خود میتوانید از روشهای زیر استفاده کنید:
|
||
|
||
### ۱. مرورگر Firefox :
|
||
کافیست عبارت `About:config` را در نوار آدرس URL تایپ کنید و اینتر بزنید. سپس در ادامه دکمه `Accept the Risk and Continue` را بزنید. اکنون` media.peerconnection.enabled` را در نوار جستجو تایپ کنید و روی موردی که نمایش داده میشود دوباره کلیک کنید تا مقدار آن از `True` به `false` شود.
|
||
|
||
### ۲. مرورگر Chrome و Edge :
|
||
در این مرورگرها کافیست افزونه [`WebRTC Leak Prevent`](https://chrome.google.com/webstore/detail/webrtc-leak-prevent/eiadekoaikejlgdbkbdfeijglgfdalml?hl=en) استفاده کنید. پس از نصب تنظیمات `IP handling policy` را بر روی `Disbale non-proxied UPD` بگذارید.
|
||
|
||
### ۳. مرورگر Safari :
|
||
اگر از Safari استفاده میکنید، میتوانید WebRTC را در منوی `Preferences` غیر فعال کنید. هنگامی که وارد آن شدید، به تب `Advanced` در پایین بروید و تیک گزینه `Show Desktop menu in bar menu` را بزنید. پس از آن روی `Develop` کلیک کرده و `Experimental Features` را انتخاب کنید. گزینه `Remove Lagacy WebRTC API` را پیدا کنید و روی آن کلیک کنید تا WebRTC غیرفعال شود.
|