resolv.confは6フィールド、合計256文字に制限されています。

resolv.confは6フィールド、合計256文字に制限されています。

私は別のドメインを持つ別のコンピュータに「ジャンプ」するために使用するコンピュータ(Debian jessie)を持っています。実際には多くのドメインがあります。

ご存知のように、ホスト名man resolv.conf検索の検索リストには最大6つのドメインまたは256文字を含めることができます。

ドメイン名のルックアップを増やす方法は?

よろしくお願いします。

答え1

この質問は1990年代から引き続き提起されてきました。それでも同じ答えです。

RedHatのJakub Jelinekが10年前に述べたように、この制限はGNU libcに含まれるBIND DNSクライアントライブラリに組み込まれています。実行時に構成できず、オペレーティングシステムの発行者が変更する可能性はありません。これは、GNU libcのこの部分を使用する一部のサードパーティプログラムとのバイナリ互換性が損なわれる可能性があるためです。

もちろん、能力があればいつでもパラメータを変更し、GNU libcとそれを使用するすべてのプログラムをソースから再コンパイルできます。ただし、これを達成するには多くの作業が必要です。

SSHペスカド
DNS名前空間ツリーで6つ以上の場所を調べて、名前がコンピュータであるコンピュータを見つけますpescado。 ☺

追加読書

答え2

~からマニュアルページresolv.confの場合

glibc 2.25以下では、検索リストは6フィールド、合計256文字に制限されていました。 glibc 2.26以降、検索リストは無制限です。

したがって、glibcをアップグレードするとこの問題は解決されます。 ~のためディアニスバスターとその後、そしてウルバトゥス17.10以降では、glibcのパッケージバージョンは2.26以上なので、更新するだけですapt。必要に応じて手動でアップグレードできます。

RHEL8glibc バージョン 2.28 に基づいているため、更新は不要です。無謀RHEL7以下の場合)。すべてリリース時計、Fedora 27はglibc 2.26を実装した最初の製品です。

答え3

検索ドメインの数を増やすことはできません。

ただし、次のことができます。

  1. /etc/hostsIPアドレス、フルホスト名、および短いエイリアスを含むエントリを追加します。注:ホストのIPアドレスが変更された場合はエントリを更新する必要があるため、/etc/hostsこれはa)DNSの目的を崩し、b)中長期的に迷惑な「解決策」になる可能性があります。

  2. 「別のマシンにジャンプ」を意味する場合は、sshファイルにホスト定義を追加できます~/.ssh/config。その後、設定で指定した完全修飾ドメイン名または短い名前を使用して、これらのホストにSSHを介して接続できます。

例えば

Host foo
   Hostname foo.example.com
   User cas

ssh fooリモートユーザー名を使用してfoo.example.comにsshを接続しようとしています。

答え4

resolv.confのマニュアルによると、ドメインエントリの最大制限は実際には6です。

6つ以上のドメイン名を使用するには、dnsmasqなどのローカルキャッシュネームサーバーを使用できます。

これを行う方法のステップバイステップガイドは次のとおりです。

 https://wiki.archlinux.org/index.php/Dnsmasq

関連情報