Statik DNS'imi arayüzlerde nasıl yapılandırabilirim?


60

Ubuntu 12.04 kullanıyorum.

Dosyam /etc/network/interfacesşunlardan oluşuyor:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

Komutu koştum: /etc/init.d/networking restart

Hangi cevap verdi:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Sonra google.com'a ping koştum ve aldım:

ping: unknown host google.com

Arayüzlerimin yenilenip yenilenmediğinden emin değilim. Ağımı statik DNS adreslerimle düzgün bir şekilde nasıl yapılandırırım?


1
Bilgisayarını yeniden başlat. /Etc/init.d/networking restart komutunu çalıştırmayın. Hata zaten var olan varsayılan yoldan kaynaklanıyor. Bu kurulum bana doğru görünüyor.
Matt H

2
Matt H'nin dediği gibi, /etc/network/interfaceszaten var olan şeyler konusunda seçici. Mükemmel bir kuruluma sahip olabilirsiniz, ama zaten orada bir şeyler var ve şikayet edecek. Şikâyet ettiği varsayılan yol ise ip route del default, bilgisayarı bu şeylerin yönetimini verebileceğiniz bir duruma getirmek için çalıştırarak kaldırabilirsiniz/etc/network/interfaces
Azendale

Ağ yöneticisi başka bir kurban olduğunu iddia etti. Sadece o çöpü sil.
Baykuş

Yanıtlar:


24

/etc/network/interfacesAnketörün içeriğini verdiği gibi, arayüzleri yapılandırmak için ifup kullandığı sonucuna varıyorum. Fakat aslında NetworkManager'ı kullanıyor olabileceğinden, bunu da tartışacağım.

İfup kullanıyorsanız, DNS ayarları devreye girer /etc/network/interfaces. Her arabirim dns-*için, bu arabirim üzerinde kullanılabilen ad sunucularına uygun seçenekler eklersiniz . Örneğin, 1.2.3.4 adresindeki bir ad sunucusu eth0 arabirimi üzerinde mevcutsa dns-nameservers 1.2.3.4, iface eth0stanza ekleyin .

NetworkManager kullanıyorsanız, ayarlar IPv4 Ayarları sekmesindeki Bağlantı Düzenleyicisine (ağ göstergesi | Bağlantıları Düzenle ...) girilir.

/etc/init.d/networking restartArabirimleri yeniden yapılandırma yapmak uygun değildir. Kullanıyorsanız, ifupönce ifdownher bir aktif ağ arayüzü, sonra ifupher bir arayüz. NetworkManager kullanıyorsanız, ilk önce, göstergeyi kullanarak (masaüstünün en üstünde) ağı devre dışı bırakın; sonra bir terminal aç ve çalıştır

sudo /etc/init.d/network-manager restart

ve göstergeyi kullanarak ağı etkinleştirin.

Ya da sadece yeniden başlatabilirsiniz.

/etc/init.d/networking restartSonuçlanan gerçeği ile ilgili olarak

RTNETLINK answers: File exists
Failed to bring up eth0  

Bunun anlamı ifupdown'ın eth0zaten hazır olduğunu düşünmesidir . Arabirimi zaten yapılandırdığına inanmayı durdurmak ifdown --force eth0için kullanın ifupdown.

"Kullanımdan kaldırılmış" mesajla ilgili olarak, bu mesaj artık Ubuntu 12.10'da basılmamaktadır, ancak yine de initscript'lerin "çıkış yolunda" olduğuna dikkat etmelisiniz. Bir servisi yeniden başlatmak fooiçin service foo restartveya tuşunu kullanın restart foo. Ayrıca, arayüzlerinizi yeniden yapılandırmak istiyorsanız, "ağ" ı yeniden başlatmaya güvenmekten çok tek tek indirmenin daha iyi olacağını unutmayın.


17

Yukarıdakilerin hiçbiri işe yaramazsa, Ubuntu'nun tailoluşturduğu resolv.conf dosyasına bir dosya eklediğini unutmayın.

Bunu dene:

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

Nano metin editöründe boş bir resolv.conf.d dosyası açılacak. DNS sunucusu adresinizi bu dosyanın ilk satırına yerleştirmeniz ve satırı aşağıda gösterildiği gibi satır başı (satır başı) ile sonlandırmayı unutmayın:

nameserver 10.20.1.2

Kuyruk dosyasını gerçek resolv.conf dosyası yerine düzenlemek, sistem yeniden başlatıldığında değişikliklerinizi kaybetmenizi önleyecektir.

Sen çalıştırmanız gerekir sudo resolvconf -udeğişikliği etkinleştirmek için. Bundan sonra google.com'a ping yapabilmelisiniz. İyi şanslar!


Kulağa hoş geliyor ama Ubuntu 14.04 sistemim bu kuyruk dosyasını kullanmadı. Yani bu benim durumumda bir çözüm değil. Yine de teşekkürler.
James T Snell

11

Komut satırı sürümü:

/etc/resolvconf/resolv.conf.d/baseBu şekilde dosyaya ad sunucunuzu / sunucularınızı eklemelisiniz :

nameserver 66.212.63.228 
nameserver 66.212.48.10

Bu yöntemi birkaç saat içinde denemek ve size geri dönmek zorunda kalacağım. Neden kullanımdan kaldırılan mesajı alıyorum ve eth0 mesajını bulamadım biliyor musunuz?
dottedquad

1
Bunu kullanabilirsiniz: $ ifdown eth0 && ifup eth0Bu konuyla ilgili daha fazla bilgiyi burada bulabilirsiniz .
pl1nk

