Hogyan vehetek fel DNS-kiszolgálót a resolv.conf segítségével?

192

/etc/resolv.conf haszontalan a következő helyen: Ubuntu 12.04 LTS (Pontos Pangolin)?

Látom, hogy a DNS-kiszolgáló adatai a NetworkManager -ben vannak tárolva. Anmcli parancssori eszköz felsorolja az Ön számára.

Ha még egy DNS szervert akarsz hozzáadni, hozzáadni a/etc/resolv.conf -hoz aresolvconf csomag help?

    
készlet PnotNP 03.05.2012 02:00
forrás

18 válasz

130

Ha a/etc/resolv.confnameserver 127.0.0.1 -ot tartalmaz, akkor a bejegyzések/etc/resolvconf/resolv.conf.d/tail -ra való feltöltése valójában nem fog semmilyen hasznosat.

Ha NetworkManager-et használ, akkor statikusan hozzá kell adnia névszerver címeket a hálózati indikátor segítségével: Szerkesztés Kapcsolatok ... | Szerkesztés ... | IPv4 beállítások | További DNS-kiszolgálók .

Ha igazán szeretne több bejegyzést hozzáadni a (z)/etc/resolv.conf -hoz, hozzon létre egy/etc/resolvconf/resolv.conf.d/tail -ot, és adja hozzá őket.

Mint minden Ubuntu kiadásnál, javasoljuk, hogy olvassa el az Ubuntu kiadási megjegyzéseket, amelyek itt érhetők el:

Az Asztal és a Közös Infrastruktúra részei egy hivatkozást tartalmaznak

  • link , amely a DNS-infrastruktúra változásaira vonatkozik 12.04-kor.
válasz adott stgraber 03.05.2012 02:21
forrás
129

Találtam egy másik megközelítést itt , amely az alábbiakhoz hasonló sort ad a/etc/dhcp/dhclient.conf:

kifejezéshez
prepend domain-name-servers x.x.x.x, y.y.y.y;

Hasonlóképpen egy harmadik megközelítést is találtam itt , amely vonalak hozzáadásával jár:/etc/network/interfaces:

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

Frissítés: Itt van a hivatalos dokumentáció a harmadik megközelítéshez.

    
válasz adott Randall Cook 09.05.2012 00:48
forrás
85

Úgy hangzik, mintha a resolvconf csomagról beszélne.

Telepítse a resolvconf csomagot.

Futtatás

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

A fájl teteje félelmetes figyelmeztetés. A /etc/resolv.conf fájl automatikusan generálódik a fájl tartalmából; a figyelmeztetés ott van, így felkerül az /etc/resolv.conf fájlba, amikor az /etc/resolv.conf generálódik. A fájl végéhez adjon hozzá

nameserver <ip_of_nameserver>

Nyomja meg a Ctrl x billentyűt és válaszoljon a yes gombra a fájl mentéséhez. A befejezéshez regenerálja a /etc/resolv.conf fájlt, így a változtatások azonnal alkalmazandók:

sudo resolvconf -u

Akkor ellenőrizd a /etc/resolv.conf tartalmát, hogy lássuk, hogy a megadott sor már ott van. Ezenkívül továbbra is ott lesz, amikor legközelebb elindul a gép vagy a hálózati szolgáltatás újraindul, amelyik előbb jön.

    
válasz adott Azendale 01.07.2011 01:41
forrás
29

Az alábbiakban megmutatom Önnek a legmegfelelőbb módszert, amelyet az Ubuntu Server kiadás futtatásakor találtam, és az ifup helyett a NetworkManageret.

Valójában számomra könnyebbé tették ezt :) azáltal, hogy az összeset az / etc / network / interfaces fájlba helyezte. Ugyanazok a konfigurációk, amelyeket a resolv.conf fájlba írnának, ugyanabban a fájlban találhatók, mint a hálózati adapterek konfigurációja, mint az alábbi példában:

# 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

Remélem, ez segít nekem, és könnyebbé teszi a számomra, most statikus IP-címeket hozhatunk létre, és a névkiszolgálón és a dns tartományban mindegyiket egy fájlba lehet hozzáadni:)

    
válasz adott Joseph Mituzas 24.05.2012 00:55
forrás
16

Az enyém fut Ubuntu Server 12.04-en. A következő módosításokat hajtottam végre, és újraindítottam a kiszolgálót (jellemzően ez csak a hálózati felület lecsökkentésével lehetséges, azazifdown eth0 vagyifup eth0).

A (z)/etc/resolvconf/resolv.conf.d/base fájlban a következő bejegyzéseket adtam hozzá:

nameserver 8.8.8.8
nameserver 8.8.4.4

