我需要在“/etc/resolv.conf”中配置超过 3 个 DNS 服务器。据 man 说,它不受支持,所以我必须重新编译 glibc
最多可以列出 MAXNS 个(当前 3 个)名称服务器,每行一个。如果有多个服务器,
则解析器库会按列出的顺序查询它们。如果不存在名称服务器条目,则默认使用本地计算机上的名称服务器。(使用的算法是尝试一个名称服务器,如果查询超时,则尝试下一个,直到名称服务器用完,然后重复尝试所有名称服务器,直到执行最大次数的重试。)
我更改了常量MAXNS
并resolv/bits/types/res_state.h
编译如下:
mkdir glibc-build
cd glibc-build
../glibc-(version of glibc)/configure --prefix=/usr/local/lib/glibc-testing --with-tls --enable-add-ons=nptl
make
make install
我尝试 ping 一些站点,并在 Wireshark 的帮助下尝试查看它正在处理哪些服务器。服务器仍然寻址前三个地址。
我还看到文件/usr/include/x86_64-linux-gnu/bits/types/res_state.h
没有改变。
问题是什么?