私のシステムで使用されている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.DNSUbuntuの<=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バージョンの場合