1
@dottedquad / etc / network / interfaces dosyasını ne değiştiriyorsanız bunu değiştirin: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255Şuna dikkat edin: auto eth0 iface eth0 inet staticiki satır
pl1nk

1
Ad sunucusu bilgilerini NetworkManager bağlantılarına (NetworkManager kullanıyorsanız) bodhi.zazen tarafından açıklandığı şekilde eklemek veya / etc / network / interfaces içindeki arayüz tanımlarına (ifup kullanıyorsanız) bilgileri statik ve genel olarak eklemekten daha iyidir. /etc/resolvconf/resolv.conf.d/base adresini ziyaret edin.
jdthood

1
@jdthood Anladığım kadarıyla yorumlarımı ve sorum yanı sıra diğer cevapları gördünüz! Bazı yorumlar yukarı [..] "Bunu kullanabilirsiniz: $ ifdown eth0 && ifup eth0" [..]
pl1nk

11

/ Etc / network / interfaces yanlış beyan ile ilgili yanıtların hepsi dns-nameserversyerine dns-nameserver- aşağıda çalışmalıdır:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(Ubuntu 15.04’te test edilmiştir)


8
Dikkatli. Ben sadece dns-nameserver(tekil) RaspberryPi + Raspian Jesse üzerinde çalışmadığını onayladım. Ben bunu buldum vardı kullanmak dns-nameservers(çoğul). YMMV ve bütün bunlar, sadece bir sonraki kişiye yardım etmeye çalışıyor ...
evadeflow,

2
Kullanım ve seçenekler için resolvconf (8) kılavuz sayfanızı kontrol edin. Ubuntu 16.04.3 LTS'de, satır başına tek bir IP adresine sahip bir veya daha fazla dns-nameserver satırı kullandığınızı ya da dns-nameservers'ı ve boşlukla ayrılmış bir IP adresleri listesi kullanabileceğinizi söylüyor.
jla

dns-nameserverya dns-nameservers? Çünkü wiki.ubuntu.com/KvmWithBridge "sunucuları" ... diyor
Thufir

Kesinlikle benim için çalışmıyor. Henüz oy kullanamazsınız, oy kullanamazsınız.
Baykuş

Evet, o zaman bu güzel ve tutarlı! Karışıklık için özür dilerim, her ikisini de kontrol edin ve yukarıdaki yorumları farklı göründüğü gibi kontrol edin.
babelmonk

6

DNS sunucularınızı yapılandırmanın en kolay yolu NetworkManager kullanmaktır.

IPv4 altında, dns sunucunuzu / sunucularını doldurun

görüntü tanımını buraya girin


2
Birlik veya gnome yüklü olmadığımı söylemeyi unuttum. GNOME kurulumunda benim bir sonraki projem.
dottedquad

Bunu kurtarmama izin vermeyecek. neden bu olabilir?
josh,

4

Bunu ekleyerek bir başsız ubuntu sunucu kurulumunda bu konuda çalışabildim

nameserver 8.8.8.8

... / etc / network / interfaces içindeki ilgili arayüzden sonra:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

Umarım bu daha sonra kullanıcılar yardımcı olur!


için dns-nameserverssize 8.8.8.8, 8.8.4.4 ayırmak virgül olabilir?
Thufir


4

Not: makineye doğrudan erişim olmadan dikkatli kullanın, bu bağlantıyı keser ...

kullanırım

sudo ifdown eth0

sonra

sudo ifup eth0

Her şeyi sıfırlayacak ve bırakacak ...

Yapılandırma ile ilgili hatalarla karşılaşırsanız, şunları kullanabilirsiniz:

sudo ifdown eth0 --force

3

Bu benim için çalıştı

sudo vi /etc/resolvconf/resolv.conf.d/base

ve Ekle:

nameserver <add your router ip>

Çalıştırmak:

sudo resolvconf -u

Ubuntu sunucusunun çekirdek kurulumunu kullanıyorum.


2

Arabirimler dosyasında bir alt ağ belirtimi eksik.

Ağ maskesi ekleyin 255.255.255.0için /etc/network/interfacesağ sınırının altında.


1

Bazı nedenlerden dolayı, bu dns-nameserversifade benim durumumda hiçbir şey yapmaz. Diğer cevaplar ise dnsmasqUbuntu'da kullanıldığı gibi bypass ettiği için kitap tarafından değil .

Bunu yapmak için düzenleyin /etc/dnsmasq.conf

Ad sunucularınızı dosyanın altına ekleyin:

server=8.8.8.8
server=8.8.4.4

Yeni ayarları kullanmak için dnsmasq'ı yeniden başlatın: sudo service dnsmasq restart

Kredi: https://unix.stackexchange.com/a/163506/187949


1

Bu problemim vardı. Kızdığımı sanıyordum. Her düzenlediğimde /etc/resolv.confconfig ayarımı silmiş. Bazı akıl hastası tüm ağ ayarlarımı yazan ağ yöneticisi ile debian'ı dağıttığını açıkladı.

Bu nasıl düzelttim:

1) sudo apt-get purge network-manager

Bu, tüm konfigürasyonların düzgün çalışmasını engelleyen bu korkunç yeni araçtan kurtulur.

2) /etc/network/interfacesDosyayı düzenleyin:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) /etc/resolv.conf dosyasını düzenleyin:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) Yeniden başlatın.

Tebrikler, artık tekrar işe yarayan mantıklı konfigürasyonlarınız var.


0

Daha fazla ağ geçidiniz olduğundan, bu arayüzü başka bir dosyada da yapılandırabilirsiniz.

Detaylar burada .

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.