DHCP サーバーから IP を取得しますが、Debian では DNS サーバーを静的に設定します。

DHCP サーバーから IP を取得しますが、Debian では DNS サーバーを静的に設定します。

私はDHCPサーバーからIPを取得するDebianシステムを持っていて、そのシステムで実行されている独自のBind9サーバーを持っていますlocalhost。システムはDHCP割り当てDNSサーバーと一致するようにファイルを更新するため、起動するたびnameserver 127.0.0.1に作成する必要があります。私のネットワーク上のDHCPサーバーから更新されたDNSサーバー情報を取得するのを/etc/resolv.conf防ぐために、resolv.conf次のことを書いてみました/etc/network/interfaces

iface eth0 inet dhcp
    dns-nameservers 127.0.0.1

ただし、これはシステムに静的IPがある場合にのみ機能します。

/etc/resolv.confシステムに固定IPを提供せずにDHCPサーバーが割り当てたDNSサーバーによって上書きされるのを防ぐにはどうすればよいですか?

私はdhclientを使います。

答え1

を使用していると確信している場合は、次のことができますdhclient

1.dhclient設定変更(推奨)

ファイルを編集し、次の行を/etc/dhcp/dhclient.conf検索して削除します。domain-name-servers,

request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;

2./etc/resolv.conf上書き防止

ファイルを上書きしないように、次のコマンドを実行するか、またはrootを使用して実行します。sudo

chattr +i /etc/resolv.conf

これはやや重複した質問です。Debian で静的 DNS を設定できません。しかし、コメントできないため、この回答を追加しました。

答え2

以下を追加できます。

supersede domain-name-servers 127.0.0.1;

/etc/dhcp/dhclient.confへ

答え3

パッケージを削除するresolvconfと、自分のパッケージは/etc/resolv.conf上書きされません。

答え4

ネットワークファイル/etc/network/interfaces.confを編集し、PEERDNS = "no"を追加します。これはFedoraで動作します。うまくいけば、これはDebianで動作します。 chattrを使用することもできます。誰もファイルを変更できないようにします。

関連情報