Cum adaug un server DNS prin resolv.conf?

Este /etc/resolv.conf inutil în Ubuntu 12.04 LTS (Precise Pangolin)?

Văd că serverul DNS informațiile sunt stocate în NetworkManager acum. Anii nmcli command line tool poate lista asta pentru tine.

Dacă vrei să adaugi unul DNS server, va adăuga la /etc/resolv.conf cu ajutorul `resolvconf pachetului de ajutor?

Comentarii la întrebare (1)
Soluția

Dacă /etc/resolv.conf "conține" nameserver 127.0.0.1 apoi adăugarea de intrări de la `/etc/resolvconf/resolv.conf.d/coada câștigat't face nimic cu adevărat util.

Dacă utilizați NetworkManager atunci ar trebui în schimb să static adauga nameserver adrese prin indicator de rețea: Editare Conexiuni... | Edita... | Setări IPv4 | Suplimentare de servere DNS.

Dacă really doriți să adăugați mai multe intrări pentru a /etc/resolv.conf, de a crea o `/etc/resolvconf/resolv.conf.d/coada și adăugați-le acolo.

Ca cu fiecare versiune de Ubuntu, l's recomandat să citiți Ubuntu Note de Lansare, disponibil aici:

Desktop și Infrastructură Comună secțiuni conțin un link către

Comentarii (5)

Am găsit o altă abordare aici, care implică adăugarea de o linie ca cea de mai jos să - /etc/dhcp/dhclient.conf:

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

De asemenea, am găsit-o a treia abordare aici, care implică adăugarea de linii de a /etc/network/interfaces:

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

Update: Aici este documentația oficială pentru cea de-a treia abordare.

Comentarii (9)

Se pare ca este vorba despre resolvconf pachet.

Instala resolvconf pachet.

Rula

cd /etc/resolvconf/resolv.conf.d
sudo cp -p head head.orig  #backup copy, always do this
sudo nano head

Partea de sus a fișierului este un avertisment înfricoșător. Fișierul /etc/resolv.conf este generată automat din conținutul acestui fișier; avertizarea este acolo, așa că va fi pus in /etc/resolv.conf când /etc/resolv.conf este generat. La sfârșitul fișierului, se adauga

nameserver 

Apăsați Ctrl x și răspunsul este da la salvarea fișierului. Pentru a termina, regenera /etc/resolv.conf, astfel încât modificările sunt aplicate imediat:

sudo resolvconf -u

Apoi, a verifica conținutul de /etc/resolv.conf pentru a vedea linia adaugat acum este acolo. Mai mult, ea va fi în continuare acolo data viitoare mașina dvs. de cizme sau de servicii de rețea vă este repornit, oricare dintre acestea survine prima.

Comentarii (2)

Mai jos vă va arăta cel mai bun mod în care am găsit când am rula Ubuntu Server edition și de a folosi ifup, mai degrabă decât NetworkManager.

De fapt, pentru mine ei au făcut acest lucru mai ușor :) de a pune totul în /etc/network/interfaces fișier. Aceleași configurații pe care le-ar fi scris resolv.conf pot fi acum în același fișier ca adaptorul de rețea configurații ca și în exemplul de mai jos:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface 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-nameservers 75.75.75.75 75.75.76.76
        dns-search local

Sper că acest lucru ajută și face mai ușor ca o face pentru mine, acum putem crea adrese IP statice și se adaugă în servere de nume și de domeniu dns toate într-un singur fișier :)

Comentarii (2)

A mea este care rulează Ubuntu Server 12.04. Am făcut următoarele modificări și repornit server (de obicei, acest lucru poate fi făcut doar de a aduce în jos de interfață de rețea, care este, ifdown eth0 " sau " ifup eth0).

In fisierul `/etc/resolvconf/resolv.conf.d/de bază am adăugat următoarele mențiuni:

nameserver 8.8.8.8
nameserver 8.8.4.4

Sper ca cele de mai sus ajută!

Comentarii (0)

Puteți utiliza NetworkManager după cum se menționează în Frank's a răspuns, dar dacă preferi să editați manual /etc/resolv.conf, puteți face acest lucru prin ștergerea (it's, de fapt, o legătură simbolică) și apoi crearea unui nou simplu fișier cu conținutul pe care doriți. Anii resolvconf utilitate doar scrie în fișierul/run/resolvconf/resolv.conf`.

Comentarii (0)

Notă: Acest răspuns a fost pentru o destul de diferite, pre-merge versiunea de Întrebare, cu un accent numai pe pre-în așteptarea unei numele dorit-server.

Aceasta funcționează pre-12.04:

Edit /etc/dhcp3/dhclient.conf și adăugați : prefixeaza domain-name-serverele 127.0.0.1;`

