Vraag Opdrachtregel om DNS-servers weer te geven die door mijn systeem worden gebruikt


Is er een opdracht om dns-servers te gebruiken die door mijn systeem worden gebruikt?

Ik heb geprobeerd

$ 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
$ cat /etc/network/interfaces 
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Maar het geeft geen lijst van servers weer, als ik naar "Network Manager GUI Tool" ga, in het gedeelte Draadloos wordt "DNS 192.168.1.1 8.8.8.8 8.8.4.4" weergegeven

Kan ik dezelfde informatie krijgen via de opdrachtregel?

Ik gebruik Ubuntu 12.04 LTS


198
2018-06-18 14:36


oorsprong


Wat probeer je te vinden? de DNS-servers die door uw systeem worden gebruikt? of probeer je een DNS-lookup uit te voeren? - Thomas Ward♦
De voormalige @ Lord ofTime - ish
@LordofTime DNS-servers die door mijn systeem worden gebruikt - Anurag Uniyal
je gebruikt 127.0.0.1. ben jij lopend een DNS-server? - Skaperen
Zien unix.stackexchange.com/q/28941/38647 voor een niet-Ubuntu-versie van deze vraag - mwfearnley


antwoorden:


resolv.conf wordt niet echt meer gebruikt, tenzij je het zelf implementeert. De netwerkbeheerder doet het nu. Ik heb een alias gemaakt om de DNS-servers op mijn systeem te vermelden, omdat ik soms overschakel van OpenDNS naar de open DNS van Google.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

In mijn geval, <interfacename> is eth0, wat gebruikelijk is, maar niet altijd het geval is.

Kijk of dit is wat je wilt.

BEWERK:

Ik denk dat resolv.conf eigenlijk indirect wordt gebruikt, omdat de netwerkbeheerder de server maakt die luistert op 127.0.0.1, maar mij is verteld dat dit een implementatiedetail is waarop niet mag worden gerekend. Ik denk dat als je DNS-adressen invoert vóór dit item, ze misschien wennen, maar ik weet niet precies hoe dit werkt. Ik denk dat het het beste is om de netwerkbeheerder in de meeste gevallen, indien mogelijk, te gebruiken.


198
2018-06-18 15:20



bedankt, ja dat lijkt te werken, ubuntu-netwerken lijken verwarrend, dus ik kan dns-servers instellen in resolve.conf / base of in / etc / network / interfaces of in netwerkbeheer, is er een definitieve handleiding voor ubuntu-netwerken? - Anurag Uniyal
Als u de GUI gebruikt, kunt u dit het beste doen door profielen te maken in het dialoogvenster Netwerkverbindingen. Ik heb de standaard gedupliceerd en vervolgens het duplicaat bewerkt om de gewenste wijzigingen aan te brengen. Ik heb de standaardinstelling gehandhaafd om ervoor te zorgen dat ik altijd een werkprofiel had. Dan is het eenvoudig om van profiel te wisselen. Ik weet niet hoe dit te doen zonder de GUI, maar er is een gebruiker "James Henstridge" die zeer goed geïnformeerd is over het netwerken van Ubuntu; je kunt proberen askubuntu te doorzoeken op zijn informatie. Hij vertelde me over de opdracht die ik je gaf deze post. - Marty Fried
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 is een leuk artikel tegen DNS-resolutie in ubuntu 12.04 - Anurag Uniyal
Leuke link - veel goede informatie daar om te verteren. - Marty Fried
Ik gebruik 15.04 en 'nmcli dev show | grep DNS' werkt in plaats daarvan voor mij. - flickerfly


Dit is geldig voor Ubuntu 13.10 en eerder. Zie voor Ubuntu 14.04 en hoger Koala Yeung's antwoord op: Hoe weet ik wat DNS gebruik ik in Ubuntu vanaf 14.04 en later


Gebruik

nm-tool

U krijgt een vergelijkbare uitvoer

NetworkManager Tool

State: connected (global)

- Device: eth0  [Wired connection 1] -------------------------------------------
  Type:              Wired
  Driver:            e1000e
  State:             connected
  Default:           yes
  HW Address:        00:11:22:33:44:55

  Capabilities:
    Carrier Detect:  yes
    Speed:           1000 Mb/s

  Wired Properties
    Carrier:         on

  IPv4 Settings:
    Address:         10.21.6.13
    Prefix:          24 (255.255.255.0)
    Gateway:         10.21.6.1

    DNS:             10.22.5.133
    DNS:             10.22.5.3

