사용중인 DNS 서버 (Linux에서)를 어떻게 확인할 수 있습니까? 네트워크 관리자와 대학 LAN에 유선 연결을 사용하고 있습니다. (도메인이 해결되지 않는 이유를 찾으려고합니다.)

답변

다음에서 합리적인 정보를 얻을 수 있어야합니다.

$ cat /etc/resolv.conf 

댓글

  • 그러나 (최신 Linuxen에서) /etc/nsswitch.conf의 내용은 사용되는 이름 서비스 (DNS, LDAP 등)와 순서를 나타냅니다. fgrep hosts: /etc/nsswitch.conf라고 말하세요. DNS 만 참조하는 경우 /etc/resolv.conf가 네임 서버를 찾을 수있는 올바른 위치입니다. 하지만 ‘ mDNS (일명 ZeroConf, 일명 Avahi, 일명 Bonjour 등) 등도 사용할 가능성이 있습니다.이 경우 상황은 사용자에 따라 다릅니다. ‘ 사용 중입니다.
  • 이 파일은 일반적으로 Ubuntu에서 127.0.1.1을 가리 킵니다. ‘는 실제 DNS 캐시 서버가 아니라 로컬 DNS 캐시 서버입니다. 업스트림.
  • @BarryKelly 라우터가 무엇을 사용하는지 확인한 다음
  • 여러 업스트림 서버를 구성한 경우? 현재 어떤 것이 사용되는지 어떻게 알 수 있습니까?
  • 다양한 상황에서보다 강력한 접근 방식을 보려면 @ G32RW 또는 @Lonniebiz의 답변을 참조하십시오. 127.0.0.53

Answer

여기 “방법 :

( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS 

이전 작업 은 위와 같습니다.

nm-tool | grep DNS 

Debian에서는 네트워크 관리자 패키지 설치됨.

댓글

  • 이 항목은 VPN 를 사용하는 경우 유용합니다. NetworkManager . /etc/resolv.conf는 컴퓨터를 가리키며 dnsmasq NetworkManager b에서 구성된대로 이름을 확인합니다. >.
  • Debian에서는 network-manager 패키지가 필요합니다.
  • nm-tool은 최신 Linux에서는 사용할 수 없습니다. 예를 들어 그렇지 않습니다. Debian 8의 ‘ network-manager ‘ 패키지에 있습니다.
  • I ‘ 답변을 업데이트하여 가 2016 년에 저를 위해 일하고 있습니다.
  • 이게 최선의 답변입니다. resolve.conf가 항상 진실을 보여주는 것은 아닙니다.

답변

systemd를 실행하는 시스템에서 :

systemd-resolve --status 

댓글

  • systemd-resolve : 인식 할 수없는 옵션 ‘-status ‘
  • Ubuntu 18.04 Bionic Beaver에서 수행하는 새로운 기본 방법입니다. 모두 익숙해 지세요!
  • 이것은 유일한 방법입니다. 다른 사람들이 127.0.0.53을 반환했기 때문에 저에게 효과적이었습니다.
  • 나는 무엇을 읽고 있습니까? DNSSEC 레코드 만 표시됩니다.

Answer

DNS를 쿼리 할 수도 있습니다. 서버가 결과를 반환했습니다. 다음을 시도해보세요.

dig yourserver.somedomain.xyz 

그리고 응답은 어떤 서버가 결과를 반환했는지 알려줍니다. 관심있는 출력은 다음과 같습니다.

;; Query time: 91 msec ;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx) ;; WHEN: Tue Apr 02 09:03:41 EDT 2019 ;; MSG SIZE rcvd: 207 

dig에 쿼리하도록 지시 할 수도 있습니다. dig @server_ip

코멘트

  • Debian에서 dnsutils 패키지.
  • 로컬 머신에서 실행되는 DNS 마스킹 / 캐싱 서비스를 사용하는 경우 실제 DNS 서버를 숨 깁니다.
  • Ubuntu 18.04는 로컬 DNS 캐시 만 표시합니다. SERVER: 127.0.0.53#53(127.0.0.53)

Answer

nslookup 를 수행하세요. 결과의 일부에는 사용중인 서버가 포함됩니다.

아래 예에서 사용 된 DNS 서버는 8.8.8.8입니다.

$ nslookup google.com Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: google.com Address: 172.217.22.174 

댓글

  • 프롬프트에 입력 할 내용의 예를 제공 할 수 있습니까?
  • 예 : $ nslookup www.google.com
  • Debian에서는 dnsutils 패키지가 필요합니다.
  • 최근 Ubuntu에서 이것은 이 주석
  • 에 이미 암시 된 것처럼 로컬 캐시 서버 127.0.0.1을 다시 가리 킵니다. 7 오류로 종료되지만 vm이므로 Windows 호스트에서 nslookup google.com를 수행하고 네임 서버를 찾았습니다. /etc/resolv.conf (예 : nameserver xx.xx.xx.xx)에 추가하고 서비스 network를 다시 시작하면 모두 괜찮습니다. 당신을 찬양합니다.

답변

network-manager 명령 nmcli, 다음을 수행하십시오.

nmcli --fields ipv4.dns,ipv6.dns con show [connection_name] 

최신 버전의 네트워크 관리자 (예 : Ubuntu 16.04)에서 필드 이름 약간 다릅니다.

nmcli --fields ip4.dns,ip6.dns con show [connection_name] 

연결 이름을 모를 경우 다음을 사용하십시오.

nmcli -t --fields NAME con show --active 

예 : 이전 버전의 nmcli에서 :

