システムで使用されている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 OVERWRITTEN
nameserver 127.0.0.1
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
ただし、サーバーは表示されません。「ネットワークマネージャーGUIツール」に移動すると、ワイヤレスセクションに「DNS 192.168.1.1 8.8.8.8 8.8.4.4」が表示されます。
コマンドラインから同じ情報を取得できますか?
Ubuntu 12.04 LTSを使用しています
resolv.confは、自分で実装しない限り、もう実際には使用されません。ネットワーク管理者がこれを実行します。 OpenDNSからGoogleのオープンDNSに切り替えることがあるため、システム上のDNSサーバーをリストするエイリアスを作成しました。
buntu> = 15
nmcli device show <interfacename> | grep IP4.DNS
buntu <= 14
nmcli dev list iface <interfacename> | grep IP4
私の場合、<interfacename>
はeth0
です。これは一般的ですが、常にそうとは限りません。
これがあなたの望むものかどうかを確認してください。
編集:
ネットワークマネージャーが127.0.0.1をリッスンするサーバーを作成するため、resolv.confが実際に間接的に使用されると思いますが、これは実装の詳細であり、信頼すべきではないと言われました。このエントリの前にDNSアドレスを入力すると、それらが使用される可能性があると思いますが、これがどのように機能するのか正確にはわかりません。可能であれば、ほとんどの場合、ネットワークマネージャーを使用するのが最善だと思います。
これはUbuntu 13.10以前で有効です。 Ubuntu 14.04以降については、 Koala Yeungの回答:14.04以降のUbuntuで使用しているDNSを知る方法
つかいます
nm-tool
次のような出力が得られます
NetworkManager Tool
State: 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
トップスコアの2つの答えnmcli dev list iface <interfacename> | grep IP4
とnm-tool
は、どちらも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)
これでare localhostを使用していることがわかりました。人気のある回答の1つに進みます。好き:
> nm-tool | grep DNS:
DNS: 8.8.8.8
しかし、127.0.0.1/localhostがnotである場合、nm-tool
と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で接続した環境のローカルアドレスは正しく解決されます。 GoogleのDNS 8.8.8.8
does n'tについて知っているすべて。
これは、vpnc
を使用してVPNに接続した後、/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 OVERWRITTEN
nameserver 1.2.3.4
nameserver 127.0.0.1
search MyDomain
cat /etc/resolv.conf
にはDNSサーバーが表示されます。
Ubuntu 12.04でresolv.conf
を直接変更することはできません。ただし、それらを変更する必要がある場合は、次を追加することにより、/etc/network/interfaces
ファイルに新しいDNSサーバーを追加できます。
dns-nameservers x.x.x.x x.x.x.x
ここで、x
は、使用するDNSサーバーです。
私があなただったら、network-manager
をアンインストールします。私の意見では、それはがらくたの山です。
特にコンピューターに複数のNICがある場合は、設定を変更することを心配せずに、手動で行う必要があるすべてを実行できます。
Ubuntu 18.04では、systemd-resolve --status
を使用できます
nmcliバージョン0.9.10
次のいずれかのコマンドを使用できます。
nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8
nmcli -t -f IP4.DNS connection show conn-name
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8
Ubuntu 15.10では、DNSを取得できます
nmcli device show <interface name>
ネットワーク管理者によって管理されているようです。こちらをご覧ください http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html
大きな説明のため。
または、それを見る短いバージョン
/etc/NetworkManager/NetworkManager.conf
または
<SYSCONFDIR>/NetworkManager/NetworkManager.conf