(În fapt, această linie este deja prezent ; tot ce trebuie să faceți este onu-l comenteze.)

Comentarii (6)

resolvconf este inutil. Am'm pe un server Linux și a mea adresa IP este static și-mi DNS servere sunt statice. Nu am nevoie de resolvconf sau NetworkManager.

Păstrarea este simplu este politica mea atunci când se lucrează pe un server. De o complexitate mai redusă, cu atât mai ușor'll fi de a gestiona/fix atunci când lucrurile pauză.

Așa că am făcut aptitude purge resolvconf și manual asigurat/etc/resolv.confe't o [ul simbolic][5] și a creat un fișier static. Doar în cazul în care un program încearcă să modificați fișierul, am făcut chattr +i (imuabil) a /etc/resolv.conf ca o măsură de precauție.

Comentarii (2)

Cele mai multe dintre cele de mai sus presupune că aveți o curat sistem, dar realitatea este de multe ori astfel că au fost instalați diferite de clienți dhcp, dezactivat de administratorul de rețea în anumite vechea versiune de Ubuntu, etc. Ar putea fi util să știți următoarele. Am'am fost folosind dnsmasq pentru un timp, dar deinstalled ea. În prezent, sistemul meu avea următorul cuprins de /etc/resolv.conf (care este un link simbolic la /run/resolvconf/resolv.conf pe sistemul meu):

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 OVERWRITTEN
nameserver 127.0.0.1

Nu't contează cât de multe ori am alerga sudo resolvconf -u " sau " sudo dpkg-reconfigure resolvconf, n't actualizare nameserver cu cele stabilite în NetworkManager. Informațiile resolvconf face uz de NetworkManager fost prezent:

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

Cu toate acestea, se dovedește a fi, în cazul în care există mai multe fișiere în acest director, acest dosar nu ar putea fi folosit la toate. Vinovatul a fost un dosar nu a eliminat cu dezinstalarea de dnsmasq:

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

Doar eliminarea acestui fișier (și funcționare sudo resolvconf -u dupa) mi-a rezolvat dns probleme:

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 OVERWRITTEN
nameserver 8.8.4.4
nameserver 8.8.8.8 

Sper că acest lucru ajută și pe alții cu debugging (interacțiunile complexe între toate aceste diferite instrumente de rețea), precum și. Dacă utilizați resolvconf asigurați-vă că pentru a rula `e /run/resolvconf/interfaces pentru a vedea ce's acolo.

Comentarii (1)

Tocmai am șters un link în /etc/resolv.conf și a creat un regulat fișier cu nume' adrese. Acesta funcționează, și eu nu't vedea orice motive pentru a utiliza că, mai degrabă ciudată construcție care Ubuntu dezvoltatorii au creat.

Comentarii (2)

Puteți edita conexiune "AUTO ETH0" sau oricare ar fi numele pe care le utilizați pentru a vă conecta în NM. Puteți face acest lucru prin click-dreapta pe NM și selectând "Editați Conexiunile...". Pe IPv4 tab puteți selecta "Automat (DHCP) se adresează numai" ca "Metoda" NM și vă va permite să setați nameserver adresa(es) manual chiar adresele sunt livrate pe DHCP.

Comentarii (0)

Adăugarea meu cam la lista deja lunga, aici's un alt mod (testat pe 12.04):

Editare/run/resolvconf/interfață/NetworkManager` pentru a se potrivi nevoilor dumneavoastră. Aici's un exemplu:

search foobar.com example.com
nameserver 192.168.1.1

Apoi, după cum a declarat pentru majoritatea celorlalte exemple, nu o sudo resolvconf -u. Acum vei gasi resolv.conf` arata ca aceasta:

nameserver 192.168.1.1
nameserver 127.0.0.1
search foobar.com example.com

Eu încă nu't place cum se's a implementat acum (se pare că Ubuntu are nevoie de un service pentru fiecare foo se face), și ar prefera un simplu resolv.conf sigur. Dar această abordare pare a fi cel mai bun compromis pentru mine până acum. Adăugat "localhost-NS" ar't durea prea mult.

Comentarii (0)

Ce zici de:

sudo dpkg-reconfigure resolvconf

Înainte de asta, utilizați Administratorul de Rețea pentru a schimba DNS adresa și de a schimba Metoda de a

Automat (DHPC) adrese numai

Apoi rulați comanda de mai sus și reboot. Care a facut o soluție pentru mine.

Comentarii (0)

Am rezolvat acest lucru prin schimbarea ordinii de surse. M-am mutat la dns sursă înainte de mdns în /etc/nsswitch.conf`:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

