CentOS 5.5 EC2 实例重启后 resolv.conf

CentOS 5.5 EC2 实例重启后 resolv.conf

我无法让我的 CentOS 5.5 EC2 实例(i386 和 x86_64)在启动后正确填充 resolv.conf。无论我做什么,我最终都会得到默认的 EC2 resolv.conf:

; generated by /sbin/dhclient-script
search compute-1.internal
nameserver 172.16.0.23

我真正想要做的是设置自己的搜索域并添加两个名称服务器。首先,我尝试添加/etc/dhclient.conf

prepend domain-name "mydomain.ec2 "
prepend domain-name-server 1.2.3.4
prepend domain-name-server 1.2.3.5

这没用。所以我还尝试放置dhclient.conf归档/etc/dhcp//etc/dhcp3。都没有用。所以我还尝试创建/etc/dhclient-输入-hooks并重写 _make_resolv_conf()_ 方法以防止 dhclient-script 覆盖 resolv.conf:

make_resolv_conf() {
 ;
}

这也没有影响。

我想到的唯一解决方案是添加一个额外的 init 脚本来重写 resolv.conf。这可行,但我真的想以“正确”的方式做到这一点。我做错了什么?

答案1

尝试添加:

PEERDNS=no

到您的 /etc/sysconfig/network-scripts/ifcfg-eth0 (或同等文件)

如果这不起作用,你可以使用 chattr hack:

chattr +i /etc/resolv.conf

答案2

考虑到这个问题的年限,我假设你找到了答案;但对于那些发现这个问题并寻求帮助的人来说:如果这是在 VPC 内部,你需要进入 VPC 控制台并访问 dhcp-options-sets(https://console.aws.amazon.com/vpc/home#s=dhcp-options-sets) 并创建一个新的 dhcp 选项集。记下新选项集的 amazon id (dopt-XXXXXXXX)

接下来,转到“您的 VPC”(https://console.aws.amazon.com/vpc/home#s=vpcs),点击顶部附近的“更改 DHCP 选项集”,然后选择新选项集的 amazon ID。

这可能会有帮助: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html

答案3

答案4

这是一个非常简单的修复方法。将 /etc/sysconfig/network-scripts 设置为:PEERDNS="no" DNS1=8.8.8.8 DNS2=8.8.4.4

这将阻止 EC2 dns 插入 resolv.conf。

相关内容