/Etc/resolv.conf dosyasında ad sunucusu adresini kalıcı hale nasıl getirebilirim?


14

Ayarladığım ad sunucusu adresini alamıyorum /etc/resolv.conf. Değeri her ayarladığımda, ağ yöneticisi önyüklemede varsayılan ağ geçidi ile geçersiz kılar.

Nasıl doğru ayarlanır?

Yönlendiricideki ad sunucusunu değiştirmek dışında bir yol tercih ederim.


Bunu NetworkManager(ilk satırda belirtildiği gibi) ile değiştirmeniz gerekir . Bu dosya tarafından her önyüklemede yeniden oluşturulur NetworkManager. Bu, linux-distro'nuza (buna bahsetmediğiniz) nasıl erişeceğinize bağlıdır NetworkManager.
Rik

Yanıtlar:


13

Değişir. Lütfen sonuna kadar okuyun.

Eğer yoksa paket resolvconf yüklü, o zaman kolaydır: Eğer istediğiniz şekilde değiştirdikten sonra, komutu

 sudo chattr +i /etc/resolv.conf

Komut dosya özniteliklerini değiştirerek immutable(+ i seçeneği).

Ancak, resolvconf paketi yüklüyse, /etc/resolv.conf dosyası sembolik bir bağlantıya dönüştürülebilir,

 # file /etc/resolv.conf
 /etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'

sanal dosya sistemindeki bir dosya, kalıcı olmayan bir versiyonun epitomisi. Komik olan şey, resolvconf'un yüklü olduğunu bilmemeniz olabilir, çünkü Debian benzeri işletim sistemlerinin son sürümleri önceden yüklenmiş olarak gelir. Şu komutu vererek dağıtımınızın sizin için yükleyip yüklemediğini belirleyebilirsiniz:

 #whereis resolvconf
 resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz

En önemlisi de, /etc/resolv.confyukarıdaki komutla (file /etc/resolv.conf) bir bağlantınıza dönüştürülüp dönüştürülmediğini belirleyebilirsiniz. Cevap ise ASCII text, kullanın chattr, aksi takdirde ...

Statik IP kullanıyorsanız, en basit şey aşağıdaki satırı (veya böyle bir şeyi) eklemektir.

 dns-nameservers 8.8.4.4 8.8.8.8

/ etc / network / interfaces içindeki statik arayüzünüzün özelliklerini tanımlayan stanza.

