私のシステムで使用されているdnsサーバーを一覧表示するコマンドはありますか?
私は試した
$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback
「Network Manager GUIツール」に移動すると、ワイヤレスセクションに「DNS192.168.1.1 8.8.8.8 8.8.4.4」が表示されます。
コマンドラインから同じ情報を取得できますか?
私はUbuntu12.04LTSを使用しています
resolv。confは、自分で実装しない限り、実際にはもう使用されません。 ネットワークマネージャは今それを行います。 OpenDNSからGoogleのopen DNSに切り替えることがあるため、システム上のDNSサーバーを一覧表示するエイリアスを作成しました。
>Ubuntu=15
nmcli device show <interfacename> | grep IP4.DNS
Ubuntuの<=14
nmcli dev list iface <interfacename> | grep IP4
私の場合は, <interfacename>
は eth0
これは一般的ですが、必ずしもそうではありません。
これがあなたが望むものかどうかを確認してください。
編集:
私はresolvだと思います。ネットワークマネージャーが127.0.0.1をリッスンするサーバーを作成するため、confは実際には間接的に使用されますが、これはカウントされるべきではない実 このエントリの前にDNSアドレスを入力すると、使用される可能性があると思いますが、これがどのように機能するのか正確にはわかりません。 可能であれば、ほとんどの場合、ネットワークマネージャを使用するのが最善だと思います。
Ubuntu18.04および20.04では、次のものを使用できます systemd-resolve --status
これはUbuntu13.10以前で有効です。 Ubuntu14.04以降の場合は、以下を参照してください Koala Yeungの答え:14.04以降のUbuntuでどのDNSを使用しているかを知る方法
使用
nm-tool
次のような出力が得られます
NetworkManager ToolState: connected (global)- Device: eth0 [Wired connection 1] ------------------------------------------- Type: Wired Driver: e1000e State: connected Default: yes HW Address: 00:11:22:33:44:55 Capabilities: Carrier Detect: yes Speed: 1000 Mb/s Wired Properties Carrier: on IPv4 Settings: Address: 10.21.6.13 Prefix: 24 (255.255.255.0) Gateway: 10.21.6.1 DNS: 10.22.5.133 DNS: 10.22.5.3
または、DNSだけを見るには
nm-tool | grep DNS
二つのトップスコアの答え, nmcli dev list iface <interfacename> | grep IP4
と nm-tool
どちらもnetwork-managerが制御されていると仮定します。 それがある-少なくともほとんどの時間のデスクトップマシン上で。 しかし、より完全な答えは、時にはnetwork-managerが制御されていないということです。 例えば vpnc
メチャクチャなことをして /etc/resolv.conf
直接。
したがって、最初に127.0.0.1/localhostが使用されているかどうかを確認します。 これは次のようにして行うことができます dig
:
> dig something.unknown | grep SERVER:;; SERVER: 127.0.0.1#53(127.0.0.1)
今、あなたは私たちが知っている あります localhostを使用しています。 人気のある答えの一つで先に行きます。 私は好きです:
> nm-tool | grep DNS: DNS: 8.8.8.8
しかし、127.0.0.1/localhostが ない を使用して、その後、 nm-tool
'sと nmcli
の出力は誤解を招くことになります:
> dig something.unknown | grep SERVER:;; SERVER: 172.22.216.251#53(172.22.216.251)> nm-tool | grep DNS: DNS: 8.8.8.8
ここでは、, dig
が正しいと nm-tool
の情報は誤解を招く。 実際には、私がVPN-edした環境にローカルなアドレスは正しく解決されます。 GoogleのDNSはすべて 8.8.8.8
そうではありません 知っています。
これは、VPNに接続した後に、次のようにするためです。 vpnc
、それは行を入れます /etc/resolv.conf
だからそれは次のように見えます:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 1.2.3.4nameserver 127.0.0.1search MyDomain
cat /etc/resolv.conf
DNSサーバーを表示する必要があります。
あなたは変更することはできません resolv.conf
直接Ubuntuの12.04と。 ただし、それらを変更する必要がある場合は、新しいDNSサーバーを追加できます。 /etc/network/interfaces
以下を追加してファイルを作成します:
dns-nameservers x.x.x.x x.x.x.x
どこで x
使用するDNSサーバーを指定します。
私はあなただった場合、私はアンインストールします network-manager
. 私の意見では、それはがらくたの山です。
特に、コンピュータに複数のNicがある場合は、設定を変更することを心配することなく、手動で行う必要があるすべてを実行できます。
Skylar
August 29, 2022, 9:30am
#7
nmcliバージョン0.9.10
次のいずれかのコマンドを使用できます:
nmcli -t -f IP4.DNS device show eth0IP4.DNS[1]:192.168.1.1IP4.DNS[2]:8.8.8.8nmcli -t -f IP4.DNS connection show conn-nameIP4.DNS[1]:192.168.1.1IP4.DNS[2]:8.8.8.8
Ubuntu15.10では、DNSを取得できます
nmcli device show <interface name>
それを行うにはどのように多くの方法がある驚くべき。 Ubuntuサーバー18.04では、次のような追加のものをインストールしたくない場合 nm-tool
、その後、 systemd-resolve --status
DNS情報のための箱から出して動作します。
DNSサーバーだけでなく、デフォルトゲートウェイ、IPアドレス、ネットワークマスクなども取得することに興味がある場合は、次のようにします。 netplan ip leases eth0
そのすべての情報を読みやすい形式で提供します(あなたが興味を持っていると仮定します eth0
インターフェイス)。
Eli_D
August 29, 2022, 9:57am
#10
システム上では、 systemd-resolved
がインストールされていない :
$ host -v something.unknown | awk -F "[ #]" '/Received /{print$5}' | uniq192.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
Blake_P
August 29, 2022, 10:06am
#11
Ubuntu20.04で
systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"
DNSを使用する各アダプタで使用されていたDNSについて明確な結果が得られました。
DNSを再構成するには
man systemd-resolved
接続されているDNSサーバーがグローバル設定によって決定されていることを明らかにします。 /etc/systemd/resolved.conf
.
Sudoはそのファイルを編集し、コメントを解除して設定します DNS=
と FallbackDNS=
必要なIpv4DNSサーバーに送信します。例えば, DNS=8.8.8.8
と FallbackDNS=8.8.4.4
を使用します。 GoogleパブリックDNS .変更を適用するには、マシンを再起動します。
@PLA、これに感謝します ともかく それが私をこの道に導いた。
Ali
August 29, 2022, 10:15am
#12
何を見つけようとしてるの? お使いのシステムで使用されているDNSサーバー? または、DNSルックアップを実行しようとしていますか?
Mason_D
August 29, 2022, 10:32am
#14
私のシステムで使用されている@LordofTime DNSサーバー
Rowan_R
August 29, 2022, 10:41am
#15
あなたは127.0.0.1を使用しています。 DNSサーバーを実行していますか?
Gene_H
August 29, 2022, 10:50am
#16
参照https://unix.stackexchange.com/q/28941/38647 この質問の非Ubuntuバージョンの場合