Ubuntu 18.04 dns掉配置的问题解决

文章讲述了在AI4Green服务器重启后DNS配置丢失的问题,作者首先尝试了修复/etc/resolv.conf但未果。最终通过编辑NetworkManager.conf并设置默认DNS,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一台AI4Green的服务器,重启后发现DNS配置丢失,虽然服务还是能照常提供,但是存在隐患,需要解决该问题。

通过百度搜索,发现问题原因是:重启后/etc/resolv.conf文件被重写成127.0.0.53

使用第一种方法(未成功)

解决方法是:重新配置好resolv.conf文件,并关闭systemd-resolved

执行:

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

但是提示:

Unit /etc/systemd/system/systemd-resolved.service is masked, ignoring.

于是将其unmask

sudo systemctl unmask systemd-resolved

然后再disable:sudo systemctl disable systemd-resolved,成功!

然后修改/etc/resolv.conf文件:

$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8

重启后

问题照旧

使用第二种方法

编辑文件

sudo vi /etc/NetworkManager/NetworkManager.conf

在main部分加上一句dns=default:

变成这样

[main]
plugins=ifupdown,keyfile
dns=default

再重启,问题搞定!

### 如何在 Ubuntu 18.04 服务器中设置 DNS 配置Ubuntu 18.04 中,DNS配置方式取决于所使用的网络管理工具。以下是几种常见的方法来实现静态 DNS 设置。 #### 方法一:通过 Netplan 进行配置 Netplan 是 Ubuntu 18.04 默认的网络配置工具。可以通过编辑 `/etc/netplan/*.yaml` 文件来进行 DNS 和其他网络参数的配置。 1. 打开并编辑 `netplan` 配置文件: ```bash sudo nano /etc/netplan/01-netcfg.yaml ``` 2. 修改内容如下(假设网卡名称为 `ens36` 并使用指定的 DNS 地址): ```yaml network: version: 2 ethernets: ens36: addresses: - 192.168.0.223/24 gateway4: 192.168.0.1 dhcp4: no nameservers: addresses: - 10.1.11.155 - 8.8.8.8 ``` 3. 应用更改: ```bash sudo netplan apply ``` 此方法适用于大多数基于 Netplan 的系统,并能确保 DNS 配置持久化[^4]。 --- #### 方法二:直接修改 `/etc/resolv.conf` 虽然可以直接编辑 `/etc/resolv.conf` 来临时设置 DNS,但由于该文件可能由系统动态生成,在某些情况下会覆盖用户的自定义设置。 如果需要强制修改 `/etc/resolv.conf`,可以执行以下操作: 1. 编辑 `/etc/cloud/cloud.cfg` 或 `/etc/systemd/resolved.conf` 文件以禁用自动更新功能。 2. 创建一个新的 `/etc/resolv.conf` 文件: ```bash echo "nameserver 10.1.11.155" | sudo tee /etc/resolv.conf ``` 注意:这种方法可能会因系统的不同行为而导致不一致的结果[^3]。 --- #### 方法三:利用 systemd-resolved 服务 Ubuntu 18.04 使用 `systemd-resolved` 提供本地 DNS 解析缓存支持。可以通过调整其配置文件完成 DNS 定制。 1. 编辑 `/etc/systemd/resolved.conf` 文件: ```bash sudo nano /etc/systemd/resolved.conf ``` 2. 添加或修改以下字段: ``` [Resolve] DNS=10.1.11.155 FallbackDNS=8.8.8.8 Domains=~www.test.com ``` 3. 启动或重新加载 `systemd-resolved` 服务: ```bash sudo systemctl restart systemd-resolved.service ``` 此时,可通过查看 `/run/systemd/resolve/stub-resolv.conf` 文件确认新的 DNS 是否生效[^1]。 --- #### 测试 DNS 配置 无论采用哪种方法,都需要验证新配置是否正常工作。可使用以下命令测试: ```bash nslookup www.test.com dig @10.1.11.155 www.test.com ping www.test.com ``` 以上步骤能够帮助用户成功配置静态 DNS[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值