以 Amazon EC2 Fedora 23 实例为例。
/etc/resolv.conf
确定 glibc 解析器如何执行 DNS 查找的文件(请参阅man resolv
)如下所示:
; generated by /usr/sbin/dhclient-script
search eu-west-1.compute.internal club
nameserver 172.31.0.2
- 该
nameserver 172.31.0.2
行指向我的私有虚拟本地网络上的 EC2 提供的“DNS 缓存”,这很好。 - 此
search
行很麻烦,因为它指示解析器尝试解析X.eu-west-1.compute.internal
,而X.club
当它被要求解析时X
。eu-west-1.compute.internal
域来自这样一个事实,即这是内部使用的主机名的后缀:在该域中查找任何内容都是毫无意义的。域来自这样一个事实,club
即这是外部使用的主机名的后缀:在该域中查找任何内容都是毫无意义的,并且可能存在安全问题。
所以我想去掉这search
条线。
要优雅地做到这一点显然要求我告诉/usr/sbin/dhclient-script
(参见man dhclient-script
)首先不要进行设置。
查看上述脚本表明我可能会修改它并注释掉 bash 函数eventually_add_hostnames_domain_to_search
或对它的调用,但是有没有更好的方法(某个地方的某些配置选项)?
答案1
您可以PEERDNS=no
在相关/etc/syscofig/network-scripts/ifcfg-*
文件中进行设置,以阻止 dhclient 更改 /etc/resolv.conf。
完成后,您可以根据需要配置 /etc/resolv.conf。