web-dev-qa-db-ja.com

どのDNSサーバーを使用していますか?

Linuxで使用しているDNSサーバーを確認するにはどうすればよいですか?ネットワークマネージャーと大学のLANへの有線接続を使用しています。 (ドメインが解決されない理由を見つけようとしています)

271
Grzenio

あなたはいくつかの合理的な情報を次の場所で得ることができるはずです:

$ cat /etc/resolv.conf 
231
user13742

ここに私がそれをする方法があります:

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

これは 以前に機能した を上記の方法で実行します。

nm-tool | grep DNS

Debianでは、network-managerパッケージをインストールする必要があります。

228
Lonniebiz

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

DigDig @server_ipを使用して特定のDNSサーバーをクエリするように指示することもできます

78
Freiheit

Systemdを実行しているシステムでは、以下を使用します。

systemd-resolve --status
72
G32RW

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
58
Sam

新しい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
14
Sameer

最初のDNSサーバーを取得するには(IPのみ):

cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
  • catはDNS構成を出力します
  • grepはネームサーバーのみをフィルタリングします
  • headは最初の行/インスタンスのみを保持します
  • cut行のIP部分を取ります(区切り文字として ''を使用した2番目の列)

DNS IPを環境変数に入れるには、次のように使用できます。

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

ネットワークマネージャーを使用している場合は、おそらく大学のDHCPサーバーからすべてのネットワークパラメーターを取得します。

シェルを使用してDNS設定を確認したくない場合は(ヘッセとAlexiosで説明されているように)、パネルの[ネットワーク情報]から確認できます。

このパネルにアクセスするには、ネットワークマネージャーアイコンを右クリックして、メニューから[接続情報]を選択します。

8
tombolinux

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は、Ubuntu 18.10のように、多くのディストリビューションの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
5
olibre

コマンド

 nmcli dev list iface <interfacename> | grep IP4

「interfacename」を自分のものに置き換えます。

 nmcli dev list iface eth0 | grep IP4

これにより、すべてのDNSサーバーが一覧表示されます(複数を使用する場合)。

3
Maythux

私はFedora 25を使用しており、コマンドラインでSudoコマンドと同様の遅い応答がありました。

nmcli dev show | grep DNS 

私の3つのアダプター(2つがアクティブ)のうちの1つだけがDNSエントリーを持っていることを示しました。エントリがなかった1つのアクティブカードにDNSエントリを追加する-presto!すべてが良好で、応答時間は即時です。

3
CRTLBREAK

CentOSでは、以下を使用できます。

/usr/sbin/named -v
0
Miloud Eloumri

DNSを見つけたら、Digで直接クエリできます:Dig @<dns ip> <Host to lookup>。機能する場合、SERVERの後にステータスNOERRORが表示されます。

0
ohlemacher

私のコマンド:

( \nmcli dev list || \nmcli dev show ) 2>/dev/null | grep DNS || egrep -v '^(#|$)' /etc/resolv.conf
0
SebMa