Yeniden başlatma sırasında kaybolmayacak resolv.conf satırlarını nasıl ekleyebilirim?

148

Sonunda 7.10'dan 12.04'e geçtim. Tamamlamak için son bir bölümüm var ama güldüm. Her sunucuda Kukla kullanıyorum ve geçmişte resolv.conf'daki bir kukla yöneticisi için bir nameserver adresi ve bir arama alan adı ekledim.

search puppetmaster.com
nameserver 192.168.1.XXX

Yeniden başlatıldığında 12.04'te resolv.conf'un üzerine yazılır. Bunlar için statik bir IP kullanamıyorum, böylece / etc / network / interfaces kullanarak bana yardımcı olacak bir sıfır noktasıdır.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

Bunu başa, kuyruğa veya tabanda işlemek için kararlı bir çözüm yolu var mı? Varsa, sunucumda çimdiklemek için kullanabileceğim örnekler var mı?

Herhangi bir yardım çok takdir edilir.

    
sordu Sam 28.06.2012 15:54

16 cevap

120

DNS sunucunuzun "kukla" ı doğru adrese çözebilmesi ve DHCP sunucunuzun DNS ad sunucusu adresini ve arama listesini elden bırakması veya (statik IP adresleriniz varsa) olması daha iyi olabilir. / etc / ağ / arabirimlerinde aşağıdaki gibi bir şey var.

iface eth0 inet static
    address 192.168.3.3
    netmask 255.255.255.0
    gateway 192.168.3.1
    dns-search example.com
    dns-nameservers 192.168.3.45 192.168.8.10

Ancak, eğer resolvconf konfigürasyon dosyaları ile yapmak istiyorsanız, /etc/resolvconf/resolv.conf.d/base 'yi düzenlemek isteyeceksiniz. Bu dosyada, bilgilerinizi resolv.conf olarak yaptığınız gibi koyun.

nameserver 192.168.1.XXX

Ardından resolvconf'un resolv.conf değerini yeniden üretmesini söyleyin.

sudo resolvconf -u
    
verilen cevap tgm4883 28.06.2012 17:35
32

Yanıtın /etc/dhcp/dhclient.conf ’nizi kontrol ettiğini, yani dhcp istemcinizden dns-nameservers istemediğini düşünüyorum.

Ardından /etc/network/interfaces 'yı güncelleyin

auto eth0
iface eth0 inet dhcp
dns-search google.com
dns-nameservers dnsserverip

Ardından, resolv.conf 'si otomatik olarak istediğiniz şekilde yapılandırılır.

dns-search 'ye ekleyin ve sonra /etc/init.d/networking restart dosyasını çalıştırın (bu betiğin hala kullanımdan kaldırılmış olmasına rağmen).

    
verilen cevap Jamin 26.11.2012 02:58
18

Bu, Ubuntu'yu ilk yüklediğinizde DHCP yapılandırmasından kaynaklanıyor olabilir. Bu otomatik yapılandırma sorununu çözmek için bu 3 adımlı işlemi deneyin.

İlk

Bulunan arayüz yapılandırmanızı düzenleyin: /etc/network/interfaces

Bu satırı iface lo inet loopback altına ekle:

dns-nameservers yourdns youraltdns

Google DNS için bir örnek olarak şunu kullanabilirsiniz:

dns-nameservers 8.8.8.8 8.8.4.4

İkinci

Şu adreste bulunan DHCP yapılandırma dosyanızı düzenleyin:

/etc/dhcp/dhclient.conf

Sözdizimini, her satırda # kullanarak yorum olarak işaretle ya da her istek adı-sunucusunu kaldırmanız yeterlidir. 16.04'te, burada herhangi bir değişiklik yapmanız gerekmeyebilir.

Üçüncü

Bu komutu kullanarak ağınızı yeniden başlatın:

/etc/init.d/networking restart

16.04’te:

sudo ifdown -a
sudo ifup -a
    
verilen cevap astrajingga 20.06.2013 03:50
7

Lütfen resolvconf 'nin man sayfasına bakın. Belirli DNS ayarlarının eklenmesi, ör. % Co_de:%

  /etc/resolvconf/resolv.conf.d/base
          File containing basic resolver information.  The lines  in  this
          file  are  included in the resolver configuration file even when
          no interfaces are configured.

Başka özel dosyalar var (kafa ve kuyruk), bunlar istediğinizi elde etmenize yardımcı olabilir.

    
verilen cevap roadmr 04.09.2012 16:26
4

Benim için yukarıdaki cevaplar aşağıdaki nedenlerle yetersizdi:

  • resolvconf kullanmıyorum, sadece /etc/resolv.conf .
  • .
  • chattr +i 'yi kilitlemek için resolv.conf değerini kullanmak çok zor görünüyor. Gerektiğinde değişiklik yapmakta özgür olmak için Kukla'ya ihtiyacım var.
  • AFAIK, /etc/network/interfaces değerini düzenleyen resolv.conf 'nin üzerine yazılmasını engellemez; Sadece yazılması gereken isim sunucularını belirtir. Benim için isim sunucularını belirtmek önemli değildi. % Co_de% ve options timeout:1 değerini options attempts:1 dosyamda ayarlamaya çalışıyorum.

