Resolv.conf dosyam neden her seferinde yeniden oluşturuluyor?


17

Benim /etc/resolv.confdosya benim 3G modemi yeniden bağlandığınızda bana Google DNS sunucularını gevşek yapma, her zaman rejenere olur.

DNS ayarlarını değiştirmek için http://code.google.com/intl/fr-FR/speed/public-dns/docs/using.html adresine baktım .

Benim dhclient.confoldukça büyük (58 satır), bu yüzden bunu pastebin'e gönderdim .

Ancak, dhclient.confyorum satırları veya boş satırlar olmadan tümü :

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

wvdialAğ Yöneticisi yerine kullanıyorum .


Ne yazık ki, hakkında hiçbir şey bilmiyorum wvdial. Bu noktada bundan veya henüz keşfedilmemiş başka bir paketin burada yer aldığından şüpheleniyorum. DNS, DHCP, arabirimler vb. İle temas edebilecek ağla ilgili başka uygulamalar veya araçlar yükleyip yüklemediğinizi biliyor musunuz?
belacqua

Yanıtlar:


6

12.04'te resolvconf varsayılan olarak kurulur. Bazı yaygın kullanım durumları için DNS yapılandırma değişikliklerinin nasıl yapılacağına dair kısa bir özet:

Kullanarak statik bir yapılandırma için ifup, dns-nameserversve dns-searchöğelerini kullanın /etc/network/interfaces.

Kullanarak statik yapılandırma için NetworkManager, Bağlantı Düzenleyicisi'ndeki ve alanlarına Automatic (DHCP) addresses only Methodadresleri ve etki alanı adlarını seçin ve girin .Additional DNS serversAdditional search domains

Resolvconf varsayılan yapılandırması, kullanım geçersiz kılmak için base, headve tailde /etc/resolvconf/resolv.conf.d/. Yukarıda açıklandığı gibi gerçekten başka bir yere ait oldukları için bu dosyalara adresleri ve alan adlarını yalnızca geçici bir önlem olarak girin.

Resolvconf'un devre dışı bırakılması önerilmez, ancak symlink'i değiştirebilirsiniz /etc/resolv.conf normal bir dosyayla değiştirebilirsiniz.

Daha fazla bilgi için Stéphane Graber'in blog gönderisine bakın .


4

Tek yapmanız gereken Google DNS sunucularınızı resolv.conf içinde tutmaksa, şunları düzenleyebilir
/etc/dhcp3/dhclient.confve ekleyebilirsiniz:

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

Sahip olduğunuz ve burada gösterdiklerim arasındaki tek fark, bahsettiğiniz dokümanlar uyarınca her iki ad sunucusunu tek bir satırda bulundurmanızdır.

Ben bir şey eksik sürece, dhclient.conf burada bir sorun değil. Bu noktada, sorunun wvdial ile ilgisi olduğunu varsayıyorum.

Ubuntuforums'tan denemek için bir şeyler :

gksudo gedit /etc/ppp/peers/wvdial

Usepeerdns parametresini KALDIR ve dosyayı kaydedin. Kod:

gksudo gedit /etc/wvdial.conf

şu satırları ekleyin:

check DNS = no
auto DNS = no

@jgbelacqua ben spearated satırlarda denedim ama işe yaramadı: P
Jakh Saidlikp

@Jakh Üstteki satırları yukarı doğru hareket ettirmenin de başarısız olduğunu varsayıyorum? (Benimkini böyle ayarladım.)
belacqua

@jgbelacqua evet ben de denedim;]
Jakh Saidlikp

@Jakh - request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;ad sunucularını kaldırmak için satırı düzenlemeyi denediniz mi?
belacqua

@jgbelacqu Şimdi hiç denemiyorum ve izin ver
Jakh Saidlikp

4

NetworkManger olmadan, statik bir adresle veya bağlantıdan bağımsız olarak bir ad sunucusu CLI aracılığıyla ayarlamanın en iyi yolu şudur:

Resolvconf paketini yükleyin .

Çalıştırmak

sudo nano /etc/resolvconf/resolv.conf.d/head

(korkunç uyarıyı yoksayın. /etc/resolv.conf otomatik olarak oluşturulur, bu nedenle uyarı oradadır, böylece /etc/resolv.conf oluşturulduğunda /etc/resolv.conf dosyasına konur.) Dosyanın sonuna kadar, Ekle

 nameserver <ip_of_nameserver>

