Resolv aracılığıyla bir DNS sunucusunu nasıl ekleyebilirim.conf?

Oluyor /etc/resolv.conf işe yaramaz Ubuntu 12.04 LTS (Kesin Pangolin)?

DNS sunucusu bilgilerinin şu adreste saklandığını görüyorum: Ağ Yöneticisi şimdi. Bu nmcli komut satırı aracı bunu sizin için listeleyebilir.

Bir tane daha eklemek istersem DNS sunucu, onu ekleyecek /etc/resolv.conf kullanarak resolvconf paket yardımı mı?

Eğer /etc/resolv.conf içeriyor nameserver 127.0.0.1 sonra girişleri ekleme /etc/resolvconf/resolv.conf.d/tail gerçekten işe yarar bir şey yapmaz.

NetworkManager kullanıyorsanız, bunun yerine statik olarak ad sunucusu adreslerini eklemeniz gerekir ağ göstergesi: Bağlantıları Düzenle... | Düzenlemek... / IPv4 Ayarları / Ek DNS sunucuları.

Eğer sen gerçekten daha fazla giriş eklemek ister misiniz /etc/resolv.conf oluşturma /etc/resolvconf/resolv.conf.d/tail ve onları oraya ekleyin.

Her Ubuntu sürümünde olduğu gibi, burada bulunan Ubuntu Sürüm Notlarını okumanız önerilir:

Masaüstü ve Ortak Altyapı bölümleri aşağıdakilere bir bağlantı içerir:

Başka bir yaklaşım buldum burada bu, aşağıdaki gibi bir satır eklemeyi içerir /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

Aynı şekilde, üçüncü bir yaklaşım buldum burada bu, satır eklemeyi içerir /etc/network/interfaces:

auto eth0iface eth0 inet static    . . .    dns-nameservers 8.8.8.8 8.8.4.4

Güncelleme: İşte resmi belgeler üçüncü yaklaşım için.

Resolvconf paketinden bahsediyormuşsunuz gibi geliyor.

Yüklemek resolvconf paket.

Koşmak

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

Dosyanın en üstünde korkunç bir uyarı var. /Etc/resolv dosyası.conf, bu dosyanın içeriğinden otomatik olarak oluşturulur; uyarı var, böylece /etc/resolv dosyasına konacak./etc/resolv olduğunda conf.conf oluşturulur. Dosyanın sonuna ekle

nameserver <ip_of_nameserver>

Basın Ctrl x ve dosyayı kaydetmeye evet cevabını verin. Bitirmek için /etc/resolv dosyasını yeniden oluşturun.conf yani değişiklikler şu anda uygulanıyor:

sudo resolvconf -u

Ardından /etc/resolv dosyasının içeriğini kontrol edin.eklediğiniz satırı görmek için conf şimdi orada. Ayrıca, hala hangisi daha önce olursa ya da şebeke servisi yeniden makine çizme dahaki sefere olacak.

Aşağıda Ubuntu Server edition'ı çalıştırdığımdan ve NetworkManager yerine ıfup kullandığımdan beri bulduğum en iyi yolu göstereceğim.

Aslında benim için bunu kolaylaştırdılar :) hepsini /etc/network /interfaces dosyasına koyarak. Çözümlemeye yazacağınız yapılandırmalarla aynı.conf artık aşağıdaki örnekte olduğu gibi ağ bağdaştırıcısı yapılandırmalarınızla aynı dosyada olabilir:

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface eth0 inet static        address 192.168.1.2        netmask 255.255.255.0        network 192.168.0.0        broadcast 192.168.1.255        gateway 192.168.1.1        dns-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

Umarım bu yardımcı olur ve benim için olduğu gibi kolaylaştırır, şimdi statik IP adresleri oluşturabilir ve ad sunucularını ve dns etki alanını tek bir dosyada ekleyebiliriz :)

Benimki Ubuntu Server 12.04 çalıştırıyor. Aşağıdaki değişiklikleri yaptım ve sunucuyu yeniden başlattım (genellikle bu yalnızca ağ arabirimini aşağı çekerek yapılabilir, yani, ifdown eth0 veya ifup eth0).

