시스템에서 사용하는 DNS 서버를 나열하는 명령 줄 generated by resolvconf(8) #

시스템에서 사용하는 DNS 서버를 나열하는 명령이 있습니까?

나는 시도했다

$ 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

그러나 “Network Manager GUI Tool”로 이동하면 무선 섹션에 서버가 표시되지 않고 “DNS 192.168.1.1 8.8.8.8 8.8.4.4″가 표시됩니다.

명령 줄에서 동일한 정보를 얻을 수 있습니까?

우분투 12.04 LTS를 사용하고 있습니다



답변

직접 구현하지 않으면 resolv.conf는 더 이상 실제로 사용되지 않습니다. 이제 네트워크 관리자가 수행합니다. 때때로 OpenDNS에서 Google의 공개 DNS로 전환 할 때 시스템의 DNS 서버를 나열하기 위해 별칭을 만들었습니다.

우분투> = 15

nmcli device show <interfacename> | grep IP4.DNS

우분투 <= 14

nmcli dev list iface <interfacename> | grep IP4

필자의 경우 <interfacename>is eth0가 일반적이지만 항상 그런 것은 아닙니다.

이것이 원하는 것인지 확인하십시오.

편집하다:

네트워크 관리자가 127.0.0.1에서 수신 대기하는 서버를 작성하기 때문에 resolv.conf가 실제로 간접적으로 사용된다고 생각하지만, 이것이 구현 세부 사항이라고 말하면 안됩니다. 이 항목을 입력하기 전에 DNS 주소를 입력하면 제대로 사용될 수 있지만 이것이 어떻게 작동하는지 잘 모르겠습니다. 가능한 경우 대부분의 경우 네트워크 관리자를 사용하는 것이 가장 좋습니다.


답변

이것은 Ubuntu 13.10 및 이전 버전에 유효합니다. Ubuntu 14.04 이상에 대해서는 Koala Yeung의 답변 : 14.04부터 Ubuntu에서 내가 사용하는 DNS를 확인하는 방법을 참조하십시오 .


사용하다

nm-tool

당신은 비슷한 출력을 얻을 것이다

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

아니면 DNS 만 보려고

nm-tool | grep DNS

답변

최고 점수를 얻은 두 가지 답변은 모두 네트워크 관리자가 제어 nmcli dev list iface <interfacename> | grep IP4하고 nm-tool있다고 가정합니다. 적어도 대부분의 데스크톱 컴퓨터에서는 무엇입니까? 그러나 더 완전한 대답은 때때로 네트워크 관리자가 통제 할 수 없다는 것입니다. 예를 들어 직접 vpnc엉망입니다 /etc/resolv.conf.

따라서 : 127.0.0.1/localhost가 사용되는지 먼저 확인하십시오. 이것은 다음과 dig같이 할 수 있습니다 :

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

이제 우리 localhost를 사용 하고 있음을 알고 있습니다. 인기있는 답변 중 하나를 계속 진행하십시오. 나는 좋아한다 :

> nm-tool | grep DNS:
    DNS:             8.8.8.8

그러나 127.0.0.1/localhost를 사용 하지 않으면nm-tool 의 및 nmcli출력이 잘못 될 수 있습니다.

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

여기에 dig정확하며 nm-tool정보가 잘못되었습니다. 실제로 VPN으로 연결 한 환경의 로컬 주소는 올바르게 확인됩니다. Google의 DNS 8.8.8.8 모르는 모든 것.

는로 VPN에 연결 한 후 다음과 같이 vpnc라인을 연결하기 때문입니다 /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 1.2.3.4
nameserver 127.0.0.1
search MyDomain

답변

cat /etc/resolv.conf DNS 서버를 보여 주어야합니다.

resolv.confUbuntu 12.04를 사용 하여 직접 수정할 수 없습니다 . 그래도 변경해야 할 경우 /etc/network/interfaces다음을 추가 하여 파일에 새 DNS 서버를 추가 할 수 있습니다
.

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

x사용하려는 DNS 서버는 어디에 있습니까 ?

내가 당신이라면, 나는 제거 할 것 network-manager입니다. 내 의견으로는 그것은 쓰레기 더미입니다.

특히 컴퓨터에 여러 개의 NIC가있는 경우 설정 변경에 대한 걱정없이 수동으로 수행해야하는 모든 작업을 수행 할 수 있습니다.


답변

Ubuntu 18.04에서는 다음을 사용할 수 있습니다 systemd-resolve --status


답변

nmcli 버전 0.9.10

다음 명령 중 하나를 사용할 수 있습니다.

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

답변

우분투 15.10에서는 DNS를 얻을 수 있습니다

nmcli device show <interface name>