Mai mult
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?
208
19
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
Am găsit o altă abordare aici, care implică adăugarea de o linie ca cea de mai jos să -
/etc/dhcp/dhclient.conf
:De asemenea, am găsit-o a treia abordare aici, care implică adăugarea de linii de a
/etc/network/interfaces
:Update: Aici este documentația oficială pentru cea de-a treia abordare.
Se pare ca este vorba despre resolvconf pachet.
Instala resolvconf pachet.
Rula
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
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:
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.
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:
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 :)
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:
Sper ca cele de mai sus ajută!
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. Aniiresolvconf utilitate doar scrie în fișierul
/run/resolvconf/resolv.conf`.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.)
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 deresolvconf
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.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):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: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:
Doar eliminarea acestui fișier (și funcționare
sudo resolvconf -u
dupa) mi-a rezolvat dns probleme: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.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.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.
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:
Apoi, după cum a declarat pentru majoritatea celorlalte exemple, nu o
sudo resolvconf -u
. Acum vei gasi resolv.conf` arata ca aceasta: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.Ce zici de:
Înainte de asta, utilizați Administratorul de Rețea pentru a schimba DNS adresa și de a schimba Metoda de a
Apoi rulați comanda de mai sus și reboot. Care a facut o soluție pentru mine.
Am rezolvat acest lucru prin schimbarea ordinii de surse. M-am mutat la
dns
sursă înainte demdns în
/etc/nsswitch.conf`:Puteți păstra setările și de a folosi în continuare locale cache server de acest fel.
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
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.)
O altă modalitate este de a defini docker specifice serverele dns la:
Dacă tu nu't au o astfel de fișier, trebuie doar să-l creeze:
Sursa a se vedea, de asemenea, acest.
Pentru a schimba DNS, urmați instrucțiunile din: https://developers.google.com/speed/public-dns/docs/using
Du-te la Rețea
Selectați conexiunea pentru care doriți să configurați DNS.
Pentru a modifica setările pentru o conexiune fără fir, selectați fila Wireless, apoi selectați rețeaua wireless adecvată.
Faceți clic pe săgeată (dreapta), și în fereastra care apare, selectați Setări IPv4 sau Setări IPv6 tab.
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.
În serverele DNS de domeniu, introduceți adresele IP DNS, separate printr-o virgulă
/etc/resolv.conf
.nameserver 1.1.1.1 nameserver 1.0.0.1
sudo apt-get install -y resolvconf
nameserver 1.1.1.1 nameserver 1.0.0.1
reboot