en iyi çözüm Bulgu, belgelenmiş kancalarını kullanarak resolv.conf varsayılan davranışını geçersiz kılar.

Aşağıdaki içeriklerle dhclient adresinde yeni bir dosya oluşturun:

#!/bin/sh
make_resolv_conf() {
    :
}

Ardından dosyayı yürütülebilir yapın:

chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate

Artık dhclient çalıştığında - yeniden başlatıldığında veya /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate dosyasını manuel olarak çalıştırdığınızda - sudo ifdown -a ; sudo ifup -a bu betiği yükler. Bu komut dosyası, nodnsupdate adlı normalde make_resolv_conf() 'in üzerine yazacak ve bunun yerine hiçbir şey yapmayan dahili bir işlevi geçersiz kılar.

Bu, Ubuntu 12.04'te benim için çalıştı.

    
verilen cevap richardkmiller 05.03.2015 23:12
3

Diğer yanıtların çoğunun, bunun sisteminizde resolvconf yüklenerek yapılması gerektiği belirtiliyor.

Yeniden başlatma sırasında kaybolmayacak resolv.conf 'sinde bir şey tutmanın en iyi yolu, aşağıdaki gibi olan resolvconf yapılandırma dosyalarına dahil etmektir:

/etc/resolvconf/resolv.conf.d/

İçinde head dosyası için gidin. Yazdığınız her ne olursa olsun /etc/resolv.conf

üstünde yazılacaktır.

Yani her şey böyle bir şeye gidecek:

# echo nameserver 8.8.8.8 >> /etc/resolvconf/resolv.conf.d/head
# resolvconf --enable-updates
# resolvconf -u
    
verilen cevap Juan Javier Triff Cabanas 17.10.2016 15:59
2

ad sunucunuzu /etc/resolvconf/resolv.conf.d/head dosyasına ekleyin. Dosya, aldığınız iletiyi içeriyor:

8.8.8.8 ekledikten sonra bu dosya şöyle görünmelidir

[email protected]: ~ # cat /etc/resolvconf/resolv.conf.d/head 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
    
verilen cevap HVNSweeting 23.10.2012 12:43
2

Bu sadece makinemde tuhaf bir tuhaflık olabilir, ancak başkası aynı köşe kasasına sahip olabilir.

ISP ad sunucularının /etc/resolv.conf dosyasında başarılı olmaması için çok sayıda yol denedim:

  • Bunları /etc/network/interfaces dosyasına ekledim ve yeniden ağ oluşturdum. % Co_de% oranında görünmediler.

  • Açıkça /etc/resolv.conf koydum, ama tabii ki üzerine yazdılar. % Co_de% oranında gösterdiler, ancak hiçbir zaman /etc/resolv.conf 'sine ulaşmadı.

  • Dinamik güncellemeler için resolvconf'u yapılandırmayı denedim. Değişiklik yok.

Sonunda, yerel makinenin (127.0.0.1) /run/resolvconf/interface/eth0.inet oranında gösterilmesi durumunda diğer ad sunucularının dahil edilmediğini bir yerde okudum.

Çaresizlikten /etc/resolv.conf düzenledim, içindeki tek satırı sildim ( /etc/resolv.conf ) ve yeniden başlattı: /run/resolvconf/interface/lo.named .

/etc/resolv.conf daha sonra ISP ad sunucularına ilk defa dahil oldu! Kararlı olup olmadığını görmek için nameserver 127.0.0.1 çalıştırdım ve ISP ad sunucularını hala%%. Sadece emin olmak için yeniden başlatıldı ve hala var. ancak ifdown eth0 && ifup eth0 şu değere sıfırlandı: service network-manager restart .

Ağları merakla yeniden başlatmak hala çalışıyor: /etc/resolv.conf hala ISS ad sunucularını içeriyor. Bunu açıklayamıyorum (birisi olabilir mi?) Ama bu aynı noktada birisinin sıkışmasına yardımcı olabilir.

    
verilen cevap user297954 26.06.2014 07:18
1

