사용중인 DNS 서버 (Linux에서)를 어떻게 확인할 수 있습니까? 네트워크 관리자와 대학 LAN에 유선 연결을 사용하고 있습니다. (도메인이 해결되지 않는 이유를 찾으려고합니다.)
답변
다음에서 합리적인 정보를 얻을 수 있어야합니다.
$ cat /etc/resolv.conf
댓글
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
/etc/nsswitch.conf
의 내용은 사용되는 이름 서비스 (DNS, LDAP 등)와 순서를 나타냅니다.fgrep hosts: /etc/nsswitch.conf
라고 말하세요. DNS 만 참조하는 경우/etc/resolv.conf
가 네임 서버를 찾을 수있는 올바른 위치입니다. 하지만 ‘ mDNS (일명 ZeroConf, 일명 Avahi, 일명 Bonjour 등) 등도 사용할 가능성이 있습니다.이 경우 상황은 사용자에 따라 다릅니다. ‘ 사용 중입니다.127.0.0.53