Remélem, hogy a fentiek segítenek!

    
válasz adott Don Chai 19.03.2013 06:56
forrás
11

Használhatja a NetworkManager-t a Frank válaszában leírtak szerint, de ha manuálisan szeretné szerkeszteni a/etc/resolv.conf -ot, akkor törölheti (valójában egy szimbolikus link), majd létrehozhat egy új egyszerű fájlt a kívánt tartalomhoz. Aresolvconf segédprogram csak a/run/resolvconf/resolv.conf fájlt írja.

    
válasz adott Jase 04.05.2012 16:38
forrás
8

Megjegyzés: Ez a válasz a kérdés meglehetősen eltérő előzetesen egyesített változatához kapcsolódott, csak a kívánt névkiszolgáló előtti függvényében.

Ez 12.04 előtt működik:

Edit/etc/dhcp3/dhclient.conf és add:
prepend domain-name-servers 127.0.0.1;

(Valójában ez a sor már jelen van, csak annyit kell tenned, hogy megtagadd.)

    
válasz adott belacqua 06.03.2011 21:26
forrás
6

resolvconf haszontalan. Linux szerveren vagyok és az IP-címe statikus és az én DNS szerverek statikusak. Nem kell resolvconf vagy symlink és csak létrehozott egy statikus fájlba. Csak abban az esetben, ha egy program megpróbálja megváltoztatni a fájlt, elővigyázatos volt achattr +i (változhatatlan)/etc/resolv.conf érték.

    
válasz adott Mark 16.10.2012 17:41
forrás
4

A fentiek többsége feltételezi, hogy van egy tiszta rendszere, de a valóság gyakran olyan, hogy különböző dhcp-ügyfeleket telepített, letiltotta a hálózati menedzsert az Ubuntu korábbi korábbi verziójában stb. Érdemes megismerni a következőket. Egy ideje használtam a dnsmasq-ot, de eltávolítottam. Jelenleg a rendszerem a/etc/resolv.conf (a szimbolikus linket a/run/resolvconf/resolv.conf -ra a rendszeremen) tartalmazza:

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

Nem számít, hogy milyen gyakran futtattam asudo resolvconf -u vagy asudo dpkg-reconfigure resolvconf -ot, de nem frissítettem a névkiszolgálót azokhoz, amelyeket a NetworkManagerben beállítottam. A NetworkManager által használt, a resolvconf által használt információ jelen volt:

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

Mindazonáltal kiderül, hogy ha több fájl van ebben a könyvtárban, akkor ez a fájl egyáltalán nem használható. A tettes nem volt eltávolítva a dnsmasq eltávolításával:

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

Csak a fájl eltávolítása (és asudo resolvconf -u futása utána) megoldotta a dns problémáimat:

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 

Remélem, ez segíti mások hibakeresését (a különböző hálózati eszközök közötti komplex kölcsönhatásokat is). Haresolvconf -ot használ, győződjön meg arról, hogy als /run/resolvconf/interfaces -ot futtatja, hogy lássa, mi létezik.

    
válasz adott Anne van Rossum 27.12.2014 13:54
forrás
2

Módosíthatja az "AUTO ETH0" kapcsolatot, vagy bármilyen nevet, amelyet az NM-ben való csatlakozáshoz használ. Ehhez kattintson jobb egérgombbal az NM-re, és válassza a "Szerkesztés Kapcsolatok ..." parancsot. Az IPv4 fülön az "Automatikus (DHCP) címek" opcióval választhatja ki a "Módszert", és az NM lehetővé teszi, hogy a névszerver címét manuálisan is megadja, még akkor is, ha a címek DHCP protokollon keresztül érkeznek.

    
válasz adott Frank Barcenas 04.05.2012 16:29
forrás
2

Most töröltem egy linket a (z)/etc/resolv.conf -ban, és létrehoztam egy szabályos fájlt a névszerverek címeként. Úgy működik, és nem látok semmilyen okot arra, hogy az Ubuntu fejlesztői által létrehozott meglehetősen furcsa szerkezetet használják.

    
válasz adott Ivan 19.03.2013 07:34
forrás
1

Ezt a források sorrendjének megváltoztatásával végeztem el. Áthelyeztem adns forrást amdns in előtt /etc/nsswitch.conf:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

A beállításokat a helyi cache-kiszolgáló segítségével is megtarthatja.

    
válasz adott Dan B 13.10.2012 03:47
forrás
1

Mi a helyzet:

  

sudo dpkg-reconfigure resolvconf

Ezt megelőzően használja a Hálózatkezelőt a DNS-cím megváltoztatásához és a Módszer módosításához

lehetőséget
  