Puteți păstra setările și de a folosi în continuare locale cache server de acest fel.

Comentarii (1)

vi /etc/network/interfaces

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

# The primary network interface
allow-hotplug eth0

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0         
Comentarii (0)

Aceasta este o întrebare foarte popular, cu o colecție de standard de răspunsuri posibile, toate din care, IMO, sunt destul de ciudate. Eu unul am avut mereu probleme cu Ubuntu să respecte setările DNS-am înființat în NetworkManager-în special stabilirea static DNS servere cu "Automat (DHCP) se adresează numai" - și astăzi am dat în sfârșit seama ce a fost GREȘIT.

Problema este în interacțiunea dintre resolvconf și NetworkManager. resolvconf a acestui fișier numit/etc/resolvconf/interfata-comanda`. Cel puțin pe sistemul meu, NetworkManager e't în acest fișier la toate (cu excepția faptului că-l's acoperite de * wild card la sfârșitul anului). Deci, ce se întâmplă este, dhclient's cel mai recent raport resolvconf are prioritate față de orice NetworkManager are de spus.

Astfel, cel puțin în cazul meu, răspunsul real a fost de a adăuga

NetworkManager

la sau aproape de partea de sus a /etc/resolvconf/interfata-comanda.

(Da, știu că mulți oameni spun "uninstall resolvconf", care pare a fi o idee rea in sine, pentru mine. Dar mai mult decât atât, cel puțin viclean și xenial ia în considerare resolvconf o parte vitală a sistemului [de exemplu, ubuntu-minim depinde de el], așa că ar fi dificil de a menține sistemul într-un mod consecvent, actualizat stat fără resolvconf.)

<grevă>La cerere pot oferi mai multe detalii despre cum mi-am dat seama de asta. (EDIT: se pare că nu am't face deci, atunci când a fost solicitat, îmi pare rău. În acest moment eu nu't amintesc mult mai multe detalii decat ce am spus în continuare:) pe scurt, am înlocuit resolvconf executabil cu un înveliș înveliș în jurul valorii de aceasta, care fac obiectul unui dumping argumentele sale, de intrare, de ieșire și stderr la fișiere; și adaugă set-x pentru resolvconf's de actualizare script-uri.

(EDIT: I poate spune că ceea ce vreau să spun prin prima parte este că am folosit sudo pentru a muta efectiv resolvconf executabil, care poate fi găsit folosind cele care comandă sau tipul de comandă. Apoi a crea un shell script care în cele din urmă doar execută mutat resolvconf, dar, de asemenea, echos argumentele pentru unele fișiere, și folosește coajă de redirecționare a trimite stdin, stdout și stderr la diferite alte fișiere. Eu nu't amintesc în cazul în care "resolvconf's de actualizare script-uri" sunt și pot't în prezent verifica cu ușurință. Cred că mulți Linux geeks pot da seama ce vreau sa spun; poate un bun samaritean va oferi mai multe detalii într-un comentariu.)

Comentarii (1)

O altă modalitate este de a defini docker specifice serverele dns la:

/etc/docker/daemon.json

Dacă tu nu't au o astfel de fișier, trebuie doar să-l creeze:

{
    "dns": ["1.1.1.1", "1.0.0.1"]
}

Sursa a se vedea, de asemenea, acest.

Comentarii (0)

Pentru a schimba DNS, urmați instrucțiunile din: https://developers.google.com/speed/public-dns/docs/using

  1. Du-te la Rețea

  2. Selectați conexiunea pentru care doriți să configurați DNS.

  3. Pentru a modifica setările pentru o conexiune fără fir, selectați fila Wireless, apoi selectați rețeaua wireless adecvată.

  4. Faceți clic pe săgeată (dreapta), și în fereastra care apare, selectați Setări IPv4 sau Setări IPv6 tab.

  5. Dacă metoda aleasă este Automat (DHCP), deschideți meniul și selectați Automatic (DHCP) adrese numai în loc. Dacă metoda este setat la altceva, nu-l schimba.

  6. În serverele DNS de domeniu, introduceți adresele IP DNS, separate printr-o virgulă

Comentarii (0)
  1. Adaugă temporară DNS. Edit /etc/resolv.conf.

nameserver 1.1.1.1 nameserver 1.0.0.1

  1. Instalați sau să actualizați resolvconf.

sudo apt-get install -y resolvconf

  1. Adauga nameserver în `/etc/resolvconf/resolv.conf.d/coada

nameserver 1.1.1.1 nameserver 1.0.0.1

  1. Reporniți aparatul: reboot
Comentarii (1)