Fedora 20 sistemimde diğer çözümler benim için çalışmadı. Benim sorunum, /etc/resolv.conf dosyasındaki "arama" satırının üzerine yazılmasıydı. İşte bunu düzeltti. (Bu, NetworkManager'ın hattı ürettiğini varsayar search rn.yourcompany.com ve bunun olmasını istiyorsanız % Co_de:%

1. Hangi arabirimin ilgilendiğini bulmak için "ifconfig" komutunu kullanın:

$ ifconfig
  :
  :

em2:  <this was the one which was connected>

2.Rober ol ve sistem yapılandırma ağı cihaz dizinine değiştir:

$ sudo su -[sudo] 
password for youruser:
# cd /etc/sysconfig/networking/devices'
  1. Aramak üzere ek alan adlarıyla bir search rn.yourcompany.com yourcompany.com intnet.yourcompany.com satırı eklemek için favori kullanılabilir düzenleyicinizi kullanın:

Domain

Kaydet, oturumu kapat ve tekrar giriş yap. NetworkManager şimdi DOMAIN="yourcompany.com intnet.yourcompany.com" satırında olmalı:

search rn.yourcompany.com yourcompany.com intnet.yourcompany.com
    
verilen cevap CBI 29.08.2014 16:54
0

Son satırı ekleyin, örneğin:

nameserver 8.8.8.8

Bir terminal açın ve

yazın
sudo chattr +i /etc/resolv.conf

+ i, dosyanın bir önyüklemede sıfırlanmayacağına dikkat eder.

Yukarıdakileri geri almak için

sudo chattr -i /etc/resolv.conf

Daha fazla bilgi için

man chattr
    
verilen cevap tanmay.01 23.02.2013 18:42
0

İngilizce çeviri:

Çözdüm. "sadece 12.4"

dns-nameserver'ı ad çözümleme sunucusunu almayan arayüzlere eklerseniz farkettim Buradaki yardım sayesinde sorunu çözdünüz.

İşte

El ile düzenlerken resolv.conf'un değişmemesi için bunu terminalde yapın:

sudo resolvconf –disable-updates

sonra:

sudo resolvconf -a eth0 # or your network Interfas

sonra elle /run/resolvconf/resolv.conf dosyasını düzenleyin

En fazla iki DNS sunucusu ekliyor. Teşekkürler Not; yeniden başlatmayı unutmayın:

sudo /etc/init.d/networking restart

Orijinal metin:

Yalnız ubuntu 12.4

Mi solucanı.

O ve que si anlatanlar dens-nameserver en arabirimler esta hayır sunucu veri tabanı de nucereleri

Gracias a la ayuda o el problema reseato için çok güzel bir çalışma.

İşte

Para hacer que resolv.conf 'un herhangi bir örneği yoktur.

sudo resolvconf –disable-updates

Despues:

sudo resolvconf -a eth0 # o tu interfas de red

luego editamos manuelmente /run/resolvconf/resolv.conf

agregando un maximo de 2 DNS sunucuları. saludos Polisi yok olvidar reiniciar:

sudo /etc/init.d/networking restart
    
verilen cevap enlinea777 04.09.2012 16:16
0

DHCP kullanıyorsanız, ek DNS sunucuları eklemek için /etc/dhcp/dhclient.conf değerini düzenleyin:

prepend domain-name-servers 12.34.56.78, 12.34.56.79;

DHCP istemcisi, dns-nameservers 'sindeki etc/network/interfaces ' nın üzerine yazıyor ve bence /etc/resolvconf/resolv.conf.d/base de.

Bu, Ubuntu sunucusunda 14.04.3'te çalıştı.

Ayrıntılar için Debian NetworkConfiguration Wiki 'ye bakın.

    
verilen cevap Kevin S. Miller 14.10.2015 15:38
0

Bunu en basit düzeltmeyi buldum. Eğer resolv.conf ve resolvconf dosyalarınız varsa, bunlar birbirlerine adım atacaklardır. Yeniden başlatmayı her başlattığınızda üzerine yazılan resolv.conf dosyasını kaldırmanız gerekir. 8.8.8.8 8.8.4.4 ismini resolvconf dosyasının altına koyun ve sonra komutu çalıştırın. Dosyadan kurtulmak için sudo rm /etc/resolv.conf . Sonra yeniden başlat ve her şey işe yarayacak.

    
verilen cevap Irv 19.10.2016 14:09
0

/etc/resolvconf/resolv.conf.d/head girdisini ekle

echo 'search puppetmaster.com' | sudo tee -a /etc/resolvconf/resolv.conf.d/head
echo 'nameserver 192.168.1.XXX' | sudo tee -a /etc/resolvconf/resolv.conf.d/head

ve aşağıdaki komutu çalıştırın

sudo resolvconf -u
    
verilen cevap siz 17.05.2016 15:22
-1

Sadece bir

koy
dns-search google.com && dns-nameservers (sample: 8.8.8.8)

/etc/network/interfaces yapılandırmanızda komut. sonra ağınızı yeniden başlatın.

Çalışmalı.

    
verilen cevap tesar 06.02.2015 10:15
-2

Bu yapılandırma /etc/default/bind9

olarak bildirildi
RESOLVCONF=no|yes

no = koşulu init.d bind9

uygulamasında uygulamayın

evet veya diğer değer = geçersiz kılma% resolv.conf

bind9 yüklediğinizde ve tüm conf'leri kontrol ettiğinizde bu sorun ortaya çıkıyor.

    
verilen cevap user147967 09.04.2013 11:40

Etiketlerdeki diğer soruları oku