resolv.confを継続的に上書きする場合は、dhclientを使用して静的DNSを設定する方法は?

resolv.confを継続的に上書きする場合は、dhclientを使用して静的DNSを設定する方法は?

フォローするDebian ネットワーク設定 Wiki、私は静的設定を試していますオープンNIC DNS成功しませんでした。最初に自分で編集をしてみましたが、/etc/resolv.confずっと上書きされました。 Wikiページには3つの可能な範囲ソースがリストされています。

  1. これresolvconfプログラム
  2. これnetwork-manager悪魔
  3. DHCPクライアント
$ apt-cache policy resolvconf
resolvconf:
  Installed: (none)
  Candidate: 1.76.1
  Version table:
     1.76.1 0
        500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages
$ apt-cache policy network-manager
network-manager:
  Installed: (none)
  Candidate: 0.9.10.0-7
  Version table:
     0.9.10.0-7 0
        500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages

私が持っていないかインストールしていないことを考えると、resolvconfソースnetwork-managerがDHCPクライアントであると仮定できます。wicd回避策を使用していますが、network-managerプロパティに静的DNSを設定してもwicd-gtk機能しません。だから/etc/dhcp/dhclient.conf追加して編集しましたが、まだsupersede domain-name-servers 50.116.40.226;次のように/etc/resolv.confなります。

$ cat /etc/resolv.conf
nameserver 2001:558:feed::2
nameserver 2001:558:feed::1

正確に何が起こっているのでしょうか?インストールしてresolvconf動作することを確認してみますか?あきらめてwicdインストールする必要がありますかnetwork-manager

ベストアンサー1

あなたのDHCPサーバーが不要な応答を送信しているようです。したがって、代替パラメータを設定すると、resolv.confも上書きされます。 +i 属性を追加することは解決策かもしれませんが、いくつかの変更が必要な場合は、手動で設定を解除してリセットする必要があります。

実際には、クライアント側でいくつかのスクリプトを書くことができます(参照:man 8 dhclient-script)。

このトピックも説明されています。Debian Wiki:

別の方法は、dhclient-scriptフックスクリプトを利用することです。 dhclient-script(8) によると:

起動時に、クライアントスクリプトは最初に/etc/resolv.confファイルを生成するために使用されるシェル関数make_resolv_confを定義します。デフォルトの動作をオーバーライドするには、Enter フックスクリプトでこの関数をオーバーライドします。したがって、次のようにしてdhclientがresolv.confを上書きするのを防ぎます。

echo 'make_resolv_conf() { :; }' > /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone
chmod 755 /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone

dhclient-scriptが読み取るファイルを決定するためにrun-parts(8)を使用するため、実行ビットが必要です。同じ理由で、ファイル名には文字、数字、下線、ハイフン以外は何も含めることはできません。

おすすめ記事