限られた組み込み環境で DHCP によって生成されると、resolv.conf を動的に更新します。

限られた組み込み環境で DHCP によって生成されると、resolv.conf を動的に更新します。

私はyoctoで構築された組み込みデバイスにカスタムLinuxイメージを使用しています。 ifup/ifdown インターフェイス構成以外のネットワーク管理機能はありません。 /etc/resolv.confはdhcp(dhcpcd)によって生成され、システムにはこれらのファイルを管理する他のソフトウェア(resolvconfやdnsmasqなど)はありません。

# Generated by dhcpcd from eth0.dhcp
# /etc/resolv.conf.head can replace this line
domain routername.home
nameserver 192.168.0.1

この設定を使用すると、/etc/resolv.confを動的に更新して更新できますか?

答え1

update resolv.confを検索すると、このコミュニティで多くの結果が得られます。たとえば、

resolv.confを上書きするときにDNSをどのように設定しますか?

ディストリビューションを知っていると、正しいディストリビューションを見つけるのに役立ちます。たとえば、これはDebian 10ベースのBunsenlabs Lithium 3では動作しませんが、純粋なDebian 10では役に立ちます。

答え2

~によるとマンページdhcpcd明らかに使用dhcpcd-run-hooks各DHCPイベント(IPアドレスの初期取得、更新、および再構成など)で必要な数のシェルスクリプトを実行します。

これらのフックスクリプトの場所は、/libexec/dhcpcd-hooksシステムのデフォルトフックとカスタムフックのディレクトリとして/etc/dhcpcd.enter-hook提供されていますが、/etc/dhcpcd.exit-hookこの部分はもちろんシステムビルダーによってカスタマイズできます。

カスタムビルドでこれらのスクリプトがどこにあるかを確認して調べて目的を理解し、DNS設定を変更するスクリプトを強化、変更、または完全に置き換えることで、正確に目的の結果を得ることができます。

マニュアルページdhcpcd.confnohook1つ以上のフックスクリプトを無効にするために使用できる設定キーワードもあることを意味します。

あなたの質問と非常に関連性の高い使用例:

nohook script

このフックスクリプトを実行しないでください。フルネームと一致するか、最後に2桁のオプションのプレフィックスが一致します.sh。だからdhcpcdがDNS設定にアクセスできないようにするまたは開始するには、wpa_supplicant次のようにします。

nohook resolv.conf, wpa_supplicant

関連情報