解决 Clash Meta 中TUN模式无法上网的问题:正确配置DNS设置

Sat Jul 01 2023

引言

自用机场500G | 自用机场1000G | 超便宜的VPS

相较 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.114223.5.5.5 这两个在中国地区速度快且稳定的DNS服务器。8.8.8.8 是谷歌提供的公共 DNS 服务器,作为全球通用的备用 DNS。您可以根据需要选择其他的DNS服务。

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

结语:

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