هشدار: این مطلب قدیمی است و ممکن است رایانهٔ شما را خراب کرده، یا گربههایتان را بکشد!
DNS های مشهور:
2 نوع از معروفترین و امن ترین فراهم کنند گان DNS در دنیا عبارتند از:(البته بیشتر از این 2 تا وجود دارد)
OpenDNS 208.67.222.222 and 208.67.220.220
Google Public DNS 8.8.8.8 and 8.8.4.4
مراحل تغییر DNS در ابونتو:
مرحله 1:
برای پیکریندی دی ان اس ها در ابونتو باید فایل resolv.conf را به ترتیب زیر ویرایش کنیم:
sudo gedit /etc/resolv.conf
در تصویرحاصل آدرس DNS مورد نظر خود مطابق نظم موجود وارد میکنید:(در انتخاب DNS ازاد هستید ولی به دلایلی OpenDNS بهتر است )
(http://setp113.persiangig.com/DNS/DNS-SET1.jpg)
مرحله 2
قفل کردن فایل حاوی DNS
در این مرحله باید فایل را قفل کنید زیرا سرویس دهنده های ISP- فراهم کننده های اینترنت طوری تنظیم شده اند که پس از اتصال شما به اینترنت DNS های خود را به جای آدرس های دی ان اس شما در فایل resolv.conf کپی میکنن.
برای جلوگیری از این کار باید فایل مورد نظر را با دستور chattr قفل نمایید.
برای این کار در ترمینال دستور زیر را وارد میکنیم:
sudo chattr +i /etc/resolv.conf
اگر پس از دستور فوق بدون هیچ خطایی کار انجام گرفت پس کار با موفقیت انجام شده اما معمولا پس از دستور فوق با خطای زیر روبرو میشوید:
chattr: Operation not supported while reading flags on /etc/resolv.conf
برای این کار تنها کافی است بسته resolvconf حذف کنیم.یعنی دستور زیر را اجرا میکنیم:
sudo apt-get remove resolvconf
با خیال راحت بسته مورد نظر رو حذف کنید سیستم را Reboot کنید. (یا sudo init 6 )
(می توانید قبل از ری استارت محتویات فایل resolv.conf را بررسی کنید تا ادرس های درون ان مطمئن شوید)
تا اینجا کار تغییر DNS به درستی صورت گرفته.
مرحله 3:
در این مرحله مجددا دستور chattr را اجرا میکنیم تااز قفل شدن فایل اطمینان حاصل شود.
sudo chattr +i /etc/resolv.conf
در این حالت با هیچ خطایی برخورد نمیکنیم.
نکته:
دستور sudo chattr +i /etc/resolv.conf یک فایل را برای lock-قفل میکند و امکان نوشتن در ان وجود نخواهد داشت لذا برای اینکه فایل را unlock کنید از اپشن -i استفاده کنید یعنی:
sudo chattr -i /etc/resolv.conf
فایل مورد نظر به حالت اولیه بر میگردد و دیگر قفل نخواهد بود.
مرحله 4:
بروزرسانی حافطه کش:
همانطور که قبلا اشاره شد پس از تغییر آدرس DNS و قفل کردن فایل سیستمرا Reboot کردیم تا حافطه کش بروز شود.
اما در صورتی که قصد ری استارت نداشته باشیم با برنامه کم حجم nscd می توانیم آن را بروز کنیم.برای این کار برنامه مورد نظر را نصب میکنیم.
sudo apt-get install nscd
(http://setp113.persiangig.com/DNS/DNS2-nscd2.jpg)
حال پس از نصب این دستور حافطه کش DNS را بروز رسانی میکند.
sudo /etc/init.d/nscd restart
(http://setp113.persiangig.com/DNS/DNS-nscd-refresh.jpg)
مرحله 5:
ایا من از DNS های تغییر داده شده (در اینجا OpenDNs) استفاده میکنم؟
برای این کار دستور nslookup را بکار میبریم:(برای یک سایت دلخواه)
nslookup varzesh3.com
(http://setp113.persiangig.com/DNS/DNS-test-nslookup.jpg)
همین طور که در تصویر مشاهد می کنید وفتی از سایت ورزش3 nslookup گرفتم ادرس DNS من را به درستی همان دی ان اس درون فایل resolv.conf نشان داد.(53# یعنی دی ان اس روی پورت 53 فعالیت میکند.)
مرحله 6:
جلوگیری از نشت DNS : ( هم برای استفاده از تور و هم حالت عادی Firefox -حتی در حال استفاده از VPN)
در حین استفاده از تور (ثور) باید مواظب نشت DNS باشید در غیر این صورت امنیت شما زیر
سوال میره و ای اس پی سایت هایی که شما مراجعه میکنید رو لاگ میکنه و میفهمه کجا رفتین.
برای رفع این مشکل:
1-توی آدرس بار about:config
و تایت کنید
2-Network.proxy.socks_remote_dns
در صورت false بودن آن را true کنید.
نکته آخر:در مرورگر(ها)
TOr را هیچ وقت با SwitchProxy به کار نبرید فقط با Torbutton استفاده کنید.
خسته شدم.
سلام
تا اون جایی که من میدونم برای مرورگر IE هیچ راهکاری ارائه نشده و برای فایرفکس هم بیان شد.
اما در مرورگر کروم شما باید ویژگی DNS pre-fetching رو غیر فعال کنید.این ویژگی برای افزایش سرعت بارگذاری صفحات ایجاد شده که همین وِیژگی منجر به نشت هم خواهد شد.(به شکل دیگری وجود داره)
و فقط فایرفاکس به صورت دقیق از این مشکل جلوگیری کرده.
Error 105 (net::ERR_NAME_NOT_RESOLVED): The server could not be found.
در واقع به این دلیل:
The problem is caused by unreliable implementation of DNS caching or prefetching in Google Chrome
برای غیر فعال کردنش در ادرس زیر ،در قسمت سوم اموزش بر عکسش عمل کنید:
http://skyje.com/google-chrome-browsing-speed/ (http://skyje.com/google-chrome-browsing-speed/)
برای این کار دستور nslookup را بکار میبریم:(برای یک سایت دلخواه)
nslookup varzesh3.com
(http://setp113.persiangig.com/DNS/DNS-test-nslookup.jpg)
همین طور که در تصویر مشاهد می کنید وفتی از سایت ورزش3 nslookup گرفتم ادرس DNS من را به درستی همان دی ان اس درون فایل resolv.conf نشان داد.(53# یعنی دی ان اس روی پورت 53 فعالیت میکند.)
مودم من PPPoE تنظیم شده و DNSهای اوراکل (پرایمری) و openDNS (سکندری) رو ست کردم. از nslookup خروجی زیر رو میگیرم:
nslookup varzesh3.com
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer
Name: varzesh3.com
Address: 94.182.132.2
آیا ست کردن DNS در resolv.conf برای وقتی که مودم رو bridgeاستفاده میکنیم نیست؟
chattr: Operation not supported while reading flags on /etc/resolv.conf
برای این کار تنها کافی است بسته resolvconf حذف کنیم.یعنی دستور زیر را اجرا میکنیم:
sudo apt-get remove resolvconf
با خیال راحت بسته مورد نظر رو حذف کنید سیستم را Reboot کنید. (یا sudo init 6 )
resolvconf چه بسته ایه که حذفش میکنیم؟
(چند لحظه پیش با pppoeconf که کانکت شدم dns های isp رو توی resolve نوشت و من هم تغییر دادم و لاکش کردم :-X)