Bunun yerine, her zaman farklı ağlara bağlanan bir dizüstü bilgisayardaysanız, LawrenceCmükemmel öneriyi takip edebilirsiniz . Ancak, sisteminizde resolvconf varsa, sabit bir DNS seti sağlamanın doğru (ve en basit) yolu /etc/resolvconf/resolv.conf.d içindeki dosyaları kullanmaktır . Özellikle, aşağıdaki dosyalar kullanılır (bkz. Stephane Graber'ın sayfası ):

base : Başka veri bulunamadığında kullanılır

head : resolv.conf üstbilgisi için kullanılır, bir DNS sunucusunun her zaman listedeki ilk sunucu olmasını sağlamak için kullanılabilir

tail : Kuyruktaki herhangi bir giriş, sonuçta ortaya çıkan çözümün sonuna eklenir.

Yani size favori nameserverlar yerleştirmek kafa aşağıdaki şekilde

  nameserver 8.8.8.8

ve işiniz bitti.


2
@dhiller Ultrasawblade adını LawrenceCaşağıdaki gibi değiştirdi.
MariusMatutiae

Çok güzel ve ilginç bir yazı, konu hakkında daha fazla bilgi edinmek isteyen kullanıcılar için bu konu hakkında bazı belgeler bağlantıları eklemenizi istiyorum, Thx
Philippe Gachoud

/etc/resolvconf/Ubuntu 18.04'te varsayılan olarak mevcut değildir.
Dan Dascalescu

9

/etc/dhcp/dhclient.confKök terminal kullanmaya benzer bir satır ekleyin :

supersede domain-name-servers 74.122.198.48, 50.116.23.211;

Bu dhclient, bir DHCP isteği yayınlayan ve yanıtın söylediklerine göre değişiklik yapan programın, değişiklik yapmadan önce DHCP sunucusundan aldığı bilgileri yukarıdaki ile değiştirmesine neden olur.

Yukarıdakiler iki OpenNIC DNS sunucusudur. Kullanmak istediğiniz sunucular için gereken şekilde değiştirin.

DHCP'den yapılandırma bilgisi aldığınızda bu olduğundan, dhclient -v eth0yenilemek ve değişikliği görmek için veya herhangi bir arabirimi kullanın.


1
DNS'yi (genellikle yönlendirici) geçersiz kılmak yerine, prepend domain-name-servers 8.8.8.8örneğin satır eklenebilir . Bu, kullanılabilir olduğunda ISS'nin DNS'sini kullanır.
Axel Latvala

3

@Rik tarafından belirtildiği gibi, yeniden başlatma sırasında DNS değiştirmelerinin nedeni, ayarlanan ağ yöneticisi / yardımcı programından kaynaklanıyor gibi görünüyor. Linux Mint'te, ekran görüntüsüne göre, IPv4 yöntemimi yalnızca Otomatik (DHCP) adreslerine ayarladım. Daha sonra /etc/resolv.conf veya DNS sunucuları bölümüne doğru ayarları girebilirsiniz. Ubuntu 13.04'te isim sunucularımın uzun bir süre boyunca birkaç kez değiştiğini hatırlıyorum, ama aslında onları GUI'de düzenleyip düzenledikten sonra, hepsi oradan istikrarlı görünüyordu.

resim açıklamasını buraya girin

resim açıklamasını buraya girin


3

Aynı sorun vardı, ama statik IP adresi kullanın. Düzeltme sadece / etc / network / arayüzlerine dns ekliyordu

iface eth0 inet static
    address [your ip>
    netmask [your netmask]
    network [your network]
    broadcast [your broadcast]
    gateway [your gateway]
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers [dns server1] [dns server2]
    dns-search [your domain]

Evet, bu düzeltildi çünkü NetworkManager listelenen arabirimleri yok sayar /etc/network/interfaces. İyi yakalama!
Izzy

1

Wicd kullandıysanız, simgeye sağ tıklayın ve bağlantı bilgisine tıklayın. Pencere açıldığında, bağlandığınız pencerenin özelliklerini tıklayın.

Statik DNS kullan seçeneğini işaretleyin ve DNS sunucusu 1 8.8.8.8yazan satırda Google DNS için IP yazın ve DNS sunucusu 2 türü satırında 8.8.4.4"Tamam" ı tıklayın.

Varsayılanlardan hata alıyorsanız, ISS'nize başvurabilir ve onlardan bahsedebilirsiniz. Onlara bağlandığınızda genellikle modeminize DNS sunucuları atarlar.


0

Yolunuzu chattr +iveya benzerlerini kesmek en iyi ihtimalle hızlı bir çözümdür ve mümkün olduğunca kaçınılmalıdır (en azından uzun vadede - söylendiği gibi, gerçek çözüm için zaman bulana kadar kısa süreli bir çözümdür) . Daha önce de belirtildiği gibi, bu, bunun için kullanabileceğimiz bir CLI sunan NetworkManager için bir iştir:

# hangi arayüzü ayarlayacağınızı bul
nmcli cihazı
# output şöyle görünür:
# CİHAZ TİPİ DEVLET BAĞLANTISI
# enp0s3 ethernet bağlantılı ofisim
# lo loopback yönetilmeyen -
# Bundan BAĞLANTI'ya ihtiyacımız var.

# Şimdi "arama alan adlarımızı" ekleyin:
nmcli bağlantı ofisimi değiştir ipv4.dns-search example1.com
nmcli con mod ofisim + ipv4.dns-search example2.com

# Ve isim sunucularımız:
nmcli con değişiklik benim ofis ipv4.dns 213.73.91.35
nmcli con ofisimi değiştir + ipv4.dns 87.118.100.175
# ikinci satırdaki "+" işaretini not edin: başka bir tane ekleyin,
# ise ilk satır mevcut girişin üzerine yazılır.
# bunu tek bir çağrı ile yapabilirdik:
nmcli con benim ofis ipv4.dns "213.73.91.35 87.118.100.175" değiştirmek

# Tamam, şimdi DHCP sunucusundaki güncellemeleri yoksaymasını söyleyelim:
nmcli con benim ofis ipv4 değiştirmek.ignore-auto-dns evet

# ve değişiklikleri çalışan yapılandırmamıza uygulayın
nmcli con yukarı benim ofis

Statik bir IP adresi kullanıyorsanız, kanelbolle'nin cevabındaki çözümü de kullanabilirsiniz .


0

Şaşırtıcı bu küçük problemi sinir bozucu alabilirsiniz nasıl, ne zaman çözümler verilen için Ubunutu 18.04 artık iş o.

Benim için işe yarayan, her önyüklemedeki nameserverdeğerin üzerine /etc/resolv.confyazmaktı. bu satırı sudodüzenleyin /etc/rc.localve ekleyin:

 sed -i "s/nameserver 127.0.0.53/nameserver 8.8.8.8/" /etc/resolv.confsudo /etc/rc.local
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.