SukkaW / Koolshare-Clash

:cat: Run Clash Tunnel on Koolshare OpenWrt
https://koolclash.js.org
GNU General Public License v3.0
1.33k stars 241 forks source link

[Bug Report]当dnsmasq中设置了缓存条目时的问题 #12

Closed huxim closed 5 years ago

huxim commented 5 years ago

Bug 详情

当在dnsmasq中手动设置了缓存条目后,启动koolshare-clash会导致dnsmasq完全不可用,国内外所有域名都无法解析. 删除缓存设置后恢复正常

你的操作

屏幕截图

snipaste20190324_215233

调试信息

======================== KoolClash 调试工具 ========================
调试信息生成于 Sun Mar 24 2019 21:50:14 GMT+0800 (香港标准时间)
-------------------- Koolshare OpenWrt 基本信息 --------------------
固件版本: Openwrt Koolshare mod V2.30, r10402-51ad900e2c by fw867
路由器 LAN IP:192.168.3.1
------------------------ KoolClash 基本信息 ------------------------
KoolClash 版本:0.12.0
KoolClash 当前状态:Clash 进程正在运行
用户指定 Clash 外部控制 Host:未改动
------------------------ Clash 配置文件信息 ------------------------
Clash 原始配置文件是否存在:true
Clash 运行配置文件是否存在:true
Clash 透明代理端口:23456
Clash 是否允许局域网连接:true
Clash 外部控制监听地址:192.168.3.1:6170
--------------------- Clash 配置文件 DNS 配置 ----------------------
Clash DNS 是否启用:true
Clash DNS 解析 IPv6:false
Clash DNS 增强模式:redir-host
Clash DNS 监听:0.0.0.0:23453
KoolClash 当前 DNS 模式:4
-------------------- KoolClash 自定义 DNS 配置 ---------------------
dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:23453
  enhanced-mode: redir-host
  nameserver:
    - 119.28.28.28
    - 119.29.29.29
    - 223.5.5.5
    - tls://dns.rubyfish.cn:853
  fallback:
    - tls://1.0.0.1:853
    - tls://8.8.4.4:853

------------------------- iptables 条目 ---------------------------
 * iptables mangle 中 Clash 相关条目
 892K  863M koolclash  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           

 * iptables nat 中 Clash 相关条目
15024  890K koolclash  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           

 * iptables mangle 中 koolclash 链

 * iptables nat 中 koolclash 链
  121  6772 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-set koolclash_white dst
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
14903  884K REDIRECT   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            redir ports 23456

===================================================================
SukkaW commented 5 years ago

启用 KoolClash 以后需要让 Clash 接管全部 DNS,所以所有 DNS 解析请求都必须转发经过 Clash;如果在前置的 dnsmasq 上进行缓存将会出现无法解析的情况。

KoolClash 已经在 /tmp/dnsmasq.d/koolclash.d 中设置了 cache-size=0,在 OpenWRT 中的 DHCP/DNS 中添加缓存设置可能会引起冲突。

KoolClash 将会试图实现在启动 KoolClash 时注释 OpenWRT 的 dnsmasq 配置文件中 cache-size 条目,来避免这个问题。

SukkaW commented 5 years ago

0.16.1 版本试图修复了这一问题

SukkaW commented 5 years ago

0.17.0-beta 版本开始不再需要 dnsmasq 进行转发、不再操作 dnsmasq,彻底解决了这一问题。