Automatikus (DHPC) címek csak

Ezután futtassa a fenti parancsot, és indítsa újra. Ez a megoldás számomra.

    
válasz adott Adige72 03.02.2013 21:40
forrás
1

Hozzáadom a bitem a már hosszú listához, itt van egy másik módszer (tesztelve: 12.04):

Szerkessze a/run/resolvconf/interface/NetworkManager -ot az igényeinek megfelelően. Íme egy példa:

search foobar.com example.com
nameserver 192.168.1.1

A további példák többségének megállapításához tegyünk egysudo resolvconf -u -ot. Mostantól aresolv.conf -nak így néz ki:

nameserver 192.168.1.1
nameserver 127.0.0.1
search foobar.com example.com

Még mindig nem szeretem, ahogyan ez most megvalósul (úgy tűnik, hogy az Ubuntu minden szolgáltatásnak szüksége van egy szolgáltatásra), és biztosan egy%resolv.conf értéket szeretne. De ez a megközelítés úgy tűnik számomra a legjobb kompromisszum. A hozzáadott "localhost-NS" nem sérthet túlságosan.

    
válasz adott Izzy 28.09.2013 23:32
forrás
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         <<----- change this comment with the #
iface eth0 inet dhcp
    
válasz adott Roy Rogers 04.07.2014 12:33
forrás
1

Ez egy nagyon népszerű kérdés, a szabványos lehetséges válaszok gyűjteményével, amelyek mindegyike az IMO-ban elég hacky. Az egyiknek mindig volt gondja az Ubuntu számára, hogy tiszteletben tartsa a NetworkManagerben beállított DNS-beállításokat - különösen a statikus DNS-kiszolgálókat csak "Automatikus (DHCP)" címekkel állítsa be - és ma végre kitaláltam, mi volt valójában WRONG. / p>

A probléma a resolvconf és a NetworkManager közötti kölcsönhatás. A resolvconf nevű fájl neve/etc/resolvconf/interface-order. Legalább az én rendszereimnél a NetworkManager nincs ebben a fájlban egyáltalán (kivéve, hogy a * vadkártya a végén található). Tehát mi történik, a dhclient legfrissebb jelentése a resolvconf számára elsőbbséget élvez a NetworkManager által elmondottakhoz képest.

Így, legalábbis az én esetemben, a tényleges válasz az volt, hogy hozzáadjam

NetworkManager

a/etc/resolvconf/interface-order tetején vagy annak közelében.

(Igen, tudom, hogy sokan csak "uninstall resolvconf" -nek nevezik, ami úgy tűnik, mintha önmagában rossz ötlet lenne számomra.Nagyon ennyire, legalábbis ravasz és xenial, úgy gondolom, hogy a rendszer létfontosságú része [ azaz az ubuntu-minimális attól függ], ezért nehezen lehet a rendszer konzisztens, frissített állapotban tartani a resolvconf nélkül.)

Kérésre több részletet tudok adni arról, hogy hogyan kitaláltam. Dióhéjban a resolvconf végrehajtható fájlt egy héj-csomagolóval helyettesítettem, amely az argumentumokat, a bemenetet, a kimenetet és az stderr-et a fájlokba bocsátotta; és hozzáadta a set-x-et a resolvconf frissítési szkriptjeihez.

    
válasz adott Steven Collins 31.05.2016 20:32
forrás
0

Egy másik módszer a docker-specifikus DNS-kiszolgálók meghatározása:

/etc/docker/daemon.json

Ha nincs ilyen fájlja, csak hozd létre:

{
    "dns": ["10.0.0.2", "8.8.8.8"]
}

Forrás: link

Lásd még: link

    
válasz adott AndreyKo 04.01.2017 13:27
forrás
0

A DNS módosításához kövesse a következő utasításokat: link

  1. Ugrás a hálózathoz

  2. Válassza ki azt a kapcsolatot, amelyhez a DNS-t konfigurálni kívánja.

  3. A vezeték nélküli kapcsolat beállításainak módosításához válassza a Vezeték nélküli fület, majd válassza ki a megfelelő vezeték nélküli hálózatot.

  4. Kattintson a nyílra (jobbra), és a megjelenő ablakban válassza az IPv4 beállítások vagy az IPv6 beállítások lapot.

  5. Ha a kiválasztott módszer Automatikus (DHCP), nyissa meg a legördülő menüt, és csak az Automatikus (DHCP) címeket válassza. Ha a módszer valami másra van beállítva, ne változtassa meg.

  6. A DNS-kiszolgálók mezőbe írja be a DNS IP-címeket vesszővel elválasztva

válasz adott Ferroao 10.11.2017 21:54
forrás