DHCP tarafından sağlanan ad sunucusunu nasıl geçersiz kılabilirim?


13

Ben statik bir IP adresi yapılandırdım (düşünüyorum) /etc/network/interfaces:

# The primary network interface 
auto eth0 
iface eth0 inet static
    address 10.1.1.2
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    gateway 10.1.1.1

Ve dosyayı /etc/resolv.confistenen ad sunucularını içerecek şekilde değiştiriyorum .

Sonra ağları yeniden başlatıyorum sudo /etc/init.d/networking restart

Ancak birkaç saat sonra resolv.conf her zaman DHCP ad sunucusuna geri döner.


Ayrıca bu sadece l0ve eth0arayüzleri ile Ubuntu Server olduğunu söylemeliyim .


Is resolvconfpaket yüklü?
Gilles 'SO- kötü olmayı bırak'

Dhclient'i başka bir ağ arabiriminde (belki bir wifi veya çevirmeli arabirim) kullanmaya mı çalışıyorsunuz, yoksa dhclient statik olması gerekiyorsa da eth0 üzerinde yanlış çalışıyor mu?
poolie

Sadece eth0 ve lo0 vardır, manuel olarak ayarladığım IP, alacağım DHCP IP ile aynıdır (DHCP sunucusu her zaman aynı statik IP'yi sunacaktır). Ancak DHCP sunucusu tarafından verilen ad sunucusunu kullanmak istemiyorum, bu yüzden IP'yi kendim ayarlayacağımı ve herhangi bir DHCP olmayacağını düşündüm, ancak resolv.conf'un neden sürekli güncelleneceğini anlamıyorum.
David Parks

Gilles - hayır, koştum: dpkg -L resolvconf ve get: Package `resolvconf 'kurulu değil.
David Parks

Yanıtlar:


35

DHCP sunucusu tarafından önerilen ad sunucularını geçersiz kılmak veya bu sunuculara eklemek istiyorsanız, bunu aşağıdaki gibi yapılandırabilirsiniz /etc/dhcp/dhclient.conf:

interface "eth0" {
    prepend domain-name-servers 10.0.0.2;
}

Bunu Unity veya GNOME içindeki ağ göstergesindeki "Bağlantıları Düzenle" kontrolünden de yapabilirsiniz.


4
Bu en iyi çözümdü, başka bir seçenek daha yayınladım, ancak statik bir IP ayarlamanın AWS EC2 ortamında iyi bir fikir olmadığını fark ettim. :)
David Parks

Birkaç alan adı sunucusunun başına eklemek isterseniz ne olur?
dangonfast

Eklenen alan adı sunucusu 127.0.0.1, dhcp tarafından sağlanan ad sunucusunu siliyor gibi görünüyor (bu, diğer ad sunucularının başına gelmez)
dangonfast

2
DHCP değerinin tamamen üzerine yazmak için prependile değiştirin supersede.
Sqerstet

Teşekkürler. Tüm arayüzler için DNS sunucusu eklemeyi de söyleyebilir miyim (istisnalar dışında)? Veya arayüzlerin bir listesi?
ctrl-alt-delor

1

Sorununuzu çözecek bir çözüm resolvconfpaketinizi yapılandırmaktır . Bu, tercih ettiğiniz ad sunucularının yanı sıra, arama ve etki alanı tercihleri ​​gibi istenen diğer ayarların resolv.conf ayarlarına da öncelik verecektir.

Dosyayı düzenleyin: /etc/resolvconf/resolv.conf.d/head

Orada bir ağ değişikliği olduğunda istediğiniz ad sunucularını ve tercih etmek istediğiniz diğer yapılandırmaları yerleştirin. Ağda herhangi bir değişiklik olduğunda, oradaki yapılandırma her zaman önceliklidir.

/etc/resolvconf/resolv.conf.d/headDosyanın bir örneği :

# 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
search mydomain.com

Benzer bir sorunun cevabına bakın:
dns nameserver'ı geçersiz kılma

Not:
Son girişten sonra satır besleme yaptığınızdan emin olun. Çoğu düzenleyici, dosyayı kaydederken otomatik olarak satır besleme sağlar.


-2

Dhcp istemcisini kaldırmak için bir referans buldum, sanırım ana suçlu bu. Bunu yaptım ve sorunu henüz görmedim. Onaylamak için sabaha kadar bekleyecek, ancak dhcp istemcisi hala çalışıyor ve durdurulup kaldırılması gerekiyor gibi görünüyor.

apt-get remove isc-dhcp-client dhcp3-client dhcpcd

Çözüm prepend komutu veya DHCP istemcisini gerçekten kaldırıyorsa biraz kafam karıştı.
Eugene van der Merwe

@EugenevanderMerwe Başlatma komutu. Poster, "Bu en iyi çözümdü, başka bir seçenek daha yayınladım, ancak statik bir IP ayarlamanın AWS EC2 ortamında iyi bir fikir olmadığını fark ettim. :)"
Grammargeek

-3

Genel bir kural olarak, tüm ağ servislerini her zaman kullanarak kaldırmalısınız apt-get --purge remove <package-name>. Bu şekilde, tüm yapılandırma dosyaları da kaldırılacaktır.

Bu durumda komut şöyle olur:

apt-get --purge remove isc-dhcp-client isc-dhcp-common

Bu komut isc-dhcp-client.


4
Bu nasıl alakalı ve neden bunun iyi bir genel kural olduğunu düşünüyorsunuz? DHCP kullanmayı bırakmak istemiyor mu?
poolie
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.