私は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を使用することもできます。誰もファイルを変更できないようにします。