답변:
다음과 같은 합리적인 정보를 얻을 수 있어야합니다.
$ cat /etc/resolv.conf
127.0.0.53
/etc/resolv.conf
과 당신의 컴퓨터를 가리 킵니다 dnsmasq
으로 구성된 이름을 확인할 네트워크 매니저 .
network-manager
패키지 가 필요합니다 .
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
을 사용하여 특정 DNS 서버를 쿼리하도록 지시 할 수도 있습니다dig @server_ip
dnsutils
패키지 가 필요합니다 .
SERVER: 127.0.0.53#53(127.0.0.53)
그냥하세요 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
dnsutils
패키지 가 필요합니다 .
nslookup google.com
Windows 호스트에서 수행했으며 네임 서버를 찾았습니다. 다음 /etc/resolv.conf
과 같이 추가하고 nameserver xx.xx.xx.xx
service를 다시 시작 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 --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
.
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 /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
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
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
합니다. grep perl 정규 표현식으로 Capture 그룹을
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
호환성 을 위해 Ubuntu 18.10과 같이 많은 배포판에 systemd-resolve
대한 심볼릭 링크입니다 resolvectl
.
$ 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
명령
nmcli dev list iface <interfacename> | grep IP4
"인터페이스 이름"을 사용자의 것으로 바꾸십시오.
Examlpe
nmcli dev list iface eth0 | grep IP4
모든 DNS 서버가 나열됩니다 (하나 이상을 사용하는 경우).
nmcli dev list iface [devicename]
올바른 명령입니다
나는 Fedora 25를 가지고 있으며 sudo 명령과 명령 행에서 비슷한 느린 응답을 보였습니다.
nmcli dev show | grep DNS
내 3 개의 어댑터 중 하나 (2 개의 활성) 만 DNS 항목을 가지고 있음을 보여주었습니다. 엔트리가없는 하나의 활성 카드에 DNS 엔트리를 추가함으로써-presto! 모든 것이 좋고 응답 시간이 즉각적입니다.
CentOS에서는 다음을 사용할 수 있습니다.
/usr/sbin/named -v
/etc/nsswitch.conf
따라 사용되는 이름 서비스 (DNS, LDAP 등) 및 순서가 결정됩니다. 말해봐fgrep hosts: /etc/nsswitch.conf
. DNS 만 참조하는 경우/etc/resolv.conf
네임 서버를 찾을 수있는 올바른 장소입니다. 그러나 mDNS (일명 ZeroConf, 일명 Avahi, 일명 Bonjour 등)를 사용하고있을 가능성이 있습니다.이 경우 상황은 사용중인 항목에 따라 다릅니다.