如何在Linux实例中自定义配置DNS
Ubuntu 18/20
目前常见的发行版大多使用的是NetworkManager服务进行网络管理,但是从Ubuntu 18系统开始网络服务类型为systemd-networkd,以下是在Ubuntu 18、Ubuntu 20系统中自定义配置DNS的操作步骤:
说明:以下操作涉及配置文件内容的修改,修改文件之前,请先进行备份。
执行以下命令,编辑/etc/cloud/cloud.cfg配置文件。
vim /etc/cloud/cloud.cfg
按i键切换至编辑模式,在# Example datasource config内容上增加以下配置,关闭cloud-init中的自动配置网络的参数,避免网卡配置文件内容被覆盖。
network:
config: disabled
系统显示类似如下。
Dingtalk_20201029153704.jpg
修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。
执行以下命令,编辑/etc/netplan/50-cloud-init.yaml配置文件。
vim /etc/netplan/50-cloud-init.yaml
按i键切换至编辑模式,在文件底部添加以下配置,自定义配置DNS信息。
nameservers:
addresses:[$DNS1, $DNS2]
修改之后的内容如下所示。
network:
version: 2
ethernets:
eth0:
dhcp4: true
match:
macaddress: 00:16:3e:13:42:71
set-name: eth0
nameservers:
addresses: [$DNS1, $DNS2]
说明:
eth0:配置的网卡名称,本文以eth0网卡为例,现场以实际环境为准。
dhcp4:ECS实例的网络配置默认为DHCP模式。
match:配置的MAC地址,本文以00:16:3e:13:42:71为例,现场以实际环境为准。
nameservers:自定义配置的DNS信息,请按照实际情况填写您自定义的DNS IP地址。
修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。
执行以下命令,应用网卡配置。
netplan apply
执行以下命令,建立/run/systemd/resolve/resolv.conf文件的软连接,避免因为/etc/resolv.conf配置文件内容更新而导致配置还原。
sudo ln -snf /run/systemd/resolve/resolv.conf /etc/resolv.conf
https://help.aliyun.com/document_detail/188420.html#kEWPS
问题描述
Ubuntu系统的ECS实例修改resolv.conf文件后,由于重启系统,自动还原之前的DNS配置信息。
问题原因
Ubuntu系统中的/etc/resolv.conf文件是一个软连接(Link),它指向的是/run/resolvconf/resolv.conf文件。
解决方案
如果需求重启不会自动还原,需要修改/run/resolvconf/resolv.conf文件。执行vi /run/resolvconf/resolv.conf命令,修改DNS配置,然后保存并退出即可。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
options timeout:1 attempts:1 rotate
nameserver 223.5.5.5
nameserver 223.6.6.6
Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 16:08:17,Processed in 0.01124 second(s).