私のシステムで使用されている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"が表示されます。
コマンドラインでも同じ情報を得ることができますか?
使用しているOSはUbuntu 12.04 LTSです。
resolv.confは、自分で実装しない限り、もうあまり使われていません。 今はネットワーク管理者がやってくれています。 OpenDNSからGoogle'のオープンDNSに切り替えることがあるので、自分のシステムのDNSサーバーをリストアップするためのエイリアスを作りました。
Ubuntu >= 15。
nmcli device show <interfacename> | grep IP4.DNS
Ubuntu <= 14
nmcli dev list iface <interfacename> | grep IP4
私の場合、<interfacename>
はeth0
で、これは一般的ですが、必ずしもそうではありません。
これがあなたの望むものであるかどうかを確認してください。
EDIT
ネットワーク管理者が127.0.0.1をリッスンするサーバーを作るので、実際にはresolv.confは間接的に使われていると思いますが、これは実装上の詳細であり、あてにしてはいけないと言われました。 このエントリの前にDNSアドレスを入力すれば、それが使われるかもしれないと思いますが、正確な仕組みはわかりません'。 可能であれば、ほとんどの場合、ネットワークマネージャを使用するのがベストだと思います。
これは、Ubuntu 13.10以前のバージョンで有効です。Ubuntu 14.04以降については、Koala Yeung's answer to:How to know what DNS am I using in Ubuntu from 14.04 onwardsをご覧ください。
をご覧ください。
使用方法
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