DNSサーバーアドレスはresolv.confに保存されなくなりました。今はどこですか?


14

タスクバーのNetworkManagerインジケータを使用して、DNSサーバーを切り替えることがあります。これは以前のバージョンで正常に機能し、実際には12.04でも正常に機能しますが、1つだけ例外があります。Conkyを使用してDNSアドレスなどのシステム情報を表示し、常に表示されていることに気付きました127.0.0.1

私が調べたresolv.confところ、それはこのアドレスを取得する場所であり、確かに、それが常に言っていることです。ファイルを手動で編集しないように警告する1行があります。

nameserver 127.0.0.1

DNSサーバーアドレスを確認する唯一の方法は、ネットワークマネージャーGUIを開いて情報ページを確認することです。では、この情報は現在どこに保存されていますか?

回答:


17

情報はNetwork Managerによって内部的に管理されます。付属のnmcliツールを使用して、コマンドラインでこの情報を取得できます。

次のコマンドを使用して、特定のネットワークインターフェイスに関するNetwork Managerの情報を取得できます。

nmcli dev list iface eth0

eth0接続しているインターフェイスに置き換えます)。出力には、インターフェイスおよびそのインターフェイスで現在アクティブな接続に関する情報が含まれます。

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           802-3-ethernet
...
IP4.DNS[1]:                             192.168.0.1
...

この出力から目的の情報を抽出するのはそれほど難しくないはずです。

の出力に依存しないこのデータにアクセスするプログラムによる方法が必要な場合nmcli、この情報はNetwork ManagerのD-Busインターフェースからも利用できるはずです。


どうもありがとう、それはいくつかの素晴らしい情報です。そのnmcliコマンドを使用してさまざまな興味深いパラメーターをリストする単純なシェルスクリプトを作成するのは非常に簡単です。たぶん、何か便利なものを作り上げて、どこかで共有することができます。Network Managerが必要だとは本当に思っていなかったし、誰かがこれを行う別の方法があるかもしれないと思うが、これは私にとってはうまくいく。
マーティフライド

さて、リッスンしているサーバーがNetwork Managerによって開始され127.0.0.1たインスタンスであることがわかりますdnsmasq(の出力を参照sudo netstat -tlnp)。ただし、それは実装の詳細と考えて、ここで決定を下すものであるため、必要な情報をNetwork Managerに問い合わせることをお勧めします。
ジェームズヘンストリッジ

そのような良い情報を提供してくれてありがとう。また、質問を編集してくれたことにも感謝します-将来はもっと時間をかけてみます。:)私の言い訳は、12.04にアップグレードしたばかりで、複数の戦線で少し火を消していたことです。:)
マーティフライド

4
nmcli dev list iface私のために動作しませんが、nmcli dev show[ubuntu 15.04]
ベニCherniavsky-Paskin

10

Ubuntu開発者は、これらの変更を文書化する必要があります /etc/resolv.conf、、はありません。

簡単なコマンドのリストを次に示します。

  1. 現在のDNSサーバーを表示する

    nm-tool | grep DNS
    
  2. で静的DNSサーバーを定義します/etc/dhcp/dhclient.conf。次の行を追加し、ローカルリゾルバーを再起動します。

    supersede domain-search "sub.mydomain.com", "domain.com";
    prepend domain-name-servers 192.168.0.1;
    

    コマンドプロンプトから:

    invoke-rc.d network-manager restart
    

その他のドキュメント:resolvconf(8)、/ usr / share / doc / resolvconf / README.gz。
-jdthood

4

nmcliを使用すると、必ずしも完全な答えが得られるとは限らないことに注意してください。たとえば、openconnect(またはおそらくvpnc)を使用してVPNを開始し、resolvconfパッケージをインストールしている場合(/etc/resolv.confの自動管理を行うため)、まだ自動的に挿入できることがわかります。 127.0.0.1より前の/etc/resolv.confへのVPNのDNS設定 この状況では、「nmcli -f IP4 dev list」をチェックするだけでは、真の現在のDNSリストは得られません。このシナリオがあなたに影響を与えるかどうかはわかりませんが、言及する価値があると考えました。


追加情報をありがとう。もっと学ぶことは常に良いことです。私のユースケースでは、主に2つの可能なDNSアドレスのどちらがアクティブであるかを知りたいだけなので、心配する必要はありません。
マーティフライド

networkmanagerを使用してVPNに接続している場合、どのコマンドでDNSを取得できますか?DNSは機能していますが、見つかりません。
ホルヘスアレス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.