Failed to restart networking.service: Unit networking.service not found. ubuntu报错
时间: 2025-05-25 18:43:19 浏览: 44
### Ubuntu 系统中 Networking.Service 无法重启及 DNS NXDOMAIN 错误的解决方案
在 Ubuntu 系统中,如果遇到 `Failed to restart networking.service` 提示单元未找到的情况,可能是由于以下几个方面的问题引起。同时,针对 DNS 相关的 NXDOMAIN 错误也需要逐一排查和修复。
#### 1. **Networking Service 单元丢失或禁用**
在较新的 Ubuntu 版本(如 18.04 及以上),传统的 `networking.service` 已经被弃用,取而代之的是更现代化的服务管理方式,比如 Netplan 或 NetworkManager[^1]。因此,在这些版本中直接尝试启动或重启 `networking.service` 将会失败。
#### 替代方法
- 对于使用 Netplan 的系统,可以通过重新应用网络配置文件来实现类似的效果:
```bash
sudo netplan apply
```
- 如果依赖 NetworkManager,则可以重载其服务:
```bash
sudo systemctl reload NetworkManager
```
#### 2. **Netplan 配置错误**
Netplan 是现代 Ubuntu 发行版的主要网络配置工具。如果它的 YAML 配置文件存在语法错误或逻辑问题,可能导致网络功能失效[^2]。
#### 排查步骤
- 检查 `/etc/netplan/*.yaml` 文件是否存在明显的格式错误。
- 使用以下命令验证配置的有效性:
```bash
sudo netplan try
```
- 此外,确保 DHCP 启用状态正确设置为 true/false 并指定静态地址时遵循正确的键值结构。
#### 3. **DNS 配置冲突**
当发生 NXDOMAIN 错误时,通常意味着系统未能成功解析目标域名。这可能源于多个层面的因素,包括但不限于本地 resolver 配置不当、上游 DNS 不可用或是 hosts 文件中的条目缺失等问题[^3]。
#### 调整措施
- 修改 `/etc/systemd/resolved.conf` 来强制设定固定的 DNS 服务器列表:
```ini
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=
Domains=~.
Cache=yes
DNSSEC=no
```
执行完成后记得刷新缓存并重启 resolved 服务:
```bash
sudo systemctl restart systemd-resolved
sudo systemd-resolve --flush-caches
```
- 更新 `/etc/nsswitch.conf` 文件以优先考虑通过 resolve 进行查找操作:
```plaintext
hosts: files resolve [!UNAVAIL=return] dns myhostname
```
#### 4. **Hosts 映射表遗漏**
若频繁访问某些内部资源却遭遇 NXDOMAIN 报错,建议核查 `/etc/hosts` 是否已经加入对应关系记录[^4]。
```plaintext
192.168.x.y example.localdomain
```
#### 5. **FirewallD / UFW 影响**
安全策略限制也有可能间接影响到正常的 DNS 查询行为。适当调整规则允许必要的端口通信可以帮助缓解这一状况[^5]。
```bash
sudo ufw allow out on eth0 to any port 53 proto udp
sudo ufw enable
```
---
###
阅读全文
相关推荐

















