web-dev-qa-db-ja.com

ロード時に/etc/resolv.confを並べ替える方法

DHCP経由でアップストリームDNSサーバーを取得するCentOSシステムがあります。

このボックスでDNSMasqを実行し、それをサーバーとして使用して、開発用のいくつかのホスト名を解決したいと思います。

問題は、システムが起動すると、アップストリームDNSサーバーが/etc/resolv.confにロードされ、次にifcfg-enp0s3セットアップからのDNS1エントリがロードされることです。これは問題です。内部開発者名を照会すると、最初にDNSMasqをチェックするのではなく、アップストリームDNSサーバーに送信しようとするためです。 DNSMasqが正しく機能するように、DNSMasqサーバーを/etc/resolv.confの上部に配置し、dhcpをロードしてresolv.confの下部に配置する必要があります。

それを行う簡単な方法はありますか?

2
alfreema

はい、それを行う簡単な方法があります。 /etc/dhcp/dhclient.confに行を追加します。以下の例では、DNSサーバー1.2.3.4をリゾルバーリストの前に追加します。

prepend domain-name-servers 1.2.3.4 ;

付加ステートメント

prepend [オプション宣言];

一部のオプションセットで、クライアントが指定した値を使用し、サーバーから提供された値を使用する必要がある場合は、これらの値をprependステートメントで定義できます。 prependステートメントは、複数の値を指定できるオプションにのみ使用できます。この制限は強制されません。無視すると、動作は予測できなくなります。

dhclientのマニュアルページ を参照してください。

3
steve