---
title: "解决 Clash Meta 中TUN模式无法上网的问题：正确配置DNS设置"
date: 2023-07-01T16:18:13.000Z
author: Z.SHINCHVEN
tags: [Clash, TUN, DNS]
canonical: https://atlassc.net/2023/07/02/fixing-tun-mode-in-clash-the-essential-dns-configuration-guide
---
## 引言

[自用机场500G](https://justmysocks6.net/members/aff.php?aff=8684&pid=2&language=chinese) | [自用机场1000G](https://justmysocks6.net/members/aff.php?aff=8684&pid=3&language=chinese) | [超便宜的VPS](https://atlassc.net/2024/08/15/racknerd-cn)

相较 Clash，Clash Meta 中加入的 `TUN模式` 是一种先进的网络配置方法，它在操作系统层面创建一个虚拟的网络接口，通过这个接口管理和重定向计算机的所有出站网络流量。无论使用何种应用程序，比如浏览器、IDE 或终端，`TUN模式` 都能确保这些应用的网络活动自动通过代理服务器。

最近魔改了我的配置文件，发现 `TUN模式` 无法正常工作，在终端中收到的错误如下：

```log
$ curl www.google.com
$ curl: (6) Could not resolve host: www.google.com
```

经过排查发现是 DNS 配置的问题。本文将介绍如何正确配置 Clash 的 DNS 设置，以解决 `TUN模式` 无法正常工作的问题。

## 解决方案

1. 请先确保你的 Clash 客户端使用的是 Clash Meta 内核
2. 在 Clash 配置文件中添加 DNS 配置，如下所示：

```yaml
dns:
 enable: true
 listen: :53
 enhanced-mode: redir-host
 nameserver:
   - 114.114.114.114
   - 223.5.5.5
 fallback:
   - 8.8.8.8
```

## 配置解释：

- `enable: true` - 开启 Clash 的 DNS 处理功能。
- `listen: :53` - Clash 监听53端口以接收 DNS 查询。
- `enhanced-mode: redir-host` - 设置 Clash 将 DNS 流量重定向至指定的 nameserver。
- `nameserver` - 列出用于域名解析的主 DNS 服务器。
- `fallback` - 指定备用 DNS 服务器，当主 DNS 服务器无法访问时使用。

在上述配置中，我们使用了 `114.114.114.114` 和 `223.5.5.5` 这两个在中国地区速度快且稳定的DNS服务器。`8.8.8.8` 是谷歌提供的公共 DNS 服务器，作为全球通用的备用 DNS。您可以根据需要选择其他的DNS服务。

完成 DNS 设置后，保存您的配置文件并重启 Clash 以应用新的配置。

## 结语：

DNS 设置是 Clash 的重要配置之一，正确的 DNS 设置可以确保 `TUN模式` 正常工作。如果您的 `TUN模式` 无法正常工作，可以尝试按照本文的方法进行 DNS 设置。
