DD(重装自定义镜像)过的系统,经常会遇到 /etc/netplan 不存在、VPS 控制面板显示信息不准确的情况。这是因为控制面板无法读取你当前系统的配置。
但是,机房的网络架构并没有变。 无论你怎么 DD 系统,机房通过 DHCP 广播给你的 DNS 服务器地址是固定不变的。
要找回默认 DNS,最准确的方法是查看系统连接网络时生成的 DHCP 租约记录 (Lease File)。
方法一:查看 DHCP 租约文件(最推荐)
系统启动并联网时,DHCP 客户端会从机房接收一个数据包,里面包含 IP、网关和 DNS。这个信息会保存在本地。
Debian/Ubuntu/CentOS 系
grep "domain-name-servers" /var/lib/dhcp/dhclient.leases如果文件不存在,尝试通配符:
grep "domain-name-servers" /var/lib/dhcp/dhclient*.leases正常输出示例:
option domain-name-servers 46.38.225.230, 46.38.252.230;这就是机房分配给你的默认 DNS。
方法二:询问 systemd-resolved
如果你的系统比较新(Debian 10+、Ubuntu 20+),通常使用 systemd-resolved:
resolvectl status旧版本使用:
systemd-resolve --status在输出中找到你的网卡(通常是 eth0 或 ens3),DNS Servers 一栏就是默认 DNS。
输出示例:
Link 2 (eth0) Current Scopes: DNS LLMNR setting: yesMulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no DNS Servers: 46.38.225.230 46.38.252.230方法三:查询机房官方文档
如果系统太精简(比如 Alpine)找不到日志,可以查阅机房的官方文档。
以 Netcup 为例,其 DNS 是全机房通用的,不针对个人分配:
- DNS 1:
46.38.225.230 - DNS 2:
46.38.252.230
这是 Netcup 的内网 DNS 缓存服务器。只要 VPS 在 Netcup 机房,这两个 IP 就是物理距离最近、解析最快的默认 DNS。
恢复默认 DNS 配置
找到 DNS 后,直接编辑 /etc/resolv.conf:
sudo nano /etc/resolv.conf填入以下内容:
nameserver 46.38.225.230nameserver 46.38.252.230保存退出即可。
⚠️ 注意:某些系统(如使用
systemd-resolved或NetworkManager)会自动覆盖/etc/resolv.conf。如需持久化,请配置对应的网络管理工具。
总结
| 方法 | 适用场景 |
|---|---|
| DHCP 租约文件 | 最通用,适合传统 DHCP 客户端 |
| resolvectl | 现代 systemd 系统 |
| 机房官方文档 | 精简系统或终极确认 |
DNS 配置被改乱不可怕,只要机房的 DHCP 服务还在运行,你随时可以从租约记录中找回原始配置。