Of om alleen de DNS te zien doen

nm-tool | grep DNS

82
2018-06-18 15:22



wilde gewoon optellen, gaan naar nm-appletHet verbindingsinformatiemenu werkt ook :) - Samik
+1 dit werkt ook, net als nm-cli zoals beantwoord door @Marty Fried - Anurag Uniyal
Ja, dezelfde info, maar nmcli is gemakkelijker te ontleden als je het wilt uitpakken voor een andere presentatie, zoals conky of gewoon een samenvatting zoals mijn grep. - Marty Fried
werkt ook uitstekend op lubuntu 14.04. bedankt - jamescampbell
nm-tool is niet gevonden op 15.10 - labyrinth


De twee best scorende antwoorden, nmcli dev list iface <interfacename> | grep IP4 en nm-tool beide gaan ervan uit dat netwerkbeheerder de controle heeft. Wat het is - op desktopmachines meestal tenminste. Maar het volledige antwoord is dat de netwerkbeheerder soms geen controle heeft. Bijv. vpnc rotzooit met /etc/resolv.conf direct.

Dus: controleer eerst of 127.0.0.1/localhost wordt gebruikt. Dit kan gedaan worden met dig:

> dig something.unknown  | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)

Nu weet je dat we zijn met localhost. Ga je gang met een van de populaire antwoorden. Ik hou van:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Maar als 127.0.0.1/localhost is niet gebruikt, dan nm-toolen nmcliDe uitvoer zal misleidend zijn:

> dig something.unknown  | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
    DNS:             8.8.8.8

Hier, dig is correct en nm-toolDe informatie is misleidend. In werkelijkheid zijn adressen die lokaal zijn voor de omgeving waarin ik VPN heb ingevoerd, correct opgelost. Al het DNS van Google 8.8.8.8  niet weten over.

Dit komt omdat na het verbinden met een VPN met vpnc, het zet een lijn in /etc/resolv.conf dus het ziet eruit als:

# 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 1.2.3.4
nameserver 127.0.0.1
search MyDomain

32
2018-05-28 19:19



Dit is het meest complete antwoord - Marinos An
Dank je. Sommigen van ons gebruiken hier geen NM en dat is goed voor de gemeenschap. - Stephen Boston


cat /etc/resolv.conf zou uw DNS-servers moeten tonen.

U mag het resolv.conf rechtstreeks met Ubuntu 12.04. Als u ze echter moet wijzigen, kunt u nieuwe DNS-servers toevoegen in uw /etc/network/interfaces bestand door het volgende toe te voegen:

 dns-nameservers x.x.x.x x.x.x.x

waar x is de DNS-server die u wilt gebruiken.

Als ik jou was, zou ik de installatie ongedaan maken network-manager. Naar mijn mening is het een hoop rotzooi.

U kunt alles bereiken wat u handmatig moet doen zonder u zorgen te maken over het wijzigen van uw instellingen, vooral als u meerdere netwerkadapters op de computer hebt.


29
2018-05-03 15:27



Moet ik nm opnieuw starten na het uitvoeren van de dns-wijziging? - Bhargav Nanekalva
--Bedankt. Dit is geweldig. Het werkt zelfs zonder dat netwerk-manager bedrijf. - Adam
"cat /etc/resolv.conf zou uw DNS-servers moeten tonen". Dat doet het niet. - Marinos An


nmcli versie 0.9.10

U kunt een van deze opdrachten gebruiken:

nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

nmcli -t -f IP4.DNS connection show conn-name
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

8
2017-08-19 10:03





In Ubuntu 15.10 kun je DNS krijgen

nmcli device show <interface name> 

2
2018-03-02 18:09





Lijkt te worden beheerd door de netwerkbeheerder. Kijk hier eens http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

voor een grote uitleg.

Of de korte versie om in te kijken

 /etc/NetworkManager/NetworkManager.conf

of

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

0
2018-06-18 14:46



maar /etc/NetworkManager/NetworkManager.conf bevat geen dns-servers - Anurag Uniyal