web-dev-qa-db-ja.com

/etc/resolv.conf.dを配置して/etc/resolv.confを変更する「正しい方法」は何ですか?

私は昔、resolv.confは静的で、自分で編集しました。

その後、DHCPクライアントは、いくつかの静的エントリとDHCPリースから取得したものを使用して、それを書き換えます。

最近、いくつかのディストリビューション-私のように(Linux Mint 18.1)は/etc/resolv.conf.dメカニズムにはスクリプトのいくつかのサブディレクトリがあり、まあ、私はそれの表と裏を作成することはできません。

では、正しい方法は何ですか

  • dHCPリースで取得したDNSサーバーを使用するか使用しないかを示すには?
  • 常に、またはDHCPリースで取得したネームサーバーがない場合のフォールバックとして、resolv.confに固定エントリを追加するには?
  • ファイル内の相対的な順序に関する決定を行うには?

自分でスクリプトを書いてもかまいません。既存のメカニズムに「反抗」したり、重複したりしたくないだけです。

11
einpoklum

答えは簡単です。resolv.conf.dフォルダーは/ etc/resolvconf /にあり、head/base/originalおよびtailファイルが含まれています。編集した場合、それぞれが/ etc /内のresolv.confファイルを更新します

/ etc /のresolv.confの先頭に静的DNSアドレスを置きたいとしましょう(再起動するたびにデフォルト設定に自動的にリセットされるため)head/etc/resolvconf/resolvconf.d/内のファイルと、たとえば次のように入力します。

nameserver 1.1.1.1
nameserver 1.0.0.1

その後、次を使用してresolvconfサービスを再起動します。

Sudo service resolvconf restart

/ etc /にcatresolv.confを追加すると、新しい変更が表示されます。

ファイルの下に何かを入れたい場合も同じことが当てはまります。/etc/でtailの代わりにheadを使用しますresolvconf/resolvconf.d /

PS:これは100%テストされ、UbuntuとDebianで動作しています

編集:私はすでにあなたの質問の最後の2つの箇条書きに答えました、今DHCPによって提供されるDNSアドレスを使用しない方法について話している最初の箇条書きについてです。これは実際にインストールしたDNSソフトウェア/パッケージに依存するため、これを確認することをお勧めします Post 、およびdnsmasqがある場合は、その下のものも読んでください。

2
M03

resolve.confとこれらのようなメカニズムは、過去数年から現在まで存在しています。このファイルを処理するコマンドラインdhclientresolvconfがありますが、近年Linuxはnmcliの名前でNetworkManagerの構成用の新しいインターフェイスを導入しています。これは、(ランタイムではなく)すべての永続的なネットワーク構成を管理するための豊富なコマンドです。あなたは次のようなものを使うことができます:

$ nmcli connection modify eth0 ipv4.dns 8.8.8.8

このコマンドは上書きされますresolv.confファイル。 RHCAでは、resolv.confを手動で編集してそのコマンドを使用しないことをお勧めします。あなたが言及したresolvconfディレクトリについて、私はいくつかのサービスがOpenVpnのような独自の設定を使用するようにDNSのために独自の設定を持つことができると言えるでしょう。確認してもいい /etc/nsswitch解決に関する詳細情報を取得するためのファイル。

0
Ali Ghasempour