Linux dünyasına adım attım atalı bir DNS sorunsalı duymuşumdur. Ya DNS’ler çalışmaz, ya nasıl yazılacağı bilinmez, yada DNS’ler yazılır, ama PC restart edilince hiç kaydedilmemiş gibi eski haline geri döner. Genel bilinen anlamı ile kısaca üzerinden geçeyim istiyorum. yoksa teknik olarak DNS nedir, amaçları nedir, resolving nasıl olur gibi soru ve sorunlarınız varsa öncelikle şu adresi okumanızı öneririm;
https://tr.wikipedia.org/wiki/DNS
Halk dilinde DNS değiştirme konusu konuşulunca biliriz ki yasak yada Türkiye’ye yayın yapmayan sitelere giriş amacı anlaşılır. Bu operasyon özellikle youtube’un yasaklanması ve başbakanın “ben girebiliyorum” açıklaması ile tavan yapmıştır.
Linux üzerinde nasıl DNS değiştiririz?
Ben her daim bu işlemleri konsol üzerinden yapmayı tercih ediyorum. Önce konsol üzerinden root yetkilerimizi alıyoruz. Bunu için yazmamız gereken;
sudo su
sonra dilediğimiz bir metin editörü ile dns kayıtlarının bulunduğu /etc/resolv.cfg dosyasını açıyoruz.
nano /etc/resolv.conf
dosya içine kullanacağımız dnsleri yazıyor, kaydedip çıkıyoruz. Şahsen ben google’a ait nameserverları tercih ediyorum.
nameserver 8.8.8.8
nameserver 8.8.4.4
siz alternatif olarak theos , neustar , opendns yada norton‘a ait dns’ler kullanabilirsiniz.
Genelde atlanan konu bu değişimin yapılıp kaydedilmesinden sonra dosyanın bu değişimi sonraki oturumlarda korumasının sağlanmasıdır.
Nano ile kaydedip kapattıktan sonra, bilgisayarınız kapatıp açtığınızda DNS’lerin kaybolmaması için dosyayı değişikliğe dair kilitlemeniz gerekiyor.
chattr +i /etc/resolv.conf
Bu değişikliği bilgisayarınızı açıp kapamadan görmek istiyorsanız network servisinizi yada sürümünüze göre yöneticinizi tekrar başlatmanız yeterlidir;
/etc/init.d/networking restart
yada
/etc/init.d/network-manager restart
Artık istediğiniz siteye girebiliyor olmalısınız.
Ek olarak, /etc/resolv.conf dosyanızı kilitlediniz, bu sebeple bir daha yazı yazamazsınız. Tekrar yazı yazmak isterseniz dosyanızın kilidini açmanız gerekir. Bunu için yapmanız gereken;
chattr -i /etc/resolv.conf
Genel kullanım olarak chattr ile ilgili detaylı bilgi gerekebilir. Kullanımı hakkında bilgi sahibi olmak isteyebilirsiniz. Bunun içinse şu adres iyi gibi görünüyor;
http://belgeler.gen.tr/man/man1/man1-chattr.html
Herkese iyi çalışmalar
Hakan Müştak
Software Developer
14/08/2013 – 20:42 EKLEME
Tekrar merhaba,
Yorumdaki soruya/soruna, makalenin bir parçası olması için burada cevap vermek istedim.
Açıkcası resolv.conf dosyası ile ilgili başıma benzer bir sorun gelmedi. Bende merak ettim biraz araştırdım. Çözümü buldum.
Öncelikle resolv.conf dosyamızın adını değiştireceğiz/taşıyacağız;
mv /etc/resolv.conf.YEDEK
sonra text editorle yeni bir resolv.conf dosyası yazacağız. Ben mint üzerindeyim ve pluma‘yı kullanıyorum, siz gedit yada nano kullanabilirsiniz;
pluma /etc/resolv.conf
boş bir text dosya açılmış olmalı. Sonra yukarıda nameserver yazdığımız yerden devam ediyoruz.
Başka bir sorun olursa, gene dönüşlerinizi bekliyorum. Hep birlikte çözelim.
Herkese iyi çalışmalar
Dosyayı kilitlemek isterken hata alıyorum. Restart etsemde dnsler devreye girmiyor. Sorun ne olabilir?
Hata şu :
chattr: Operation not supported while reading flags on resolv.conf
Üstte konuya ekleyerek sorunuza çözümü yazdım, geri dönüşünüzü bekliyorum.
Bende de aynen şu hata vardı:
chattr: Operation not supported while reading flags on resolv.conf
Dediğiniz gibi, yeni dosya yaratınca problem çözüldü. Fakat neden böyle oldu acaba? Müsait bir zamanda bu iki dosyayı incelemek lazım.