Ctrl xDosyayı kaydetmek için evet tuşuna basın ve cevaplayın. İşlemi tamamlamak için /etc/resolv.conf dosyasını yeniden oluşturun, böylece değişiklikler şu anda uygulanır:

 sudo resolvconf -u

Resolv.conf dosyasına statik bir ad sunucusu adresi koymanın genellikle iyi bir fikir olmadığı da eklenmelidir. Lütfen /usr/share/doc/resolvconf/README.gz adresini okuyun.
jdthood

0

domain-name-serversDhclient.conf seçeneğini ayarlayabilirsiniz .


macununu kontrol et - zaten buna sahip gibi görünüyor.
18:11, belacqua

Teşekkürler, bunu fark etmedim. Bu arada, çözümünüz doğru olabilir, bu yüzden bir yorum yerine bir cevap olarak göndermeyi düşünün.
Adam Byrtek

merhaba @adam youplease daha açık olabilir im bir noob:] teşekkür ederim
Jakh Saidlikp

0

Aynı sorunu aşağıdaki komutlarla çözdüm:

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart

1
Sorunu bu şekilde çözmüş olabilirsiniz, ancak bu tamamen yanlış bir yapılandırmadır. /Vc/resolv.conf symlinking komutunu, resolvconf'un yapılandırma dosyalarından biri olan statik bir dosyaya dönüştürdünüz. Resolvconf'u devre dışı bırakmak istiyorsanız, symlink /etc/resolv.conf dosyasını silmek ve statik bir dosyayı buraya koymak çok daha kolay olacaktır.
jdthood

-1

muhtemelen paket resolvconf yüklüdür. bu durumda, bir arayüz geldiğinde, resolv.conf güncellenir. /etc/resolv.conf.tail dosyasını kullanarak statik girdiler ekleyebilirsiniz; daha fazla bilgi için resolv.conf için man sayfasına bakın.


noo ben bu paketi yüklü yok
Jakh Saidlikp

Resolvconf programı /etc/resolv.conf dosyasını günceller, ancak /etc/resolv.conf ../run/resolvconf/resolv.conf için sembolik bir bağlantıysa. Pek çok nedeni resolvconf paketi tanıtıldı diğer programlar kaos sonuçlanan birbirinden bağımsız /etc/resolv.conf üzerine bastığı bulundu. Lütfen /usr/share/doc/resolvconf/README.gz adresini okuyun. Bu nedenle /etc/resolv.conf dosyasının güncellenmiş olmasından dolayı, resolvconf'un kurulduğunu (soru sorulduğunda Mart 2011'de) takip etmez. Büyük olasılıkla pppd dosyayı yeniden yazıyordu. (Bununla birlikte, Ubuntu 12.04'ten itibaren resolvconf temel sistemin bir parçasıdır.)
jdthood

-1

Aynı sorunu yaşadım, mobil sağlayıcımın sağladığı DNS sunucusu oldukça zayıftı, bu yüzden Google'ın DNS'sini kullanmak istedim. Ayrıca NetworkManager, mobil geniş bant bağlantılarını ele almak için gerçekten kötü bir iş çıkarıyor, bu yüzden wvdialbir zorunluluktur.

Ortaya çıktığı gibi /etc/resolv.confsembolik bir bağ ubuntu 12.10ve hatta belki de 12.04. Bundan sudo unlink /etc/resolv.confsonra yaptığım şey , yeni bir resolv.conftane vimveya seçtiğiniz bir düzenleyici oluşturabilir ve google'ın ad sunucularını veya tercih ettiğiniz diğer ad sunucularını ekleyebilirsiniz. Kaydet ve bitti.

Bir şeyi kırmaktan korkuyorsanız, mevcut symlink'i daha ls -la /etc/resolv.confönce yaparak yapabilirsiniz unlinking.

Umarım yardımcı olur.


@Downvoter, yorum yapmaya özen gösterin. Cevabım gerçekten kötü bir tavsiye ise, silmekten mutluluk duyarım. Lütfen neyi yanlış yaptığımı bilmeme izin ver. Teşekkürler
nikhil
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.