内容提要
在Amazon EC2实例中,/etc/resolv.conf文件的DNS配置在重启后会丢失。要永久保留自定义DNS,可以编辑/etc/dhcp/dhclient.conf文件或每个接口的ifcfg-*配置文件,确保PEERDNS参数设置为yes,并在重启后验证DNS服务器配置。
关键要点
-
在Amazon EC2实例中,/etc/resolv.conf文件的DNS配置在重启后会丢失。
-
要永久保留自定义DNS,可以编辑/etc/dhcp/dhclient.conf文件或每个接口的ifcfg-*配置文件。
-
确保PEERDNS参数设置为yes,以避免忽略自定义DNS服务器。
-
选项1:编辑或创建/etc/dhcp/dhclient.conf文件,添加supersede命令以覆盖DNS服务器。
-
选项2:在每个接口的ifcfg-*配置文件中指定自定义DNS服务器。
-
对于Ubuntu 18.04,使用netplan配置DNS,创建99-custom-dns.yaml文件并指定DNS服务器。
-
在RHEL 7.5中,阻止NetworkManager管理resolv.conf文件,以便手动填充DNS配置。
延伸问答
如何在Amazon EC2实例中永久修改DNS配置?
可以通过编辑/etc/dhcp/dhclient.conf文件或每个接口的ifcfg-*配置文件来永久修改DNS配置,确保PEERDNS参数设置为yes。
在Amazon EC2中,为什么/etc/resolv.conf文件的DNS配置会丢失?
因为Amazon EC2实例在重启时使用DHCP请求DNS服务器地址,手动修改的配置会被覆盖。
如何在Ubuntu 18.04上配置自定义DNS?
在Ubuntu 18.04上,可以创建99-custom-dns.yaml文件,指定DNS服务器IP地址,并重启实例以应用更改。
在RHEL 7.5中,如何阻止NetworkManager管理resolv.conf文件?
可以创建/etc/NetworkManager/conf.d/disable-resolve.conf-managing.conf文件,设置dns=none,然后重启实例。
在Amazon EC2中,如何使用supersede命令覆盖DNS服务器?
在/etc/dhcp/dhclient.conf文件中添加supersede命令,格式为supersede domain-name-servers xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx;
修改DNS配置前需要注意什么?
在修改DNS配置之前,建议使用AMI或EBS快照创建备份,以防止实例无法访问。