Dns

resolv.conf 限制為六個域,總共 256 個字元

  • June 19, 2020

我有一台機器(Debian jessie)用來“跳轉”到另一台機器,具有不同的域….實際上有很多域。

正如man resolv.conf告訴我們的,主機名查找的搜尋列表限制為最多 6 個域或 256 個字元。

如何增加域查找的數量?

提前致謝。

從resolv.conf的手冊頁

在 glibc 2.25 及更早版本中,搜尋列表被限制為六個域,總共 256 個字元。從 glibc 2.26 開始,搜尋列表是無限的。

因此,升級 glibc 應該可以解決這個問題。對於Debians Buster 及更高版本,以及Ubuntus 17.10 及更高版本,glibc 的軟體包版本為 2.26 或更高版本,並且只需要apt更新。如有必要,可以手動升級,否則。

RHEL8基於 glibc 2.28 版,因此不需要更新;(並且對於 RHEL7 及更早版本不合理)。根據distrowatch,Fedora 27 是第一個實現 glibc 2.26 的。

自 1990 年代以來,這個問題一直被問到。還是一樣的答案。

正如 RedHat 的 Jakub Jelinek 10 年前所說,這個限制被硬連線到包含在 GNU libc 中的 BIND DNS 客戶端庫中。它在執行時不可配置,並且作業系統發行商不太可能更改它,因為這會破壞與使用這部分 GNU libc 的某些第三方程序的二進制兼容性。

當然,如果有能力,可以隨時更改參數,並從原始碼重新編譯 GNU libc 和所有使用它的程序。然而,這需要做很多工作

ssh 魚

在 DNS 命名空間樹中查找超過 6 個位置以找到名為pescado. ☺

進一步閱讀

引用自:https://unix.stackexchange.com/questions/245849