$ nmcli --fields ip4.dns,ip6.dns con show "Wired connection 1" IP4.DNS[1]: 172.21.0.13 IP4.DNS[2]: 172.21.0.4 

댓글

  • 내 결과 : order «con» «show» is not valid.
  • Ubuntu 15.10의 네트워크 관리자 1.0.4에서 잘 작동합니다. 이전 버전을 사용하고 계신가요?
  • 표 형식이 매우 나쁩니다. Powershell과 유사한 형식을 얻고 싶습니다.
  • Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH. 반환
  • 간단히 nmcli는 우분투 19.04에서 필요한 전부였습니다.

답변

첫 번째 DNS 서버 (IP 전용) :

  • cat는 DNS 구성을 출력합니다.
  • grep 필터 만 출력합니다. 네임 서버
  • head는 첫 번째 행 / 인스턴스 만 유지합니다.
  • cut IP를 가져옵니다. 행의 일부 (구분자로 “”가있는 두 번째 열)

DNS IP를 환경 변수에 넣으려면 다음과 같이 사용할 수 있습니다.

export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i "^nameserver"|head -n1|cut -d " " -f2) 

댓글

  • grep -m 1는 첫 번째 일치 후 일치를 중지하므로 ‘ head
  • 파이프 라인을 더 가볍게하기 위해 Perl 정규 표현식으로 그룹을 캡처하는 것은 매우 깔끔하고 grep은 파일을 가져옵니다. 인수 : grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf. grep perl 정규식으로 그룹 캡처
  • IPv4와 ‘가 모두 있습니다. IPv6 DNS 서버. 또한 보조 서버는 이유가 있습니다. 이 명령이 반환하는 것은 무엇입니까? 첫 번째는 무시하고 나머지는 무시하는 것이 좋습니까?

답변

네트워크 관리자는 아마도 대학의 DHCP 서버에서 모든 네트워크 매개 변수를 얻을 수 있습니다.

쉘을 사용하여 dns 설정을 확인하지 않으려면 (hesse 및 Alexios에서 설명한대로) 볼 수 있습니다. “네트워크 정보”패널에서.

네트워크 관리자 아이콘에서 마우스 오른쪽 버튼을 누르고 메뉴에서 “연결 정보”를 선택하면이 패널로 이동할 수 있습니다.

답변

resolvectl

사용

$ resolvectl status | grep -1 "DNS Server" DNSSEC supported: no Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 1.0.0.1 

호환성을 위해 systemd-resolve는 많은 배포판에서 resolvectl에 대한 심볼릭 링크입니다. Ubuntu 18.10 용 :

$ type -a systemd-resolve systemd-resolve is /usr/bin/systemd-resolve $ ll /usr/bin/systemd-resolve lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl $ type -a resolvectl resolvectl is /usr/bin/resolvectl $ file /usr/bin/resolvectl /usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped 

댓글

  • Ubuntu 18.10에서 완벽하게 작동합니다.

답변

Fed ora 25는 또한 sudo 명령에 대해 명령 줄에서 유사한 느린 응답을 보였습니다.

nmcli dev show | grep DNS 

3 개의 어댑터 (2 개 활성) 중 하나에 만 DNS 항목이있는 것으로 나타났습니다. 항목이없는 하나의 활성 카드에 DNS 항목을 추가하면됩니다. 모든 것이 정상이며 응답 시간이 즉각적입니다.

댓글

  • 또는

답변

Ubuntu에서> = 15

nmcli device show <interfacename> | grep IP4.DNS 

<interfacename>를 자신의 것으로 교체합니다.

Ubuntu에서 < = 14

명령

 nmcli dev list iface <interfacename> | grep IP4 

<interfacename>를 자신의 것으로 바꿉니다.

 nmcli device show eth0 | grep IP4.DNS 

또는

 nmcli dev list iface eth0 | grep IP4 

모든 DNS 서버를 나열합니다 ( 1).

댓글

  • nmcli dev list iface [devicename]가 올바른 명령입니다.
  • I ‘ < 인터페이스 >가 >
  • debian에서 오류가 발생합니다 .– $ nmcli dev li st iface eth0 오류 : ‘ dev ‘ 명령 ‘ 목록 ‘는 유효하지 않습니다.
  • nmcli는 RH 특정 명령입니다.
  • 정답입니다!

답변

최근 Fedora 33에서는

# resolvectl dns Global: Link 2 (enp0s31f6): Link 3 (wlp4s0): 1.1.1.1 8.8.8.8 Link 4 (virbr0): Link 5 (virbr0-nic): 

systemd-resolved가 활성화되어 있으면 cat /etc/resolv.conf 파일을 제어하는 사람을 알려줍니다.

자세한 내용을 원하면 resolvectl status resolvectl statistics를 사용할 수 있으며 캐시를 플러시 할 수도 있습니다.

문제를 해결하려면 수준을 DEBUG로 설정 한 후 journalctl -u systemd-resolved -f -o cat | grep Looking를 사용할 수 있습니다. sudo resolvectl log-level debug

답변

CentOS에서는 다음을 사용할 수 있습니다.

/usr/sbin/named -v 

Answer

systemd-resolved가 설치되지 않은 시스템 :

 $ host -v something.unknown | awk -F "[ #]" "/Received /{print$5}" | uniq 192.168.1.1  

NetworkManager가 실행중인 시스템 :

$ ( nmcli -f IP4.DNS,IP6.DNS dev list || nmcli -f IP4.DNS,IP6.DNS dev show ) 2>/dev/null | awk "/DNS/{print$NF}" 192.168.1.1 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다