Dosyada /etc/resolvconf/resolv.conf.d/base Aşağıdaki girişleri ekledim:

nameserver 8.8.8.8nameserver 8.8.4.4

Umarım yukarıdakiler yardımcı olur!

Networkmanager'ı Frank'in cevabında belirtildiği gibi kullanabilirsiniz, ancak el ile düzenlemeyi tercih ederseniz /etc/resolv.conf bunu silerek (aslında bir sembolik bağdır) ve ardından istediğiniz içeriğe sahip yeni bir düz dosya oluşturarak yapabilirsiniz. Bu resolvconf yardımcı program yalnızca dosyaya yazar /run/resolvconf/resolv.conf.

Not: Bu yanıt, yalnızca istenen bir ad sunucusunu önceden beklemeye odaklanarak, Sorunun oldukça farklı, birleştirme öncesi bir sürümü içindi.

Bu 12.04 öncesi çalışır:

Düzenlemek /etc/dhcp3/dhclient.conf ve ekle :
prepend domain-name-servers 127.0.0.1;

(Aslında, bu satır zaten mevcut; yapmanız gereken tek şey yorumunu kaldırmaktır.)

resolvconf işe yaramaz. Bir Linux sunucusundayım ve benim IP adresi statik ve benim DNS sunucular statiktir. İhtiyacım yok resolvconf veya Ağ Yöneticisi.

Bir sunucu üzerinde çalışırken basit tutmak benim ilkemdir. Daha az karmaşıklık, daha kolay şeyler kırıldığında/düzeltme yönetmek olacak.

Ben de öyle yaptım aptitude purge resolvconf ve manuel olarak emin oldum /etc/resolv.conf değil bir sembolik bağ ve sadece statik bir dosya oluşturdu. Bir program dosyayı değiştirmeye çalışırsa diye yaptım. chattr +i (değişmez) için /etc/resolv.conf bir önlem olarak.

Yukarıdakilerin çoğu bozulmamış bir sisteminiz olduğunu varsayar, ancak gerçeklik genellikle farklı dhcp istemcileri kurduğunuz, Ubuntu'nun önceki bazı sürümlerinde ağ yöneticisini devre dışı bıraktığınız vb. Şeklindedir. Aşağıdakileri bilmek faydalı olabilir. Bir süredir dnsmasq kullanıyorum, ancak devre dışı bıraktım. Şu anda sistemim aşağıdaki içeriğe sahipti /etc/resolv.conf (bu sembolik bir bağlantıdır /run/resolvconf/resolv.conf sistemimde):

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

Ne sıklıkta koştuğum önemli değil. sudo resolvconf -u veya sudo dpkg-reconfigure resolvconf ad sunucusunu networkmanager'da ayarladıklarıma güncellemedi. Resolvconf'un Networkmanager'dan kullandığı bilgiler mevcuttu:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 8.8.8.8

Ancak, bu dizinde birden çok dosya varsa, bu dosyanın hiç kullanılmayabileceği ortaya çıkıyor. Suçlu, dnsmasq'ın kaldırılmasıyla kaldırılmayan bir dosyaydı:

cat /run/resolvconf/interface/lo.dnsmasq                        nameserver 127.0.0.1

Sadece bu dosyayı kaldırıyorum (ve çalıştırıyorum sudo resolvconf -u daha sonra) dns sorunlarımı çözdüm:

cat /etc/resolv.conf                        # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 8.8.4.4nameserver 8.8.8.8 

Umarım bu, başkalarına hata ayıklama konusunda da yardımcı olur (tüm bu farklı ağ araçları arasındaki karmaşık etkileşimler). Eğer kullanırsanız resolvconf koştuğunuzdan emin olun ls /run/resolvconf/interfaces görmek için orada ne var.

Az önce bir bağlantıyı sildim. /etc/resolv.conf ve ad sunucularının adresleriyle düzenli bir dosya oluşturdu. İşe yarıyor ve Ubuntu geliştiricilerinin yarattığı oldukça garip yapıyı kullanmak için herhangi bir neden göremiyorum.

Yukarıda belirtilen komutun nmclı değil `nm-tool’ olması gerektiğini düşünüyorum.