Linux에서 사용중인 DNS 서버를 어떻게 확인할 수 있습니까? 네트워크 관리자를 사용하고 있으며 대학의 LAN에 유선으로 연결되어 있습니다. (도메인이 해결되지 않는 이유를 찾으려고합니다)
답변
다음과 같은 합리적인 정보를 얻을 수 있어야합니다.
$ cat /etc/resolv.conf
답변
답변
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
답변
그냥하세요 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
답변
systemd 사용을 실행하는 시스템에서 :
systemd-resolve --status
답변
새로운 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
답변
첫 번째 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)